51#define SHV_CHANGE_NOTIFY WM_USER + 0x1111
55#define CONTEXT_MENU_BASE_ID 1
60 UINT cmf = CMF_NORMAL;
62 cmf |= CMF_EXTENDEDVERBS;
63 if (sfgao & SFGAO_CANRENAME)
112 public CWindowImpl<CDefView, CWindow, CControlWinTraits>,
116 public IShellFolderView,
315 DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet)
override;
421#define IDM_VIEW_FILES (FCIDM_SHVIEWFIRST + 0x500)
422#define IDM_VIEW_IDW (FCIDM_SHVIEWFIRST + 0x501)
423#define IDM_MYFILEITEM (FCIDM_SHVIEWFIRST + 0x502)
428#define GET_WM_COMMAND_ID(wp, lp) LOWORD(wp)
429#define GET_WM_COMMAND_HWND(wp, lp) (HWND)(lp)
430#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)
469 TRACE(
" destroying IShellView(%p)\n",
this);
503 TRACE(
"ICommDlgBrowser::IncludeObject pidl=%p\n", pidl);
517 TRACE(
"ICommDlgBrowser::OnDefaultCommand\n");
531 TRACE(
"ICommDlgBrowser::OnStateChange flags=%x\n",
uFlags);
590 DWORD uTotalFileSize = 0;
594 bool bIsOnlyFoldersSelected =
true;
610 bIsOnlyFoldersSelected =
false;
616 if ((cSelectedItems && !bIsOnlyFoldersSelected) || uTotalFileSize)
646 DWORD dwStyle, dwExStyle, ListExStyle;
719 ListExStyle |= LVS_EX_HEADERINALLVIEWS;
723 dwExStyle &= ~WS_EX_CLIENTEDGE;
725 RECT rcListView = {0,0,0,0};
747 DWORD cbDropShadow =
sizeof(bDropShadow);
757 L"ListviewShadow",
NULL, &bDropShadow, &cbDropShadow);
812 for (
int i = 0; 1;
i++)
826 FIXME(
"no m_pSF2Parent\n");
921 for (
int i = 0;
i<cItems;
i++)
934 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
956 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
972 TRACE(
"(%p)(pidlold=%p pidlnew=%p)\n",
this, pidlOld, pidlNew);
981 lvItem.
iItem = nItem;
989 lvItem.
iItem = nItem;
1011 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
1020 lvItem.
iItem = nItem;
1055 DWORD dFlags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS;
1056 DWORD dwValue, cbValue;
1058 TRACE(
"%p\n",
this);
1062 cbValue =
sizeof(dwValue);
1064 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
1065 L"Hidden",
NULL, &dwValue, &cbValue);
1068 dFlags |= SHCONTF_INCLUDEHIDDEN;
1073 cbValue =
sizeof(dwValue);
1075 L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
1076 L"ShowSuperHidden",
NULL, &dwValue, &cbValue);
1079 dFlags |= SHCONTF_INCLUDESUPERHIDDEN;
1098 while((
S_OK == pEnumIDList->Next(1, &pidl, &dwFetched)) && dwFetched)
1118 FIXME(
"no m_pSF2Parent\n");
1272 TRACE(
"%p\n",
this);
1277 ERR(
"Error Registering DragDrop\n");
1515 TRACE(
"-- selected Item found\n");
1523 CMINVOKECOMMANDINFOEX cmi;
1526 cmi.cbSize =
sizeof(cmi);
1528 cmi.lpVerb = lpVerb;
1531 cmi.fMask |= CMIC_MASK_SHIFT_DOWN;
1534 cmi.fMask |= CMIC_MASK_CONTROL_DOWN;
1538 cmi.fMask |= CMIC_MASK_PTINVOKE;
1542 HRESULT hr = pCM->InvokeCommand((LPCMINVOKECOMMANDINFO)&cmi);
1564 if (hResult ==
S_OK)
1583 if (uCommand == (
UINT)-1)
1585 ERR(
"GetMenuDefaultItem returned -1\n");
1600 TRACE(
"(%p)\n",
this);
1604 ERR(
"HACK: Aborting context menu in nested call\n");
1626 SelectItem(hittest.iItem, SVSI_SELECT | SVSI_DESELECTOTHERS | SVSI_ENSUREVISIBLE);
1717 SFGAOF rfg = SFGAO_BROWSABLE | SFGAO_CANCOPY | SFGAO_CANLINK | SFGAO_CANMOVE | SFGAO_CANDELETE | SFGAO_CANRENAME | SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM | SFGAO_FOLDER;
1743 WORD wWidth, wHeight;
1748 TRACE(
"%p width=%u height=%u\n",
this, wWidth, wHeight);
1768 TRACE(
"%p\n",
this);
1779 TRACE(
"%p uState=%x\n",
this, uState);
1816 SFGAOF rfg = SFGAO_CANCOPY | SFGAO_CANMOVE | SFGAO_FILESYSTEM;
1821 if (!bCopy && !(rfg & SFGAO_CANMOVE))
1823 if (bCopy && !(rfg & SFGAO_CANCOPY))
1842 TRACE(
"%p\n",
this);
1862 TRACE(
"(%p) stub\n",
this);
1883 TRACE(
"(%p)->(0x%08x 0x%08x %p) stub\n",
this, dwCmdID, dwCmd, hwndCmd);
1936 for (
int i=0;
i < nCount;
i++)
1980 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer",
1985 cbValue =
sizeof(dwValue);
2006 TRACE(
"%p CtlID=%u lpnmh->code=%x\n",
this, CtlID, lpnmh->
code);
2008 switch (lpnmh->
code)
2011 TRACE(
"-- NM_SETFOCUS %p\n",
this);
2015 TRACE(
"-- NM_KILLFOCUS %p\n",
this);
2021 TRACE(
"-- NM_CUSTOMDRAW %p\n",
this);
2024 TRACE(
"-- NM_RELEASEDCAPTURE %p\n",
this);
2027 TRACE(
"-- NM_CLICK %p\n",
this);
2030 TRACE(
"-- NM_RCLICK %p\n",
this);
2033 TRACE(
"-- NM_DBLCLK %p\n",
this);
2037 TRACE(
"-- NM_RETURN %p\n",
this);
2041 TRACE(
"-- HDN_ENDTRACKW %p\n",
this);
2046 TRACE(
"-- LVN_DELETEITEM %p\n",
this);
2051 TRACE(
"-- LVN_DELETEALLITEMS %p\n",
this);
2054 TRACE(
"-- LVN_INSERTITEM (STUB)%p\n",
this);
2057 TRACE(
"-- LVN_ITEMACTIVATE %p\n",
this);
2070 TRACE(
"-- LVN_GETDISPINFO %p\n",
this);
2096 FIXME(
"no m_pSF2Parent\n");
2105 ULONG attributes = SFGAO_HIDDEN;
2108 if (attributes & SFGAO_HIDDEN)
2115 TRACE(
"-- LVN_ITEMCHANGED %p\n",
this);
2122 TRACE(
"-- LVN_BEGINDRAG\n");
2134 dwEffect |=
dwAttributes & (SFGAO_CANCOPY | SFGAO_CANLINK);
2138 piaso->SetAsyncMode(
TRUE);
2162 DWORD dwAttr = SFGAO_CANRENAME;
2165 TRACE(
"-- LVN_BEGINLABELEDITW %p\n",
this);
2168 if (SFGAO_CANRENAME & dwAttr)
2174 if (!(dwAttr & SFGAO_FOLDER) && (dwAttr & SFGAO_FILESYSTEM) &&
2199 TRACE(
"-- LVN_ENDLABELEDITW %p\n",
this);
2227 TRACE(
"-- %p WM_COMMAND %x unhandled\n",
this, lpnmh->
code);
2240 if (!pidl1 || !pidl2)
2294 ERR(
"hLock == NULL\n");
2301 TRACE(
"(%p)(%p,%p,0x%08x)\n",
this, Pidls[0], Pidls[1],
lParam);
2303 lEvent &= ~SHCNE_INTERRUPT;
2325 if (bParent0 && bParent1)
2353 ERR(
"no context menu\n");
2443 TRACE(
"(%p)\n",
this);
2452 FIXME(
"(%p) stub\n",
this);
2476 FIXME(
"(%p)\n",
this);
2482 TRACE(
"(%p)->(state=%x)\n",
this, uState);
2505 TRACE(
"(%p)\n",
this);
2523 TRACE(
"(%p)\n",
this);
2571 TRACE(
"(%p)->(%p) vmode=%x flags=%x\n",
this, lpfs,
2583 FIXME(
"(%p) stub\n",
this);
2590 FIXME(
"(%p) stub\n",
this);
2599 TRACE(
"(%p)->(pidl=%p, 0x%08x) stub\n",
this, pidl,
uFlags);
2603 ERR(
"!m_ListView\n");
2619 if (
uFlags & SVSI_SELECT)
2622 lvItem.
state &= ~LVIS_SELECTED;
2624 if (
uFlags & SVSI_FOCUSED)
2627 lvItem.
state &= ~LVIS_FOCUSED;
2631 if (
uFlags & SVSI_DESELECTOTHERS)
2633 lvItem.
state &= ~LVIS_SELECTED;
2635 lvItem.
state &= ~LVIS_FOCUSED;
2642 if (
uFlags & SVSI_ENSUREVISIBLE)
2645 if((
uFlags & SVSI_EDIT) == SVSI_EDIT)
2696 TRACE(
"-- (%p)->(interface=%p)\n",
this, *ppvOut);
2703 TRACE(
"(%p)->(%p), stub\n",
this, pViewMode);
2715 TRACE(
"(%p)->(%u), stub\n",
this, ViewMode);
2741 FIXME(
"ViewMode %d not implemented\n", ViewMode);
2796 TRACE(
"(%p)->(%p)\n",
this, piItem);
2805 TRACE(
"(%p)->(%p)\n",
this, piItem);
2816 ERR(
"!m_ListView\n");
2821 if (lvIndex == -1 || ppt ==
NULL)
2830 TRACE(
"(%p)->(%p)\n",
this, ppt);
2834 ERR(
"!m_ListView\n");
2843 ppt->
x = spacing.
cx;
2844 ppt->
y = spacing.
cy;
2875 if (
dwFlags & SVSI_ENSUREVISIBLE)
2879 if (
dwFlags & SVSI_DESELECTOTHERS)
2891 if ((
dwFlags & SVSI_EDIT) == SVSI_EDIT)
2936 OLEMENUGROUPWIDTHS omw = { { 0, 0, 0, 0, 0, 0 } };
2940 TRACE(
"(%p)->(shlview=%p shlbrs=%p rec=%p hwnd=%p vmode=%x flags=%x)\n",
this, psvPrevious, psb, prcView,
hwnd,
mode,
flags);
2941 if (prcView !=
NULL)
2942 TRACE(
"-- left=%i top=%i right=%i bottom=%i\n", prcView->
left, prcView->
top, prcView->
right, prcView->
bottom);
2949 FIXME(
"unsupported view flags 0x%08x\n", view_flags);
2960 else if (
IsEqualIID(*view_id, VID_SmallIcons))
2966 else if (
IsEqualIID(*view_id, VID_Thumbnails))
2970 else if (
IsEqualIID(*view_id, VID_ThumbStrip))
2983 TRACE(
"-- CommDlgBrowser\n");
2986 RECT rcView = *prcView;
3007 TRACE(
"-- after fnInsertMenusSB\n");
3017 FIXME(
"(%p)->(%p) stub\n",
this, new_pidl);
3031 FIXME(
"(%p)->(%ld) stub\n",
this,
sort);
3056 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
3059 ERR(
"!m_ListView\n");
3068 TRACE(
"(%p)->(%p %d)\n",
this, pidl,
item);
3074 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
3078 ERR(
"!m_ListView\n");
3111 FIXME(
"(%p)->(%p %p %p) stub\n",
this, pidl_old, pidl_new,
item);
3117 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
item);
3178 FIXME(
"(%p)->(%p) stub\n",
this,
pt);
3190 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
pt);
3196 FIXME(
"(%p)->(%p) stub\n",
this, drop_target);
3202 FIXME(
"(%p)->(%d) stub\n",
this, move);
3208 FIXME(
"(%p)->(%p) stub\n",
this,
obj);
3214 FIXME(
"(%p)->(%p) stub\n",
this, spacing);
3235 TRACE(
"(%p)->(%p)\n",
this, support);
3241 FIXME(
"(%p)->(%p) stub\n",
this, disp);
3247 FIXME(
"(%p)->(%p(%s) 0x%08x %p %p\n",
3248 this, pguidCmdGroup,
debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText);
3253 for (
UINT i = 0;
i < cCmds;
i++)
3255 FIXME(
"\tprgCmds[%d].cmdID = %d\n",
i, prgCmds[
i].cmdID);
3256 prgCmds[
i].
cmdf = 0;
3259 return OLECMDERR_E_UNKNOWNGROUP;
3268 FIXME(
"(%p)->(\n\tTarget GUID:%s Command:0x%08x Opt:0x%08x %p %p)\n",
3269 this,
debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut);
3272 return OLECMDERR_E_UNKNOWNGROUP;
3279 return OLECMDERR_E_NOTSUPPORTED;
3299 V_I4(pvaOut) = 0x403;
3303 if (
IsEqualIID(*pguidCmdGroup, CGID_Explorer) &&
3305 (nCmdexecopt == 4) && pvaOut)
3308 if (
IsEqualIID(*pguidCmdGroup, CGID_ShellDocView) &&
3313 return OLECMDERR_E_UNKNOWNGROUP;
3327#define SCROLLAREAWIDTH 20
3506 for (
i = 0;
i < nCount; ++
i)
3519 for (
i = nCount - 1;
i >= 0; --
i)
3531 for (
i = 0;
i < nCount; ++
i)
3548 for (
i = nCount - 1;
i >= 0; --
i)
3567 int nPartArray[] = {-1};
3572 int nFileSizePartLength = 125;
3573 const int nLocationPartLength = 150;
3574 const int nRightPartsLength = nFileSizePartLength + nLocationPartLength;
3575 int nObjectsPartLength = nWidth - nRightPartsLength;
3579 if (nObjectsPartLength <= nLocationPartLength)
3580 nObjectsPartLength = nFileSizePartLength = nWidth / 3;
3582 int nPartArray[] = {nObjectsPartLength, nObjectsPartLength + nFileSizePartLength, -1};
3607 INT i1 =
pmap->Lookup(lParam1), i2 =
pmap->Lookup(lParam2);
3623 for (
INT i = 0;
i < nCount; ++
i)
3632 INT iFrom = iItem, iTo = iPosition;
3635 if (iFrom >= nCount)
3643 for (
INT i = iFrom;
i < iTo; ++
i)
3653 for (
INT i = iFrom;
i > iTo; --
i)
3665 for (
INT i = 0;
i < nCount; ++
i)
3729 TRACE(
"(%p)\n",
this);
3741 TRACE(
"(%p)\n",
this);
3748 FIXME(
"Stub: this=%p\n",
this);
3754 FIXME(
"Stub: this=%p\n",
this);
3760 FIXME(
"Stub: this=%p\n",
this);
3766 FIXME(
"Stub: this=%p\n",
this);
3772 FIXME(
"partial stub: %p 0x%08x 0x%08x %p\n",
this, aspects, advf, pAdvSink);
3784 TRACE(
"this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n",
this, pAspects, pAdvf, ppAdvSink);
3852 return ShellObjectCreatorInit<CDefView>(pFolder,
riid, ppvOut);
3862 TRACE(
"sf=%p pidl=%p cb=%p mode=0x%08x parm=%p\n",
3886 if (!pcsfv || pcsfv->
cbSize !=
sizeof(*pcsfv))
3889 TRACE(
"sf=%p outer=%p callback=%p\n",
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
HRESULT WINAPI CDefViewDual_Constructor(REFIID riid, LPVOID *ppvOut)
static UINT GetContextMenuFlags(IShellBrowser *pSB, SFGAOF sfgao)
#define GET_WM_COMMAND_HWND(wp, lp)
HMENU GetSubmenuByID(HMENU hmenu, UINT id)
CSimpleMap< LPARAM, INT > CLParamIndexMap
struct LISTVIEW_SORT_INFO * LPLISTVIEW_SORT_INFO
static BOOL ILIsParentOrSpecialParent(PCIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
void(CALLBACK * PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask)
#define SHV_CHANGE_NOTIFY
#define GET_WM_COMMAND_ID(wp, lp)
#define CONTEXT_MENU_BASE_ID
HRESULT SHSetMenuIdInMenuMsg(UINT uMsg, LPARAM lParam, UINT CmdId)
HRESULT CDefView_CreateInstance(IShellFolder *pFolder, REFIID riid, LPVOID *ppvOut)
#define GET_WM_COMMAND_CMD(wp, lp)
UINT ReallyGetMenuItemID(HMENU hmenu, int i)
static INT CALLBACK SelectionMoveCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **ppsv)
static VOID DrawTileBitmap(HDC hDC, LPCRECT prc, HBITMAP hbm, INT nWidth, INT nHeight, INT dx, INT dy)
static void ClientToListView(HWND hwndLV, POINT *ppt)
DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
static BOOL SelectExtOnRename(void)
HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV psvcbi, IShellView **ppsv)
HRESULT SHGetMenuIdFromMenuMsg(UINT uMsg, LPARAM lParam, UINT *CmdId)
#define SFVM_GET_CUSTOMVIEWINFO
#define SFVM_ADDINGOBJECT
#define SFVM_LISTREFRESHED
#define SFVM_WINDOWCLOSING
#define SFVM_SELECTIONCHANGED
#define shell32_hInstance
_STLP_MOVE_TO_STD_NAMESPACE void sort(_RandomAccessIter __first, _RandomAccessIter __last)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void shell(int argc, const char *argv[])
#define STDMETHODCALLTYPE
#define RegCloseKey(hKey)
EXTERN_C HANDLE WINAPI SHChangeNotification_Lock(HANDLE hTicket, DWORD dwOwnerPID, LPITEMIDLIST **lppidls, LPLONG lpwEventId)
EXTERN_C ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, INT fSources, LONG wEventMask, UINT uMsg, INT cItems, SHChangeNotifyEntry *lpItems)
EXTERN_C BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock)
EXTERN_C BOOL WINAPI SHChangeNotifyDeregister(ULONG hNotify)
static LRESULT CALLBACK StartWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
CWindow GetParent() const
STDMETHOD() Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHOD() Unfreeze(DWORD dwFreeze) override
LRESULT OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CComPtr< IShellFolder > m_pSFParent
LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() GetAutoArrange() override
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() SelectAndPositionItem(LPCITEMIDLIST item, UINT flags, POINT *point) override
HRESULT OnStateChange(UINT uFlags)
static INT CALLBACK fill_list(LPVOID ptr, LPVOID arg)
STDMETHOD() DestroyViewWindow() override
LRESULT OnSysColorChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
int LV_AddItem(PCUITEMID_CHILD pidl)
STDMETHOD() SetItemPos(PCUITEMID_CHILD pidl, POINT *pt) override
STDMETHOD() RemoveObject(PITEMID_CHILD pidl, UINT *item) override
HMENU m_hMenuArrangeModes
CComPtr< IDataObject > m_pCurDataObject
STDMETHOD() SetAutomationObject(IDispatch *disp) override
CComPtr< IShellFolderViewDual > m_pShellFolderViewDual
STDMETHOD() DragLeave() override
LRESULT OnNCCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() AutoArrange() override
STDMETHOD() ContextSensitiveHelp(BOOL fEnterMode) override
STDMETHOD() AddPropertySheetPages(DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) override
STDMETHOD() QueryService(REFGUID guidService, REFIID riid, void **ppvObject) override
BOOLEAN LV_DeleteItem(PCUITEMID_CHILD pidl)
STDMETHOD() GetItemObject(UINT uItem, REFIID riid, void **ppv) override
STDMETHOD() GetObjectCount(UINT *count) override
STDMETHOD() SetCallback(IShellFolderViewCB *new_cb, IShellFolderViewCB **old_cb) override
HRESULT drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect)
HRESULT _DoFolderViewCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
STDMETHOD() Items(UINT uFlags, REFIID riid, void **ppv) override
STDMETHOD() CreateViewWindow2(LPSV2CVW2_PARAMS view_params) override
STDMETHOD() SelectItem(PCUITEMID_CHILD pidlItem, SVSIF uFlags) override
LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() GetAdvise(DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) override
LRESULT OnGetDlgCode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT IncludeObject(PCUITEMID_CHILD pidl)
STDMETHOD() SaveViewState() override
CComPtr< IContextMenu > m_pCM
CComPtr< IShellBrowser > m_pShellBrowser
void _DoCopyToMoveToFolder(BOOL bCopy)
BOOL m_isParentFolderSpecial
INT _FindInsertableIndexFromPoint(POINT pt)
LRESULT OnPrintClient(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LISTVIEW_SORT_INFO m_sortInfo
CComPtr< IDataObject > m_pSourceDataObject
HRESULT CheckViewMode(HMENU hmenuView)
CComPtr< IAdviseSink > m_pAdvSink
void _HandleStatusBarResize(int width)
STDMETHOD() SetCurrentViewMode(UINT ViewMode) override
LRESULT OnInitMenuPopup(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnExplorerCommand(UINT uCommand, BOOL bUseSelection)
LRESULT OnSettingChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() GetItemPosition(PCUITEMID_CHILD pidl, POINT *ppt) override
STDMETHOD() SetPoints(IDataObject *obj) override
STDMETHOD() IsDropOnSource(IDropTarget *drop_target) override
CComPtr< IDropTarget > m_pCurDropTarget
PIDLIST_ABSOLUTE m_pidlParent
STDMETHOD() GetSelectionMarkedItem(int *piItem) override
STDMETHOD() TranslateAccelerator(MSG *pmsg) override
STDMETHOD() QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState) override
virtual WNDPROC GetWindowProc()
BOOLEAN LV_ProdItem(PCUITEMID_CHILD pidl)
STDMETHOD() Draw(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL(STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) override
LRESULT OnCustomItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CComPtr< IShellFolderViewCB > m_pShellFolderViewCB
STDMETHOD() GiveFeedback(DWORD dwEffect) override
STDMETHOD() ArrangeGrid() override
STDMETHOD() SetRedraw(BOOL redraw) override
HRESULT OpenSelectedItems()
void _ForceStatusBarResize()
CComPtr< IContextMenu > m_pFileMenu
HRESULT WINAPI Initialize(IShellFolder *shellFolder)
PCUITEMID_CHILD * m_apidl
LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() GetSelectedObjects(PCUITEMID_CHILD **pidl, UINT *items) override
STDMETHOD() QuerySupport(UINT *support) override
LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
void _MoveSelectionOnAutoArrange(POINT pt)
static INT CALLBACK ListViewCompareItems(LPARAM lParam1, LPARAM lParam2, LPARAM lpData)
STDMETHOD() GetDefaultSpacing(POINT *ppt) override
HRESULT FillArrangeAsMenu(HMENU hmenuArrange)
STDMETHOD() UpdateObject(PITEMID_CHILD pidl_old, PITEMID_CHILD pidl_new, UINT *item) override
STDMETHOD() GetItemSpacing(ITEMSPACING *spacing) override
static ATL::CWndClassInfo & GetWndClassInfo()
CComPtr< IShellFolder2 > m_pSF2Parent
LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() AddObject(PITEMID_CHILD pidl, UINT *item) override
STDMETHOD() GetDropPoint(POINT *pt) override
STDMETHOD() GetSelectedCount(UINT *count) override
STDMETHOD() GetFocusedItem(int *piItem) override
STDMETHOD() GetSpacing(POINT *ppt) override
LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() CreateViewWindow(IShellView *psvPrevious, LPCFOLDERSETTINGS pfs, IShellBrowser *psb, RECT *prcView, HWND *phWnd) override
STDMETHOD() GetDragPoint(POINT *pt) override
BOOL m_bmenuBarInitialized
PCUITEMID_CHILD _PidlByItem(int i)
STDMETHOD() GetFolder(REFIID riid, void **ppv) override
STDMETHOD() Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) override
STDMETHOD() DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHOD() Rearrange(LPARAM sort) override
HRESULT InvokeContextMenuCommand(CComPtr< IContextMenu > &pCM, LPCSTR lpVerb, POINT *pt=NULL)
STDMETHOD() GetView(SHELLVIEWID *view_guid, ULONG view_type) override
STDMETHOD() QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
STDMETHOD() HandleRename(LPCITEMIDLIST new_pidl) override
BOOLEAN LV_RenameItem(PCUITEMID_CHILD pidlOld, PCUITEMID_CHILD pidlNew)
STDMETHOD() GetCurrentInfo(LPFOLDERSETTINGS pfs) override
CComPtr< ICommDlgBrowser > m_pCommDlgBrowser
STDMETHOD() GetCurrentViewMode(UINT *pViewMode) override
STDMETHOD() RefreshObject(PITEMID_CHILD pidl, UINT *item) override
STDMETHOD() IsBkDropTarget(IDropTarget *drop_target) override
STDMETHOD() Refresh() override
STDMETHOD() SelectAndPositionItems(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, POINT *apt, DWORD dwFlags) override
HRESULT OnDefaultCommand()
STDMETHOD() SetClipboard(BOOL move) override
STDMETHOD() ItemCount(UINT uFlags, int *pcItems) override
virtual VOID OnFinalMessage(HWND) override
LRESULT OnGetShellBrowser(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() MoveIcons(IDataObject *obj) override
STDMETHOD() GetWindow(HWND *lphwnd) override
STDMETHOD() CreateViewWindow3(IShellBrowser *psb, IShellView *psvPrevious, SV3CVW3_FLAGS view_flags, FOLDERFLAGS mask, FOLDERFLAGS flags, FOLDERVIEWMODE mode, const SHELLVIEWID *view_id, const RECT *prcView, HWND *hwnd) override
STDMETHOD() GetArrangeParam(LPARAM *sort) override
LRESULT OnChangeNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() Freeze(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) override
STDMETHOD() GetColorSet(DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet) override
FOLDERSETTINGS m_FolderSettings
STDMETHOD() DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
STDMETHOD() SetObjectCount(UINT count, UINT flags) override
STDMETHOD() GetObject(PITEMID_CHILD *pidl, UINT item) override
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() EnableModeless(BOOL fEnable) override
STDMETHOD() SetAdvise(DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) override
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHOD() UIActivate(UINT uState) override
int LV_FindItemByPidl(PCUITEMID_CHILD pidl)
STDMETHOD() Item(int iItemIndex, PITEMID_CHILD *ppidl) override
void DoActivate(UINT uState)
STDMETHOD() Select(UINT flags) override
SFVM_CUSTOMVIEWINFO_DATA m_viewinfo_data
int GetNextItem(int i, WORD flags)
UINT GetItemState(int i, UINT mask)
BOOL SetTextBkColor(COLORREF cr)
int InsertItem(const LV_ITEM *pitem)
DWORD SetExtendedListViewStyle(DWORD dw, DWORD dwMask=0)
void SetRedraw(BOOL redraw)
BOOL SortItems(PFNLVCOMPARE pfnCompare, PVOID lParam)
void SetItemState(int i, UINT state, UINT mask)
DWORD_PTR GetItemData(int i)
BOOL SetTextColor(COLORREF cr)
HIMAGELIST SetImageList(HIMAGELIST himl, int iImageList)
int InsertColumn(int iCol, LV_COLUMN *pcol)
BOOL EnsureVisible(int i, BOOL fPartialOK)
BOOL SetItemPosition(int nItem, POINT *pPoint)
BOOL GetItem(LV_ITEM *pitem)
void GetItemSpacing(SIZE &spacing, BOOL bSmallIconView=FALSE)
BOOL SetItem(const LV_ITEM *pitem)
int HitTest(LV_HITTESTINFO *phtInfo)
BOOL GetItemPosition(int nItem, POINT *pPoint)
BOOL SetBkColor(COLORREF cr)
HWND Create(HWND hWndParent, _U_RECT rect, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
void WINAPI DPA_DestroyCallback(HDPA hdpa, PFNDPAENUMCALLBACK enumProc, LPVOID lParam)
HDPA WINAPI DPA_Create(INT nGrow)
INT WINAPI DPA_InsertPtr(HDPA hdpa, INT i, LPVOID p)
VOID WINAPI ImageList_EndDrag(void)
BOOL WINAPI ImageList_DragEnter(HWND hwndLock, INT x, INT y)
BOOL WINAPI ImageList_DragMove(INT x, INT y)
BOOL WINAPI ImageList_DragLeave(HWND hwndLock)
BOOL WINAPI ImageList_BeginDrag(HIMAGELIST himlTrack, INT iTrack, INT dxHotspot, INT dyHotspot)
#define FAILED_UNEXPECTEDLY(hr)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
HRESULT WINAPI RegisterDragDrop(HWND hwnd, LPDROPTARGET pDropTarget)
HRESULT WINAPI DoDragDrop(IDataObject *pDataObject, IDropSource *pDropSource, DWORD dwOKEffect, DWORD *pdwEffect)
HRESULT WINAPI RevokeDragDrop(HWND hwnd)
BOOL SHELL_FS_HideExtension(LPCWSTR szPath)
void WINAPI SHFree(LPVOID pv)
LPVOID WINAPI SHAlloc(SIZE_T len)
HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl)
#define EnableModeless(type)
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
LPWSTR WINAPI PathFindExtensionW(LPCWSTR lpszPath)
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLint GLsizei width
GLenum const GLfloat * params
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum map
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
BOOL WINAPI Shell_GetImageLists(HIMAGELIST *lpBigList, HIMAGELIST *lpSmallList)
int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder *sh, LPCITEMIDLIST pidl, int *pIndex)
const DWORD DROPEFFECT_NONE
const DWORD DROPEFFECT_MOVE
HRESULT GetControlWindow([in] UINT id, [out] HWND *phwnd)
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define COM_INTERFACE_ENTRY_IID(iid, x)
#define MESSAGE_HANDLER(msg, func)
#define BEGIN_MSG_MAP(theClass)
#define memcpy(s1, s2, n)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
static int int const SCRIPT_CONTROL const SCRIPT_STATE SCRIPT_ITEM ULONG int * pcItems
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
const GUID IID_IViewObject
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
void WINAPI ILFree(LPITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST pidl)
BOOL WINAPI ILIsParent(LPCITEMIDLIST pidlParent, LPCITEMIDLIST pidlChild, BOOL bImmediate)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl)
DWORD _ILGetFileSize(LPCITEMIDLIST pidl, LPSTR pOut, UINT uOutSize)
BOOL _ILIsFolder(LPCITEMIDLIST pidl)
BOOL _ILIsBitBucket(LPCITEMIDLIST pidl)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
BOOL _ILIsNetHood(LPCITEMIDLIST pidl)
BOOL _ILIsControlPanel(LPCITEMIDLIST pidl)
BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
#define NM_RELEASEDCAPTURE
#define Header_GetItem(hwndHD, i, phdi)
#define LVS_EX_ONECLICKACTIVATE
#define ListView_GetItemRect(hwnd, i, prc, code)
#define LVS_SHAREIMAGELISTS
#define LVS_NOCOLUMNHEADER
#define LPSTR_TEXTCALLBACKW
#define LVS_EX_SNAPTOGRID
#define Header_SetItem(hwndHD, i, phdi)
#define LVS_SHOWSELALWAYS
#define LVN_DELETEALLITEMS
#define LVM_SETCALLBACKMASK
#define LVM_GETEDITCONTROL
#define LVS_EX_FULLROWSELECT
#define LVS_EX_TRACKSELECT
#define ListView_GetOrigin(hwndLV, ppt)
#define LVN_ENDLABELEDITW
#define LVN_BEGINLABELEDITW
struct tagNMLISTVIEW * LPNMLISTVIEW
#define LVIR_SELECTBOUNDS
#define LVM_GETEXTENDEDLISTVIEWSTYLE
#define LVS_EX_DOUBLEBUFFER
#define ListView_GetItemSpacing(hwndLV, fSmall)
#define IsEqualIID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2)
void redraw(int x, int y, int cx, int cy)
HRESULT WINAPI SHForwardContextMenuMsg(IUnknown *pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult, BOOL useIContextMenu2)
HRESULT WINAPI SHLimitInputEdit(HWND hWnd, IShellFolder *psf)
BOOL WINAPI StrRetToStrNW(LPWSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
BOOL WINAPI StrRetToStrNA(LPSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl)
#define SID_IShellBrowser
#define FCIDM_BROWSERLAST
#define CSIDL_COMMON_DESKTOPDIRECTORY
#define SHCNE_DRIVEREMOVED
#define CSIDL_DESKTOPDIRECTORY
#define SFVM_WINDOWCREATED
#define FCIDM_MENU_VIEW_SEP_OPTIONS
#define SHCNE_RENAMEFOLDER
#define SHCNRF_NewDelivery
#define MM_SUBMENUSHAVEIDS
#define MM_DONTREMOVESEPS
#define SHCNRF_ShellLevel
#define FCIDM_SHVIEWFIRST
#define SHCNRF_InterruptLevel
@ FWF_SINGLECLICKACTIVATE
LPARAM LPFNSVADDPROPSHEETPAGE
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
#define FCIDM_SHVIEW_AUTOARRANGE
#define FCIDM_SHVIEW_SELECTALL
#define IDS_OBJECTS_SELECTED
#define FCIDM_SHVIEW_OPEN
#define FCIDM_SHVIEW_LISTVIEW
#define FCIDM_SHVIEW_UNDO
#define FCIDM_SHVIEW_ALIGNTOGRID
#define FCIDM_SHVIEW_COPY
#define FCIDM_SHVIEW_BIGICON
#define FCIDM_SHVIEW_INSERTLINK
#define FCIDM_SHVIEW_REFRESH
#define IDI_SHELL_COMPUTER_DESKTOP
#define FCIDM_SHVIEW_NEWFOLDER
#define FCIDM_SHVIEW_SMALLICON
#define FCIDM_TB_SMALLICON
#define FCIDM_SHVIEW_PROPERTIES
#define FCIDM_SHVIEW_SNAPTOGRID
#define FCIDM_SHVIEW_VIEW
#define FCIDM_SHVIEW_COPYTO
#define FCIDM_SHVIEW_MOVETO
#define FCIDM_SHVIEW_DELETE
#define FCIDM_SHVIEW_RENAME
#define FCIDM_TB_REPORTVIEW
#define FCIDM_SHVIEW_REPORTVIEW
#define FCIDM_SHVIEW_INVERTSELECTION
#define FCIDM_SHVIEW_ARRANGE
#define FCIDM_SHVIEW_INSERT
ITEMIDLIST UNALIGNED * LPITEMIDLIST
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
LPFNVIEWCALLBACK pfnCallback
IShellFolderViewCB * psfvcb
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CWM_GETISHELLBROWSER
BOOL WINAPI SetShellWindowEx(HWND, HWND)
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
#define DRAGDROP_S_USEDEFAULTCURSORS
#define DRAGDROP_S_CANCEL
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
BOOL WINAPI DeleteDC(_In_ HDC)
#define HKEY_CURRENT_USER
HWND WINAPI GetFocus(void)
DWORD WINAPI GetSysColor(_In_ int)
HMENU WINAPI CreatePopupMenu(void)
UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags)
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
#define SPI_SETDESKWALLPAPER
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
BOOL WINAPI InsertMenuW(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
HMENU WINAPI CreateMenu(void)
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
UINT WINAPI GetMenuItemID(_In_ HMENU, _In_ int)
#define WM_SYSCOLORCHANGE
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
struct tagNMHDR * LPNMHDR
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
#define MAKEINTRESOURCEA(i)
HACCEL WINAPI LoadAcceleratorsW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
BOOL WINAPI DestroyMenu(_In_ HMENU)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
int WINAPI GetScrollPos(_In_ HWND, _In_ int)
#define MAKEINTRESOURCEW(i)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define TranslateAccelerator
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
SHORT WINAPI GetKeyState(_In_ int)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
#define IID_PPV_ARG(Itype, ppType)
#define IID_NULL_PPV_ARG(Itype, ppType)