Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (shell) |
|
LPCWSTR | GetNextElementW (LPCWSTR pszNext, LPWSTR pszOut, DWORD dwOut) |
|
HRESULT | SHELL32_ParseNextElement (IShellFolder2 *psf, HWND hwndOwner, LPBC pbc, LPITEMIDLIST *pidlInOut, LPOLESTR szNext, DWORD *pEaten, DWORD *pdwAttributes) |
|
HRESULT | SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, PERSIST_FOLDER_TARGET_INFO *ppfti, LPCITEMIDLIST pidlChild, const GUID *clsid, REFIID riid, LPVOID *ppvOut) |
|
HRESULT | SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, const GUID *clsid, int csidl, REFIID riid, LPVOID *ppvOut) |
|
HRESULT | SHELL32_BindToSF (LPCITEMIDLIST pidlRoot, PERSIST_FOLDER_TARGET_INFO *ppfti, LPCITEMIDLIST pidl, const GUID *clsid, REFIID riid, LPVOID *ppvOut) |
|
HRESULT | SHELL32_GetDisplayNameOfChild (IShellFolder2 *psf, LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet) |
|
HRESULT | SHELL32_CompareChildren (IShellFolder2 *psf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) |
|
HRESULT | SHELL32_CompareDetails (IShellFolder2 *isf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) |
|
void | AddClassKeyToArray (const WCHAR *szClass, HKEY *array, UINT *cKeys) |
|
void | AddFSClassKeysToArray (PCUITEMID_CHILD pidl, HKEY *array, UINT *cKeys) |
|
HRESULT | SH_GetApidlFromDataObject (IDataObject *pDataObject, PIDLIST_ABSOLUTE *ppidlfolder, PUITEMID_CHILD **apidlItems, UINT *pcidl) |
|
HRESULT WINAPI | SHCreateLinks (HWND hWnd, LPCSTR lpszDir, IDataObject *lpDataObject, UINT uFlags, LPITEMIDLIST *lppidlLinks) |
|
EXTERN_C HRESULT WINAPI | SHOpenFolderAndSelectItems (PCIDLIST_ABSOLUTE pidlFolder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, DWORD dwFlags) |
|
HRESULT WINAPI | Shell_DefaultContextMenuCallBack (IShellFolder *psf, IDataObject *pdtobj) |
|
◆ AddClassKeyToArray()
Definition at line 267 of file shlfolder.cpp.
277 array[*cKeys] = hkey;
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
#define HKEY_CLASSES_ROOT
Referenced by AddFSClassKeysToArray(), CDrivesContextMenu_CreateInstance(), CGuidItemContextMenu_CreateInstance(), CFSFolder::CreateViewObject(), CDrivesFolder::CreateViewObject(), CDesktopFolder::CreateViewObject(), and CNetFolder::GetUIObjectOf().
◆ AddFSClassKeysToArray()
Definition at line 281 of file shlfolder.cpp.
296 swprintf(wszClass2,
L"%s//%s", extension, wszClass);
302 swprintf(wszClass2,
L"SystemFileAssociations//%s", extension);
307 swprintf(wszClass2,
L"SystemFileAssociations//%s", wszClass);
323 ERR(
"Got non FS pidl\n");
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
void AddClassKeyToArray(const WCHAR *szClass, HKEY *array, UINT *cKeys)
BOOL _ILIsFolder(LPCITEMIDLIST pidl)
#define PathFindExtension
BOOL _ILIsValue(LPCITEMIDLIST pidl)
FileStructW * _ILGetFileStructW(LPCITEMIDLIST pidl)
#define HKEY_CLASSES_ROOT
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Referenced by CFSFolder::GetUIObjectOf(), and CDesktopFolder::GetUIObjectOf().
◆ GetNextElementW()
◆ SH_GetApidlFromDataObject()
◆ SHCreateLinks()
◆ SHELL32_BindToSF()
Definition at line 159 of file shlfolder.cpp.
178 return psf->QueryInterface(
riid, ppvOut);
void WINAPI ILFree(LPITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl)
#define IID_PPV_ARG(Itype, ppType)
HRESULT SHELL32_CoCreateInitSF(LPCITEMIDLIST pidlRoot, PERSIST_FOLDER_TARGET_INFO *ppfti, LPCITEMIDLIST pidlChild, const GUID *clsid, REFIID riid, LPVOID *ppvOut)
BOOL WINAPI _ILIsPidlSimple(LPCITEMIDLIST pidl)
#define FAILED_UNEXPECTEDLY(hr)
LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl)
Referenced by CFSFolder::BindToObject(), CNetFolder::BindToObject(), CDrivesFolder::BindToObject(), and CRegFolder::BindToObject().
◆ SHELL32_CoCreateInitSF() [1/2]
Definition at line 121 of file shlfolder.cpp.
137 ppf3->InitializeEx(
NULL, pidlAbsolute, ppfti);
141 ppf->Initialize(pidlAbsolute);
145 return pShellFolder->QueryInterface(
riid, ppvOut);
void WINAPI ILFree(LPITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
#define IID_PPV_ARG(Itype, ppType)
HRESULT WINAPI SHCoCreateInstance(LPCWSTR aclsid, const CLSID *clsid, LPUNKNOWN pUnkOuter, REFIID refiid, LPVOID *ppv)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Referenced by SHELL32_BindToSF(), and SHELL32_CoCreateInitSF().
◆ SHELL32_CoCreateInitSF() [2/2]
Definition at line 148 of file shlfolder.cpp.
152 PERSIST_FOLDER_TARGET_INFO pfti = {0};
153 pfti.dwAttributes = -1;
HRESULT SHELL32_CoCreateInitSF(LPCITEMIDLIST pidlRoot, PERSIST_FOLDER_TARGET_INFO *ppfti, LPCITEMIDLIST pidlChild, const GUID *clsid, REFIID riid, LPVOID *ppvOut)
◆ SHELL32_CompareChildren()
Definition at line 215 of file shlfolder.cpp.
222 if (isEmpty1 || isEmpty2)
235 return psf2->CompareIDs(
lParam, nextpidl1, nextpidl2);
void WINAPI ILFree(LPITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl)
ITEMIDLIST_RELATIVE UNALIGNED * PUIDLIST_RELATIVE
#define MAKE_COMPARE_HRESULT(x)
#define IID_PPV_ARG(Itype, ppType)
HRESULT BindToObject([in] PCUIDLIST_RELATIVE pidl, [in] LPBC pbcReserved, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl)
Referenced by CFSFolder::CompareIDs(), CDrivesFolder::CompareIDs(), CRegFolder::CompareIDs(), and SHELL32_CompareDetails().
◆ SHELL32_CompareDetails()
Definition at line 238 of file shlfolder.cpp.
HRESULT WINAPI StrRetToBufW(LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, UINT len)
#define MAKE_COMPARE_HRESULT(x)
HRESULT SHELL32_CompareChildren(IShellFolder2 *psf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
HRESULT GetDetailsOf([in] PCUITEMID_CHILD pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd)
Referenced by CFSFolder::CompareIDs(), CDrivesFolder::CompareIDs(), CPrinterFolder::CompareIDs(), CControlPanelFolder::CompareIDs(), and CRegFolder::CompareIDs().
◆ SHELL32_GetDisplayNameOfChild()
◆ SHELL32_ParseNextElement()
Definition at line 70 of file shlfolder.cpp.
86 hr = psfChild->ParseDisplayName(hwndOwner, pbc, szNext, pEaten, &pidlOut, pdwAttributes);
105 *pidlInOut = pidlTemp;
107 TRACE (
"-- pidl=%p ret=0x%08x\n", pidlInOut ? *pidlInOut :
NULL,
hr);
void WINAPI ILFree(LPITEMIDLIST pidl)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
#define IID_PPV_ARG(Itype, ppType)
HRESULT BindToObject([in] PCUIDLIST_RELATIVE pidl, [in] LPBC pbcReserved, [in] REFIID riid, [out, iid_is(riid)] void **ppvOut)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Referenced by CFSFolder::ParseDisplayName(), CDrivesFolder::ParseDisplayName(), CDesktopFolder::ParseDisplayName(), and CRegFolder::ParseDisplayName().
◆ Shell_DefaultContextMenuCallBack()
Definition at line 450 of file shlfolder.cpp.
461 ERR(
"SHMultiFileProperties is not yet implemented\n");
473 ERR(
"SH_ShowPropertiesDialog failed\n");
477 ERR(
"Failed to get display name\n");
ITEMID_CHILD UNALIGNED * PUITEMID_CHILD
HRESULT GetDisplayNameOf([in] PCUITEMID_CHILD pidl, [in] SHGDNF uFlags, [out] STRRET *lpName)
#define FAILED_UNEXPECTEDLY(hr)
BOOL SH_ShowPropertiesDialog(LPCWSTR pwszPath, LPCITEMIDLIST pidlFolder, PCUITEMID_CHILD_ARRAY apidl)
HRESULT SH_GetApidlFromDataObject(IDataObject *pDataObject, PIDLIST_ABSOLUTE *ppidlfolder, PUITEMID_CHILD **apidlItems, UINT *pcidl)
void _ILFreeaPidl(LPITEMIDLIST *apidl, UINT cidl)
void WINAPI SHFree(LPVOID pv)
Referenced by CDrivesFolder::CallBack(), CFSFolder::CallBack(), and CDesktopFolder::CallBack().
◆ SHOpenFolderAndSelectItems()
Definition at line 389 of file shlfolder.cpp.
394 ERR(
"SHOpenFolderAndSelectItems() is hackplemented\n");
405 pidlItem =
ILCombine(pidlFolder, apidl[0]);
410 pidlItem = pidlFolder;
420 hr = psfDesktop->GetDisplayNameOf(pidlItem, SHGDN_FORPARSING, &strret);
430 wcscpy(wszParams,
L"/select,");
431 wcscat(wszParams, wszBuf);
434 memset(&sei, 0,
sizeof sei);
#define SEE_MASK_WAITFORINPUTIDLE
HRESULT WINAPI StrRetToBufW(LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, UINT len)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define FAILED_UNEXPECTEDLY(hr)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
Referenced by CFindFolderContextMenu::InvokeCommand(), and CShellLink::OnCommand().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
shell |
| ) |
|