27#define CHARS_IN_GUID 39
43#define SHFSF_COL_NAME 0
44#define SHFSF_COL_SIZE 1
45#define SHFSF_COL_TYPE 2
46#define SHFSF_COL_MDATE 3
47#define SHFSF_COL_FATTS 4
48#define SHFSF_COL_COMMENT 5
75#define GET_SHGDN_FOR(dwFlags) ((DWORD)dwFlags & (DWORD)0x0000FF00)
76#define GET_SHGDN_RELATION(dwFlags) ((DWORD)dwFlags & (DWORD)0x000000FF)
77#define IS_SHGDN_FOR_PARSING(flags) ( ((flags) & (SHGDN_FORADDRESSBAR | SHGDN_FORPARSING)) == SHGDN_FORPARSING)
78#define IS_SHGDN_DESKTOPABSOLUTEPARSING(flags) ( ((flags) & (SHGDN_FORADDRESSBAR | SHGDN_FORPARSING | 0xFF)) == SHGDN_FORPARSING)
83 SFGAOF query = SFGAO_FOLDER | (ForRegItem ? SFGAO_NONENUMERATED : 0);
84 if (!(
Flags & SHCONTF_INCLUDEHIDDEN))
85 query |= SFGAO_HIDDEN;
86 if (!(
Flags & SHCONTF_INCLUDESUPERHIDDEN))
87 query |= SFGAO_HIDDEN | SFGAO_SYSTEM;
137 return sprintf(
str,
"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
145 static const WCHAR fmtW[] =
146 {
'{',
'%',
'0',
'8',
'l',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
'%',
'0',
'4',
'X',
'-',
147 '%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'-',
148 '%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
149 '%',
'0',
'2',
'X',
'%',
'0',
'2',
'X',
'}',0 };
static HRESULT SHELL32_CoCreateInitSF(LPCITEMIDLIST pidlRoot, PERSIST_FOLDER_TARGET_INFO *ppfti, LPCITEMIDLIST pidlChild, const GUID *clsid, REFIID riid, LPVOID *ppvOut)
#define shell32_hInstance
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
#define sprintf(buf, format,...)
interface IBindCtx * LPBC
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)
SHCONTF SHELL_GetDefaultFolderEnumSHCONTF()
HRESULT SHELL32_CompareChildren(IShellFolder2 *psf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
void AddFSClassKeysToArray(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, HKEY *array, UINT *cKeys)
static __inline int SHELL32_GUIDToStringW(REFGUID guid, LPWSTR str)
HRESULT SHELL32_GetFSItemAttributes(IShellFolder *psf, LPCITEMIDLIST pidl, LPDWORD pdwAttributes)
static __inline int SHELL32_GUIDToStringA(REFGUID guid, LPSTR str)
static SFGAOF SHELL_CreateFolderEnumItemAttributeQuery(SHCONTF Flags, BOOL ForRegItem)
LSTATUS AddClsidKeyToArray(REFCLSID clsid, HKEY *array, UINT *cKeys)
struct _REQUIREDREGITEM REQUIREDREGITEM
LSTATUS AddClassKeyToArray(const WCHAR *szClass, HKEY *array, UINT *cKeys)
HRESULT SHELL32_CompareDetails(IShellFolder2 *isf, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
struct _REGFOLDERINITDATA REGFOLDERINITDATA
HRESULT SH_GetApidlFromDataObject(IDataObject *pDataObject, PIDLIST_ABSOLUTE *ppidlfolder, PUITEMID_CHILD **apidlItems, UINT *pcidl)
struct _REGFOLDERINFO REGFOLDERINFO
BOOL HCR_RegOpenClassIDKey(REFIID riid, HKEY *hkey)
struct _REGFOLDERINITDATA * PREGFOLDERINITDATA
BOOL SHELL_IncludeItemInFolderEnum(IShellFolder *pSF, PCUITEMID_CHILD pidl, SFGAOF Query, SHCONTF Flags)
HRESULT CRegFolder_CreateInstance(PREGFOLDERINITDATA pInit, LPCITEMIDLIST pidlRoot, REFIID riid, void **ppv)
HRESULT Shell_NextElement(_Inout_ LPWSTR *ppch, _Out_ LPWSTR pszOut, _In_ INT cchOut, _In_ BOOL bValidate)
HRESULT SHELL32_ParseNextElement(IShellFolder2 *psf, HWND hwndOwner, LPBC pbc, LPITEMIDLIST *pidlInOut, LPOLESTR szNext, DWORD *pEaten, DWORD *pdwAttributes)
void SHELL_FS_ProcessDisplayFilename(LPWSTR szPath, DWORD dwFlags)
HRESULT CDefViewBckgrndMenu_CreateInstance(IShellFolder *psf, REFIID riid, void **ppv)
BOOL SHELL_FS_HideExtension(LPCWSTR pwszPath)
ITEMIDLIST UNALIGNED * LPITEMIDLIST
ITEMID_CHILD UNALIGNED * PUITEMID_CHILD
const PCUITEMID_CHILD * PCUITEMID_CHILD_ARRAY
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
const REQUIREDREGITEM * Items
const REGFOLDERINFO * pInfo
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_Must_inspect_result_ _In_ ULONG Flags