59#undef FCIDM_SHVIEWLAST
78#define SHV_CHANGE_NOTIFY (WM_USER + 0x1111)
79#define SHV_UPDATESTATUSBAR (WM_USER + 0x1112)
83#define CONTEXT_MENU_BASE_ID 1
88 static const UINT SIG = (
'R' << 0) | (
'O' << 8) | (
'S' << 16) | ((
'c') << 24);
96 static const UINT SIG = (
'R' << 0) | (
'O' << 8) | (
'S' << 16) | ((
'c' ^
'v' ^
's') << 24);
107 UINT cmf = CMF_NORMAL;
109 cmf |= CMF_EXTENDEDVERBS;
110 if (sfgao & SFGAO_CANRENAME)
111 cmf |= CMF_CANRENAME;
164 mii.
fType = MF & ~mii.fState;
221#define VID_Default ( *(const SHELLVIEWID*)&IID_CDefView )
226 public CWindowImpl<CDefView, CWindow, CControlWinTraits>,
230 public IShellFolderView,
598#define GET_WM_COMMAND_ID(wp, lp) LOWORD(wp)
599#define GET_WM_COMMAND_HWND(wp, lp) (HWND)(lp)
600#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)
644 TRACE(
" destroying IShellView(%p)\n",
this);
680 TRACE(
"ICommDlgBrowser::IncludeObject pidl=%p\n", pidl);
697 TRACE(
"ICommDlgBrowser::OnDefaultCommand\n");
711 TRACE(
"ICommDlgBrowser::OnStateChange flags=%x\n",
uFlags);
770 UINT64 uTotalFileSize = 0;
773 bool bIsOnlyFoldersSelected =
true;
789 bIsOnlyFoldersSelected =
false;
795 if ((cSelectedItems && !bIsOnlyFoldersSelected) || uTotalFileSize)
804 if (cSelectedItems > 0)
807 att = SFGAO_CANCOPY | SFGAO_CANMOVE;
854 DWORD dwStyle, dwExStyle, ListExStyle;
919 ListExStyle |= LVS_EX_HEADERINALLVIEWS;
923 dwExStyle &= ~WS_EX_CLIENTEDGE;
925 RECT rcListView = {0,0,0,0};
943 DWORD cbDropShadow =
sizeof(bDropShadow);
953 L"ListviewShadow",
NULL, &bDropShadow, &cbDropShadow);
1020 return lvc.iSubItem;
1029 if ((
UINT)
r == FoldCol)
1043 if (ListCol <
count)
1051 TRACE(
"m_ListToFolderColMap cache miss while mapping %d\n", ListCol);
1073 FIXME(
"Try SFVM_GETDETAILSOF\n");
1084 ERR(
"Unable to determine folder column from list column %d\n", (
int) ListCol);
1110 lvc.cx = ForceWidth ? ForceWidth : (
sd.cxChar * chavewidth);
1111 lvc.iSubItem = FoldCol;
1112 if ((
int)ListCol == -1)
1116 ListCol = 0x7fffffff;
1133 for (
i = 0, foldCol = 0;; ++foldCol)
1135 if (newColCount >= 0xffff)
1140 if (
i >= ColListCount)
1143 foldCol =
LOWORD(pColList[
i++]);
1163 bool insert = newColCount >= oldColCount;
1174 for (
i = newColCount;
i < oldColCount; ++
i)
1288 ERR(
"Sort column out of range\n");
1354 for (
int i = 0;
i < cItems;
i++)
1366 for (
i = 0; pidl &&
i < cItems;
i++)
1369 if (currentpidl && currentpidl->mkid.cb == pidl->mkid.cb && !
memcmp(currentpidl, pidl, pidl->mkid.cb))
1370 DbgPrint(
"Matched item #%d, broken CompareIDs?\n",
i);
1383 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
1410 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
1428 TRACE(
"(%p)(pidlold=%p pidlnew=%p)\n",
this, pidlOld, pidlNew);
1437 lvItem.
iItem = nItem;
1445 lvItem.
iItem = nItem;
1471 lvItem.
iItem = nItem;
1484 if (bResult && lvItem.
lParam && pidlOld)
1493 TRACE(
"(%p)(pidl=%p)\n",
this, pidl);
1504 lvItem.
iItem = iItem;
1514 for (
INT iItem = -1;;)
1550 TRACE(
"%p\n",
this);
1559 dFlags |= SHCONTF_INCLUDEHIDDEN;
1564 dFlags |= SHCONTF_INCLUDESUPERHIDDEN;
1583 while((
S_OK == pEnumIDList->Next(1, &pidl, &dwFetched)) && dwFetched)
1635 if (IsRefreshCommand)
1772 TRACE(
"%p\n",
this);
1777 ERR(
"Error Registering DragDrop\n");
1806 if (
FAILED(
hr) || (!pidlTarget && !fEvents))
1816 ntreg.
pidl = pidlTarget;
1826 int bForceFullStatusBar =
false;
1837 else if (bIsFileSystem)
1934 bool forceMerge =
false;
2003 const UINT maxItems = 15;
2004 const UINT idMore = 0x1337;
2005 UINT idFirst = idMore + 1, idLast = idFirst;
2006 UINT lastValidListCol = 0;
2015 pt.x =
r.left + ((
r.right -
r.left) / 2);
2016 pt.y =
r.top + ((
r.bottom -
r.top) / 2);
2023 for (
UINT foldCol = 0;; ++foldCol)
2052 lastValidListCol = listCol;
2055 if (idLast - idFirst == maxItems)
2077 if (idCmd == idMore)
2079 FIXME(
"Open More dialog\n");
2083 UINT foldCol = idCmd - idFirst;
2135 TRACE(
"-- selected Item found\n");
2151 CMINVOKECOMMANDINFOEX cmi;
2154 cmi.cbSize =
sizeof(cmi);
2156 cmi.lpVerb = lpVerb;
2159 WCHAR szverbW[
sizeof(
"properties")];
2171 cmi.lpVerb = pszverbA;
2172 cmi.lpVerbW = szverbW;
2178 cmi.fMask |= CMIC_MASK_SHIFT_DOWN;
2181 cmi.fMask |= CMIC_MASK_CONTROL_DOWN;
2185 cmi.fMask |= CMIC_MASK_PTINVOKE;
2195 cmi.fMask |= CMIC_MASK_UNICODE;
2196 cmi.lpDirectory = szDirA;
2197 cmi.lpDirectoryW = szDirW;
2200 HRESULT hr = pCM->InvokeCommand((LPCMINVOKECOMMANDINFO)&cmi);
2221 if (hResult ==
S_OK)
2240 if (uCommand == (
UINT)-1 && !pszVerb)
2242 ERR(
"GetMenuDefaultItem returned -1\n");
2259 TRACE(
"(%p)\n",
this);
2263 ERR(
"HACK: Aborting context menu in nested call\n");
2289 SelectItem(hittest.iItem, SVSI_SELECT | SVSI_DESELECTOTHERS | SVSI_ENSUREVISIBLE);
2350 pcdb2->Notify(
static_cast<IShellView*
>(
this), CDB2N_CONTEXTMENU_START);
2366 pcdb2->Notify(
static_cast<IShellView*
>(
this), CDB2N_CONTEXTMENU_DONE);
2396 SFGAOF rfg = SFGAO_BROWSABLE | SFGAO_CANCOPY | SFGAO_CANLINK | SFGAO_CANMOVE | SFGAO_CANDELETE | SFGAO_CANRENAME | SFGAO_HASPROPSHEET | SFGAO_FILESYSTEM | SFGAO_FOLDER;
2422 WORD wWidth, wHeight;
2427 TRACE(
"%p width=%u height=%u\n",
this, wWidth, wHeight);
2447 TRACE(
"%p\n",
this);
2458 TRACE(
"%p uState=%x\n",
this, uState);
2495 SFGAOF rfg = SFGAO_CANCOPY | SFGAO_CANMOVE | SFGAO_FILESYSTEM;
2500 if (!bCopy && !(rfg & SFGAO_CANMOVE))
2502 if (bCopy && !(rfg & SFGAO_CANCOPY))
2521 TRACE(
"%p\n",
this);
2541 TRACE(
"(%p) stub\n",
this);
2562 TRACE(
"(%p)->(0x%08x 0x%08x %p) stub\n",
this, dwCmdID, dwCmd, hwndCmd);
2603 for (
int i=0;
i < nCount;
i++)
2653 cbValue =
sizeof(dwValue);
2674 TRACE(
"%p CtlID=%u lpnmh->code=%x\n",
this, CtlID, lpnmh->
code);
2676 switch (lpnmh->
code)
2679 TRACE(
"-- NM_SETFOCUS %p\n",
this);
2683 TRACE(
"-- NM_KILLFOCUS %p\n",
this);
2689 TRACE(
"-- NM_CUSTOMDRAW %p\n",
this);
2692 TRACE(
"-- NM_RELEASEDCAPTURE %p\n",
this);
2695 TRACE(
"-- NM_CLICK %p\n",
this);
2698 TRACE(
"-- NM_RCLICK %p\n",
this);
2701 TRACE(
"-- NM_DBLCLK %p\n",
this);
2704 TRACE(
"-- NM_RETURN %p\n",
this);
2707 TRACE(
"-- HDN_ENDTRACKW %p\n",
this);
2712 TRACE(
"-- LVN_DELETEITEM %p\n",
this);
2717 TRACE(
"-- LVN_DELETEALLITEMS %p\n",
this);
2720 TRACE(
"-- LVN_INSERTITEM (STUB)%p\n",
this);
2723 TRACE(
"-- LVN_ITEMACTIVATE %p\n",
this);
2740 TRACE(
"-- LVN_GETDISPINFO %p\n",
this);
2774 TRACE(
"-- LVN_ITEMCHANGED %p\n",
this);
2789 TRACE(
"-- LVN_BEGINDRAG\n");
2801 dwEffect |=
dwAttributes & (SFGAO_CANCOPY | SFGAO_CANLINK);
2805 piaso->SetAsyncMode(
TRUE);
2829 TRACE(
"-- LVN_BEGINLABELEDITW %p\n",
this);
2833 if (!
hEdit || !(fAttr & SFGAO_CANRENAME))
2848 if (!(fAttr & SFGAO_FOLDER) && (fAttr & SFGAO_FILESYSTEM) &&
2871 TRACE(
"-- LVN_ENDLABELEDITW %p\n",
this);
2890 if (iNew != lpdi->
item.
iItem && iNew >= 0)
2903 TRACE(
"-- %p WM_COMMAND %x unhandled\n",
this, lpnmh->code);
2916 if (!pidl1 || !pidl2)
2939 ERR(
"hLock == NULL\n");
2942 lEvent &= ~SHCNE_INTERRUPT;
2994 if (child0 && child1)
3033 ERR(
"no context menu\n");
3150 TRACE(
"(%p)\n",
this);
3159 FIXME(
"(%p) stub\n",
this);
3183 FIXME(
"(%p)\n",
this);
3189 TRACE(
"(%p)->(state=%x)\n",
this, uState);
3212 TRACE(
"(%p)\n",
this);
3230 TRACE(
"(%p)\n",
this);
3278 TRACE(
"(%p)->(%p) vmode=%x flags=%x\n",
this, lpfs,
3342 bool fallback =
false;
3385 if (failed || !cols.
Count)
3461 hr = pStream->
Write(&cvs,
sizeof(cvs), &written);
3463 hr = pStream->
Write(&cols, cbColumns, &written);
3478#define UPDATEFOLDERVIEWFLAGS(bits, bit, set) ( (bits) = ((bits) & ~(bit)) | ((set) ? (bit) : 0) )
3498 TRACE(
"(%p)->(pidl=%p, 0x%08x) stub\n",
this, pidl,
uFlags);
3502 ERR(
"!m_ListView\n");
3518 if (
uFlags & SVSI_SELECT)
3521 lvItem.
state &= ~LVIS_SELECTED;
3523 if (
uFlags & SVSI_FOCUSED)
3526 lvItem.
state &= ~LVIS_FOCUSED;
3530 if (
uFlags & SVSI_DESELECTOTHERS)
3532 lvItem.
state &= ~LVIS_SELECTED;
3534 lvItem.
state &= ~LVIS_FOCUSED;
3541 if (
uFlags & SVSI_ENSUREVISIBLE)
3544 if((
uFlags & SVSI_EDIT) == SVSI_EDIT)
3595 TRACE(
"-- (%p)->(interface=%p)\n",
this, *ppvOut);
3611 TRACE(
"(%p)->(%p), stub\n",
this, pViewMode);
3623 TRACE(
"(%p)->(%u), stub\n",
this, ViewMode);
3640 FIXME(
"ViewMode %d not implemented\n", ViewMode);
3694 TRACE(
"(%p)->(%p)\n",
this, piItem);
3703 TRACE(
"(%p)->(%p)\n",
this, piItem);
3714 ERR(
"!m_ListView\n");
3719 if (lvIndex == -1 || ppt ==
NULL)
3728 TRACE(
"(%p)->(%p)\n",
this, ppt);
3732 ERR(
"!m_ListView\n");
3741 ppt->
x = spacing.
cx;
3742 ppt->
y = spacing.
cy;
3773 if (
dwFlags & SVSI_ENSUREVISIBLE)
3777 if (
dwFlags & SVSI_DESELECTOTHERS)
3789 if ((
dwFlags & SVSI_EDIT) == SVSI_EDIT)
3799 for (
UINT i = 0 ;
i < cidl;
i++)
3839 OLEMENUGROUPWIDTHS omw = { { 0, 0, 0, 0, 0, 0 } };
3845 TRACE(
"(%p)->(shlview=%p shlbrs=%p rec=%p hwnd=%p vmode=%x flags=%x)\n",
this, psvPrevious, psb, prcView,
hwnd,
mode,
flags);
3846 if (prcView !=
NULL)
3847 TRACE(
"-- left=%i top=%i right=%i bottom=%i\n", prcView->
left, prcView->
top, prcView->
right, prcView->
bottom);
3853 if (view_flags & ~SUPPORTED_SV3CVW3)
3854 FIXME(
"unsupported view flags 0x%08x\n", view_flags & ~SUPPORTED_SV3CVW3);
3890 TRACE(
"-- CommDlgBrowser\n");
3899 RECT rcView = *prcView;
3920 TRACE(
"-- after fnInsertMenusSB\n");
3939 return SelectItem(pidl, SVSI_EDIT | SVSI_ENSUREVISIBLE | SVSI_FOCUSED | SVSI_SELECT);
3989 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
3992 ERR(
"!m_ListView\n");
4001 TRACE(
"(%p)->(%p %d)\n",
this, pidl,
item);
4007 TRACE(
"(%p)->(%p %p)\n",
this, pidl,
item);
4011 ERR(
"!m_ListView\n");
4044 FIXME(
"(%p)->(%p %p %p) stub\n",
this, pidl_old, pidl_new,
item);
4050 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
item);
4111 FIXME(
"(%p)->(%p) stub\n",
this,
pt);
4123 FIXME(
"(%p)->(%p %p) stub\n",
this, pidl,
pt);
4129 FIXME(
"(%p)->(%p) stub\n",
this, drop_target);
4159 FIXME(
"(%p)->(%p) stub\n",
this,
obj);
4165 FIXME(
"(%p)->(%p) stub\n",
this, spacing);
4189 TRACE(
"(%p)->(%p)\n",
this, support);
4195 FIXME(
"(%p)->(%p) stub\n",
this, disp);
4201 FIXME(
"(%p)->(%p(%s) 0x%08x %p %p\n",
4202 this, pguidCmdGroup,
debugstr_guid(pguidCmdGroup), cCmds, prgCmds, pCmdText);
4207 for (
UINT i = 0;
i < cCmds;
i++)
4209 FIXME(
"\tprgCmds[%d].cmdID = %d\n",
i, prgCmds[
i].cmdID);
4210 prgCmds[
i].
cmdf = 0;
4213 return OLECMDERR_E_UNKNOWNGROUP;
4222 FIXME(
"(%p)->(\n\tTarget GUID:%s Command:0x%08x Opt:0x%08x %p %p)\n",
4223 this,
debugstr_guid(pguidCmdGroup), nCmdID, nCmdexecopt, pvaIn, pvaOut);
4226 return OLECMDERR_E_UNKNOWNGROUP;
4233 return OLECMDERR_E_NOTSUPPORTED;
4253 V_I4(pvaOut) = 0x403;
4257 if (
IsEqualIID(*pguidCmdGroup, CGID_Explorer) &&
4259 (nCmdexecopt == 4) && pvaOut)
4262 if (
IsEqualIID(*pguidCmdGroup, CGID_ShellDocView) &&
4267 if (
IsEqualIID(*pguidCmdGroup, CGID_DefView))
4287 return OLECMDERR_E_UNKNOWNGROUP;
4301#define SCROLLAREAWIDTH 20
4480 for (
i = 0;
i < nCount; ++
i)
4493 for (
i = nCount - 1;
i >= 0; --
i)
4505 for (
i = 0;
i < nCount; ++
i)
4522 for (
i = nCount - 1;
i >= 0; --
i)
4541 int nPartArray[] = {-1};
4546 int nFileSizePartLength = 125;
4547 const int nLocationPartLength = 150;
4548 const int nRightPartsLength = nFileSizePartLength + nLocationPartLength;
4549 int nObjectsPartLength = nWidth - nRightPartsLength;
4553 if (nObjectsPartLength <= nLocationPartLength)
4554 nObjectsPartLength = nFileSizePartLength = nWidth / 3;
4556 int nPartArray[] = {nObjectsPartLength, nObjectsPartLength + nFileSizePartLength, -1};
4581 INT i1 =
pmap->Lookup(lParam1), i2 =
pmap->Lookup(lParam2);
4597 for (
INT i = 0;
i < nCount; ++
i)
4606 INT iFrom = iItem, iTo = iPosition;
4609 if (iFrom >= nCount)
4617 for (
INT i = iFrom;
i < iTo; ++
i)
4627 for (
INT i = iFrom;
i > iTo; --
i)
4639 for (
INT i = 0;
i < nCount; ++
i)
4703 TRACE(
"(%p)\n",
this);
4715 TRACE(
"(%p)\n",
this);
4722 FIXME(
"Stub: this=%p\n",
this);
4728 FIXME(
"Stub: this=%p\n",
this);
4734 FIXME(
"Stub: this=%p\n",
this);
4740 FIXME(
"Stub: this=%p\n",
this);
4746 FIXME(
"partial stub: %p 0x%08x 0x%08x %p\n",
this, aspects, advf, pAdvSink);
4758 TRACE(
"this=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n",
this, pAspects, pAdvf, ppAdvSink);
4777 if (
IsEqualIID(guidService, SID_SFolderView))
4823 return ShellObjectCreatorInit<CDefView>(pFolder,
riid, ppvOut);
4836 if (!pcsfv || pcsfv->
cbSize !=
sizeof(*pcsfv))
4839 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)
HRESULT ShellViewIdToFolderViewMode(const SHELLVIEWID *pVid)
static BOOL AppendMenuItem(HMENU hMenu, UINT MF, UINT Id, LPCWSTR String, SIZE_T Data=0)
#define GET_WM_COMMAND_HWND(wp, lp)
static SIZE_T GetMenuItemDataById(HMENU hMenu, UINT Id)
CSimpleMap< LPARAM, INT > CLParamIndexMap
#define SHV_UPDATESTATUSBAR
static BOOL ILIsParentOrSpecialParent(PCIDLIST_ABSOLUTE pidl1, PCIDLIST_ABSOLUTE pidl2)
void(CALLBACK * PFNSHGETSETTINGSPROC)(LPSHELLFLAGSTATE lpsfs, DWORD dwMask)
#define SHV_CHANGE_NOTIFY
@ DEFVIEW_ARRANGESORT_MAX
@ DVIDM_ARRANGESORT_FIRST
@ DEFVIEW_ARRANGESORT_MAXENUM
@ DVIDM_CONTEXTMENU_FIRST
static COLORREF GetViewColor(COLORREF Clr, UINT SysFallback)
#define GET_WM_COMMAND_ID(wp, lp)
#define CONTEXT_MENU_BASE_ID
#define UPDATEFOLDERVIEWFLAGS(bits, bit, set)
HRESULT CDefView_CreateInstance(IShellFolder *pFolder, REFIID riid, LPVOID *ppvOut)
static HRESULT LoadColumnsStream(PERSISTCOLUMNS &cols, IStream *pS)
#define GET_WM_COMMAND_CMD(wp, lp)
static 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 DWORD ReadDWORD(IPropertyBag *pPB, LPCWSTR name, DWORD def)
static HMENU GetSubmenuByID(HMENU hmenu, UINT id)
static VOID DrawTileBitmap(HDC hDC, LPCRECT prc, HBITMAP hbm, INT nWidth, INT nHeight, INT dx, INT dy)
static HRESULT SHGetLVColumnSubItem(HWND List, UINT Col)
static void ClientToListView(HWND hwndLV, POINT *ppt)
const SHELLVIEWID * FolderViewModeToShellViewId(UINT FVM)
static UINT CalculateCharWidth(HWND hwnd)
static BOOL SelectExtOnRename(void)
static HRESULT WINAPI DisplayNameOfW(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwFlags, _Out_ LPWSTR pszBuf, _In_ UINT cchBuf)
#define SFVM_GETCOMMANDDIR
#define SFVM_CANSELECTALL
#define SFVM_GET_CUSTOMVIEWINFO
#define SFVM_GETNAMELENGTH
#define SFVM_ADDINGOBJECT
#define SFVM_REMOVINGOBJECT
#define SFVM_LISTREFRESHED
#define SFVM_WINDOWCLOSING
#define SFVM_SELECTIONCHANGED
unsigned long long UINT64
#define shell32_hInstance
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static const COLUMN_LIST Columns[]
void shell(int argc, const char *argv[])
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
#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
BOOL IsWindowVisible() const
STDMETHOD() Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) override
STDMETHOD() Unfreeze(DWORD dwFreeze) override
HRESULT LoadColumn(UINT FoldCol, UINT ListCol, BOOL Insert, UINT ForceWidth=0)
DWORD GetCommDlgViewFlags()
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
void RefreshGhostedState()
LRESULT OnChangeCBChain(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT OnStateChange(UINT uFlags)
static INT CALLBACK fill_list(LPVOID ptr, LPVOID arg)
CComPtr< IShellDetails > m_pSDParent
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
UINT GetItemActivateFlags()
BOOL IsSpecialFolder(int &csidl) const
bool m_ScheduledStatusbarUpdate
STDMETHOD() RemoveObject(PITEMID_CHILD pidl, UINT *item) override
HMENU m_hMenuArrangeModes
CComPtr< IDataObject > m_pCurDataObject
STDMETHOD() SetAutomationObject(IDispatch *disp) override
LRESULT OnMenuMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
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)
HRESULT GetDetailsByListColumn(PCUITEMID_CHILD pidl, UINT ListCol, SHELLDETAILS &sd)
INT _FindInsertableIndexFromPoint(POINT pt)
LRESULT OnPrintClient(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT DoColumnContextMenu(LRESULT lParam)
LISTVIEW_SORT_INFO m_sortInfo
CComPtr< IDataObject > m_pSourceDataObject
HRESULT CheckViewMode(HMENU hmenuView)
CComPtr< IAdviseSink > m_pAdvSink
void _HandleStatusBarResize(int width)
STDMETHOD() GetView(SHELLVIEWID *pVid, ULONG view_type) override
STDMETHOD() SetCurrentViewMode(UINT ViewMode) override
LRESULT OnInitMenuPopup(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnUpdateStatusbar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnExplorerCommand(UINT uCommand, BOOL bUseSelection)
LRESULT OnSettingChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
ClipboardViewerChain m_ClipboardChain
STDMETHOD() GetItemPosition(PCUITEMID_CHILD pidl, POINT *ppt) override
STDMETHOD() SetPoints(IDataObject *obj) override
STDMETHOD() IsDropOnSource(IDropTarget *drop_target) override
HRESULT FillList(BOOL IsRefreshCommand=TRUE)
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
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
CComPtr< IShellFolderViewCB > m_pShellFolderViewCB
STDMETHOD() GiveFeedback(DWORD dwEffect) override
STDMETHOD() ArrangeGrid() override
STDMETHOD() SetRedraw(BOOL redraw) override
void _ForceStatusBarResize()
CComPtr< IContextMenu > m_pFileMenu
HRESULT WINAPI Initialize(IShellFolder *shellFolder)
PCUITEMID_CHILD * m_apidl
CComPtr< IFolderFilter > m_pFolderFilter
LRESULT OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT InvokeContextMenuCommand(CComPtr< IContextMenu > &pCM, LPCSTR lpVerb, POINT *pt=NULL, bool TryMapVerb=false)
STDMETHOD() GetSelectedObjects(PCUITEMID_CHILD **pidl, UINT *items) override
HDPA m_ListToFolderColMap
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)
signed char m_SpecialFolder
STDMETHOD() UpdateObject(PITEMID_CHILD pidl_old, PITEMID_CHILD pidl_new, UINT *item) override
STDMETHOD() GetItemSpacing(ITEMSPACING *spacing) override
static ATL::CWndClassInfo & GetWndClassInfo()
SFGAOF GetItemAttributes(PCUITEMID_CHILD pidl, UINT Query)
CComPtr< IShellFolder2 > m_pSF2Parent
LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HRESULT OpenSelectedItems(PCSTR pszVerb=NULL)
STDMETHOD() AddObject(PITEMID_CHILD pidl, UINT *item) override
STDMETHOD() GetDropPoint(POINT *pt) override
STDMETHOD() GetSelectedCount(UINT *count) override
STDMETHOD() GetFocusedItem(int *piItem) override
LRESULT OnDrawClipboard(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
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
FOLDERVIEWMODE GetDefaultViewMode()
STDMETHOD() GetDragPoint(POINT *pt) override
BOOL m_bmenuBarInitialized
HRESULT MapFolderColumnToListColumn(UINT FoldCol)
SFGAOF GetSelectionAttributes(SFGAOF Query)
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
STDMETHOD() QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText) override
void LV_RefreshIcon(INT iItem)
HRESULT GetDefaultViewStream(DWORD Stgm, IStream **ppStream)
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
HRESULT MapListColumnToFolderColumn(UINT ListCol)
STDMETHOD() Refresh() override
HRESULT GetDetailsByFolderColumn(PCUITEMID_CHILD pidl, UINT FoldCol, SHELLDETAILS &sd)
STDMETHOD() SelectAndPositionItems(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, POINT *apt, DWORD dwFlags) override
static bool IsSupportedFolderViewMode(int Mode)
HRESULT OnDefaultCommand()
STDMETHOD() SetClipboard(BOOL move) override
void UpdateFolderViewFlags()
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)
virtual WNDPROC GetWindowProc() override
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
STDMETHOD() HandleRename(LPCITEMIDLIST pidl) 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
void UpdateStatusbarLocation()
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)
BOOL LV_UpdateItem(INT nItem, PCUITEMID_CHILD pidl)
STDMETHOD() UIActivate(UINT uState) override
int LV_FindItemByPidl(PCUITEMID_CHILD pidl)
STDMETHOD() Item(int iItemIndex, PITEMID_CHILD *ppidl) override
HRESULT SelectAndPositionItem(int Idx, UINT fSVSI, POINT *ppt)
HRESULT LoadColumns(SIZE_T *pColList=NULL, UINT ColListCount=0)
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)
BOOL EnsureVisible(int i, BOOL fPartialOK)
BOOL SetItemText(int i, int subItem, LPCWSTR text)
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)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
#define SHCIDS_CANONICALONLY
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)
BOOL WINAPI DPA_SetPtr(HDPA hdpa, INT i, LPVOID p)
BOOL WINAPI DPA_DeleteAllPtrs(HDPA hdpa)
void WINAPI DPA_DestroyCallback(HDPA hdpa, PFNDPAENUMCALLBACK enumProc, LPVOID lParam)
BOOL WINAPI DPA_Destroy(HDPA hdpa)
HDPA WINAPI DPA_Create(INT nGrow)
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)
int WINAPI lstrcmpiW(LPCWSTR str1, LPCWSTR str2)
LPWSTR WINAPI PathFindExtensionW(const WCHAR *path)
INT WINAPI DECLSPEC_HOTPATCH LoadStringW(HINSTANCE instance, UINT resource_id, LPWSTR buffer, INT buflen)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
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)
DWORD SHGetAttributes(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwAttributes)
EXTERN_C HRESULT WINAPI SHGetRealIDL(_In_ IShellFolder *psf, _In_ PCUITEMID_CHILD pidlSimple, _Outptr_ PITEMID_CHILD *ppidlReal)
static BOOL IsEqualPersistClassID(IPersist *pPersist, REFCLSID clsid)
void WINAPI SHFree(LPVOID pv)
LPVOID WINAPI SHAlloc(SIZE_T len)
BOOL WINAPI IsOS(DWORD feature)
#define EnableModeless(type)
DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef)
HRESULT WINAPI IUnknown_QueryService(IUnknown *, REFGUID, REFIID, LPVOID *)
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *clsid)
DWORD WINAPI SHMenuIndexFromID(HMENU hMenu, UINT uID)
HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site)
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
#define FAILED_UNEXPECTEDLY
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
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
UINT SHELL_GetIconUnderlineFlags()
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
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
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 j
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
struct IOleCommandTarget::_tagOLECMDTEXT OLECMDTEXT
struct IOleCommandTarget::_tagOLECMD OLECMD
HRESULT Write([in, size_is(cb)] const void *pv, [in] ULONG cb, [out] ULONG *pcbWritten)
HRESULT Read([out, size_is(cb), length_is(*pcbRead)] void *pv, [in] ULONG cb, [out] ULONG *pcbRead)
HRESULT GetControlWindow([in] UINT id, [out] HWND *phwnd)
struct IShellView2::_SV2CVW2_PARAMS * LPSV2CVW2_PARAMS
@ SV3CVW3_FORCEFOLDERFLAGS
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 HMODULE MODULEINFO DWORD cb
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
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
const GUID IID_IViewObject
LPITEMIDLIST WINAPI SHCloneSpecialIDList(HWND hwndOwner, int nFolder, BOOL fCreate)
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)
BOOL _ILIsSpecialFolder(LPCITEMIDLIST pidl)
BOOL _ILIsFolder(LPCITEMIDLIST pidl)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
DWORD _ILGetFileSize(LPCITEMIDLIST pidl, LPWSTR pOut, UINT uOutSize)
BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
static const WCHAR szName[]
EXTERN_C INT WINAPI SHGetPerScreenResName(_Out_writes_(cchBuffer) LPWSTR pszBuffer, _In_ INT cchBuffer, _In_ DWORD dwReserved)
EXTERN_C HRESULT WINAPI IUnknown_QueryServicePropertyBag(_In_ IUnknown *punk, _In_ long flags, _In_ REFIID riid, _Outptr_ void **ppvObj)
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
#define NM_RELEASEDCAPTURE
#define Header_GetItem(hwndHD, i, phdi)
#define LVM_GETCALLBACKMASK
#define LVS_EX_ONECLICKACTIVATE
#define ListView_IsGroupViewEnabled(hwnd)
#define ListView_GetItemRect(hwnd, i, prc, code)
#define LVS_SHAREIMAGELISTS
#define ListView_GetColumn(hwnd, iCol, pcol)
#define ListView_InsertColumn(hwnd, iCol, pcol)
#define LVS_NOCOLUMNHEADER
#define LPSTR_TEXTCALLBACKW
#define LVS_EX_SNAPTOGRID
#define ListView_GetEditControl(hwndLV)
#define Header_SetItem(hwndHD, i, phdi)
#define ListView_GetHeader(hwnd)
#define LVS_SHOWSELALWAYS
#define LVN_DELETEALLITEMS
#define LVM_SETCALLBACKMASK
#define ListView_DeleteColumn(hwnd, iCol)
#define ListView_GetNextItem(hwnd, i, flags)
#define DPA_FastGetPtr(hdpa, i)
#define LVS_EX_FULLROWSELECT
#define LVS_EX_TRACKSELECT
#define LPSTR_TEXTCALLBACK
#define ListView_GetOrigin(hwndLV, ppt)
#define LVN_ENDLABELEDITW
#define LVN_BEGINLABELEDITW
#define ListView_RedrawItems(hwndLV, iFirst, iLast)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define LVIR_SELECTBOUNDS
#define LVM_GETEXTENDEDLISTVIEWSTYLE
#define Header_GetItemCount(hwndHD)
#define LVS_EX_UNDERLINECOLD
#define DPA_GetPtrPtr(hdpa)
#define DPA_AppendPtr(hdpa, pitem)
#define DPA_GetPtrCount(hdpa)
#define LVS_EX_DOUBLEBUFFER
#define LVS_EX_UNDERLINEHOT
#define ListView_SetColumn(hwnd, iCol, pcol)
#define ListView_GetItemSpacing(hwndLV, fSmall)
#define ListView_CancelEditLabel(hwnd)
#define IsEqualIID(riid1, riid2)
#define IsEqualCLSID(rclsid1, rclsid2)
void redraw(int x, int y, int cx, int cy)
#define REGSTR_PATH_EXPLORER
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD dwMode)
IStream *WINAPI SHCreateMemStream(const BYTE *lpbData, UINT dwDataLen)
HRESULT WINAPI SHForwardContextMenuMsg(IUnknown *pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult, BOOL useIContextMenu2)
VOID WINAPI SHGetSetSettings(LPSHELLSTATE lpss, DWORD dwMask, BOOL bSet)
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 FCIDM_BROWSERLAST
#define SHCNE_DRIVEREMOVED
#define SFVM_UPDATINGOBJECT
#define SFVM_WINDOWCREATED
#define SSF_DOUBLECLICKINWEBVIEW
#define SHCNE_MEDIAINSERTED
#define SHCNE_UPDATEIMAGE
#define FCIDM_MENU_VIEW_SEP_OPTIONS
#define SHCNE_RENAMEFOLDER
#define SHCNRF_NewDelivery
#define MM_SUBMENUSHAVEIDS
#define MM_DONTREMOVESEPS
#define SHCNRF_ShellLevel
#define SHCNE_MEDIAREMOVED
#define SHCNE_EXTENDED_EVENT
#define SHCNE_ASSOCCHANGED
#define SFVM_ADDPROPERTYPAGES
#define FCIDM_SHVIEWFIRST
#define SHCNRF_InterruptLevel
#define SSF_SHOWSUPERHIDDEN
#define SSF_SHOWALLOBJECTS
#define SFVM_QUERYFSNOTIFY
#define FCIDM_SHVIEW_DESELECTALL
#define DVCMDID_SET_DEFAULTFOLDER_SETTINGS
#define DVCMDID_RESET_DEFAULTFOLDER_SETTINGS
HRESULT WINAPI SHPropertyBag_ReadDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD *pdwValue)
HRESULT WINAPI SHPropertyBag_Delete(IPropertyBag *ppb, LPCWSTR pszPropName)
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream **ppStream)
HRESULT WINAPI SHPropertyBag_WriteStream(IPropertyBag *ppb, LPCWSTR pszPropName, IStream *pStream)
HRESULT WINAPI SHPropertyBag_WriteDWORD(IPropertyBag *ppb, LPCWSTR pszPropName, DWORD dwValue)
@ FWF_SINGLECLICKACTIVATE
LPARAM LPFNSVADDPROPSHEETPAGE
DWORD WINAPI SHRestricted(RESTRICTIONS rest)
#define FCIDM_SHVIEW_AUTOARRANGE
#define FCIDM_SHVIEW_SELECTALL
#define IDS_OBJECTS_SELECTED
#define FCIDM_SHVIEW_LISTVIEW
#define FCIDM_SHVIEW_UNDO
#define FCIDM_SHVIEW_ALIGNTOGRID
#define FCIDM_SHVIEW_COPY
#define FCIDM_SHVIEW_TILEVIEW
#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_CREATELINK
#define FCIDM_SHVIEW_REPORTVIEW
#define FCIDM_SHVIEW_INVERTSELECTION
#define FCIDM_SHVIEW_ARRANGE
#define FCIDM_SHVIEW_INSERT
ITEMIDLIST UNALIGNED * LPITEMIDLIST
ITEMID_CHILD UNALIGNED * PUITEMID_CHILD
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,...)
bool bLoadedFromViewState
bool bColumnIsFolderColumn
FOLDERSETTINGS FolderSettings
static const UINT VALIDFWF
IShellFolderViewCB * psfvcb
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define FIELD_OFFSET(t, f)
#define CWM_GETISHELLBROWSER
BOOL WINAPI SetShellWindowEx(HWND, HWND)
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFCMRESLIST List
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
#define DRAGDROP_S_USEDEFAULTCURSORS
#define DRAGDROP_S_CANCEL
#define ERROR_INVALID_DATA
LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI DeleteDC(_In_ HDC)
#define HKEY_CURRENT_USER
HWND WINAPI GetFocus(void)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
HMENU WINAPI CreatePopupMenu(void)
UINT WINAPI GetMenuDefaultItem(_In_ HMENU hMenu, _In_ UINT fByPos, _In_ UINT gmdiFlags)
BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT)
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 WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
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)
HMENU WINAPI CreateMenu(void)
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
UINT WINAPI GetMenuItemID(_In_ HMENU, _In_ int)
#define SPI_GETICONTITLELOGFONT
BOOL WINAPI MessageBeep(_In_ UINT uType)
#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 PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
struct tagNMHDR * LPNMHDR
HDC WINAPI GetDC(_In_opt_ HWND)
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)
BOOL WINAPI InsertMenuItemW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
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)