Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/shlobj.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _SHLOBJ_H_ | |
| 7 #define _SHLOBJ_H_ | |
| 8 | |
| 9 #ifndef _WINRESRC_ | |
| 10 #ifndef _WIN32_IE | |
| 11 #define _WIN32_IE 0x0501 | |
| 12 #else | |
| 13 #if (_WIN32_IE < 0x0501) | |
| 14 #error _WIN32_IE setting conflicts | |
| 15 #endif | |
| 16 #endif | |
| 17 #endif | |
| 18 | |
| 19 #ifndef SNDMSG | |
| 20 #ifdef __cplusplus | |
| 21 #define SNDMSG ::SendMessage | |
| 22 #else | |
| 23 #define SNDMSG SendMessage | |
| 24 #endif | |
| 25 #endif | |
| 26 | |
| 27 #ifndef WINSHELLAPI | |
| 28 #if defined(_SHELL32_) | |
| 29 #define WINSHELLAPI | |
| 30 #else | |
| 31 #define WINSHELLAPI DECLSPEC_IMPORT | |
| 32 #endif | |
| 33 #endif | |
| 34 | |
| 35 #ifndef SHSTDAPI | |
| 36 #if defined(_SHELL32_) | |
| 37 #define SHSTDAPI STDAPI | |
| 38 #define SHSTDAPI_(type) STDAPI_(type) | |
| 39 #else | |
| 40 #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 41 #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 42 #endif | |
| 43 #endif | |
| 44 | |
| 45 #ifndef SHDOCAPI | |
| 46 #if defined(_SHDOCVW_) | |
| 47 #define SHDOCAPI STDAPI | |
| 48 #define SHDOCAPI_(type) STDAPI_(type) | |
| 49 #else | |
| 50 #define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 51 #define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 52 #endif | |
| 53 #endif | |
| 54 | |
| 55 #ifndef SHSTDDOCAPI | |
| 56 #if defined(_SHDOCVW_) || defined(_SHELL32_) | |
| 57 #define SHSTDDOCAPI STDAPI | |
| 58 #define SHSTDDOCAPI_(type) STDAPI_(type) | |
| 59 #else | |
| 60 #define SHSTDDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 61 #define SHSTDDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 62 #endif | |
| 63 #endif | |
| 64 | |
| 65 #ifndef BROWSEUIAPI | |
| 66 #if defined(_BROWSEUI_) | |
| 67 #define BROWSEUIAPI STDAPI | |
| 68 #define BROWSEUIAPI_(type) STDAPI_(type) | |
| 69 #else | |
| 70 #define BROWSEUIAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 71 #define BROWSEUIAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 72 #endif | |
| 73 #endif | |
| 74 | |
| 75 #ifndef SHFOLDERAPI | |
| 76 #if defined(_SHFOLDER_) || defined(_SHELL32_) | |
| 77 #define SHFOLDERAPI STDAPI | |
| 78 #else | |
| 79 #define SHFOLDERAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 80 #endif | |
| 81 #endif | |
| 82 | |
| 83 #include <ole2.h> | |
| 84 #include <prsht.h> | |
| 85 #include <commctrl.h> | |
| 86 | |
| 87 #ifndef INITGUID | |
| 88 #include <shlguid.h> | |
| 89 #endif | |
| 90 | |
| 91 #include <pshpack1.h> | |
| 92 | |
| 93 #ifdef __cplusplus | |
| 94 extern "C" { | |
| 95 #endif | |
| 96 | |
| 97 #include <shtypes.h> | |
| 98 #include <shobjidl.h> | |
| 99 | |
| 100 SHSTDAPI SHGetMalloc(LPMALLOC *ppMalloc); | |
| 101 SHSTDAPI_(void *) SHAlloc(SIZE_T cb); | |
| 102 SHSTDAPI_(void) SHFree(void *pv); | |
| 103 | |
| 104 #define CMF_NORMAL 0x00000000 | |
| 105 #define CMF_DEFAULTONLY 0x00000001 | |
| 106 #define CMF_VERBSONLY 0x00000002 | |
| 107 #define CMF_EXPLORE 0x00000004 | |
| 108 #define CMF_NOVERBS 0x00000008 | |
| 109 #define CMF_CANRENAME 0x00000010 | |
| 110 #define CMF_NODEFAULT 0x00000020 | |
| 111 #define CMF_INCLUDESTATIC 0x00000040 | |
| 112 #define CMF_EXTENDEDVERBS 0x00000100 | |
| 113 #define CMF_RESERVED 0xffff0000 | |
| 114 | |
| 115 #define GCS_VERBA 0x00000000 | |
| 116 #define GCS_HELPTEXTA 0x00000001 | |
| 117 #define GCS_VALIDATEA 0x00000002 | |
| 118 #define GCS_VERBW 0x00000004 | |
| 119 #define GCS_HELPTEXTW 0x00000005 | |
| 120 #define GCS_VALIDATEW 0x00000006 | |
| 121 #define GCS_UNICODE 0x00000004 | |
| 122 | |
| 123 #ifdef UNICODE | |
| 124 #define GCS_VERB GCS_VERBW | |
| 125 #define GCS_HELPTEXT GCS_HELPTEXTW | |
| 126 #define GCS_VALIDATE GCS_VALIDATEW | |
| 127 #else | |
| 128 #define GCS_VERB GCS_VERBA | |
| 129 #define GCS_HELPTEXT GCS_HELPTEXTA | |
| 130 #define GCS_VALIDATE GCS_VALIDATEA | |
| 131 #endif | |
| 132 | |
| 133 #define CMDSTR_NEWFOLDERA "NewFolder" | |
| 134 #define CMDSTR_VIEWLISTA "ViewList" | |
| 135 #define CMDSTR_VIEWDETAILSA "ViewDetails" | |
| 136 #define CMDSTR_NEWFOLDERW L"NewFolder" | |
| 137 #define CMDSTR_VIEWLISTW L"ViewList" | |
| 138 #define CMDSTR_VIEWDETAILSW L"ViewDetails" | |
| 139 | |
| 140 #ifdef UNICODE | |
| 141 #define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERW | |
| 142 #define CMDSTR_VIEWLIST CMDSTR_VIEWLISTW | |
| 143 #define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSW | |
| 144 #else | |
| 145 #define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERA | |
| 146 #define CMDSTR_VIEWLIST CMDSTR_VIEWLISTA | |
| 147 #define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSA | |
| 148 #endif | |
| 149 | |
| 150 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY | |
| 151 #define CMIC_MASK_ICON SEE_MASK_ICON | |
| 152 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI | |
| 153 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE | |
| 154 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE | |
| 155 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME | |
| 156 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM | |
| 157 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE | |
| 158 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK | |
| 159 #if (_WIN32_IE >= 0x0603) | |
| 160 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS | |
| 161 #endif | |
| 162 | |
| 163 #define CMIC_MASK_SHIFT_DOWN 0x10000000 | |
| 164 #define CMIC_MASK_CONTROL_DOWN 0x40000000 | |
| 165 #if (_WIN32_IE >= 0x0560) | |
| 166 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE | |
| 167 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS | |
| 168 #endif | |
| 169 #define CMIC_MASK_PTINVOKE 0x20000000 | |
| 170 | |
| 171 #include <pshpack8.h> | |
| 172 | |
| 173 typedef struct _CMINVOKECOMMANDINFO { | |
| 174 DWORD cbSize; | |
| 175 DWORD fMask; | |
| 176 HWND hwnd; | |
| 177 LPCSTR lpVerb; | |
| 178 LPCSTR lpParameters; | |
| 179 LPCSTR lpDirectory; | |
| 180 int nShow; | |
| 181 | |
| 182 DWORD dwHotKey; | |
| 183 HANDLE hIcon; | |
| 184 } CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO; | |
| 185 | |
| 186 typedef struct _CMInvokeCommandInfoEx { | |
| 187 DWORD cbSize; | |
| 188 DWORD fMask; | |
| 189 HWND hwnd; | |
| 190 LPCSTR lpVerb; | |
| 191 LPCSTR lpParameters; | |
| 192 LPCSTR lpDirectory; | |
| 193 int nShow; | |
| 194 DWORD dwHotKey; | |
| 195 HANDLE hIcon; | |
| 196 LPCSTR lpTitle; | |
| 197 LPCWSTR lpVerbW; | |
| 198 LPCWSTR lpParametersW; | |
| 199 LPCWSTR lpDirectoryW; | |
| 200 LPCWSTR lpTitleW; | |
| 201 POINT ptInvoke; | |
| 202 } CMINVOKECOMMANDINFOEX,*LPCMINVOKECOMMANDINFOEX; | |
| 203 | |
| 204 #include <poppack.h> | |
| 205 | |
| 206 #undef INTERFACE | |
| 207 #define INTERFACE IContextMenu | |
| 208 | |
| 209 DECLARE_INTERFACE_(IContextMenu,IUnknown) { | |
| 210 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 211 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 212 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 213 STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE; | |
| 214 STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; | |
| 215 STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE; | |
| 216 }; | |
| 217 | |
| 218 typedef IContextMenu *LPCONTEXTMENU; | |
| 219 | |
| 220 #undef INTERFACE | |
| 221 #define INTERFACE IContextMenu2 | |
| 222 DECLARE_INTERFACE_(IContextMenu2,IContextMenu) { | |
| 223 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 224 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 225 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 226 STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE; | |
| 227 STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; | |
| 228 STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE; | |
| 229 STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE; | |
| 230 }; | |
| 231 | |
| 232 typedef IContextMenu2 *LPCONTEXTMENU2; | |
| 233 | |
| 234 #undef INTERFACE | |
| 235 #define INTERFACE IContextMenu3 | |
| 236 DECLARE_INTERFACE_(IContextMenu3,IContextMenu2) { | |
| 237 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 238 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 239 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 240 STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE; | |
| 241 STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; | |
| 242 STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE; | |
| 243 STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE; | |
| 244 STDMETHOD(HandleMenuMsg2)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) PURE; | |
| 245 }; | |
| 246 | |
| 247 typedef IContextMenu3 *LPCONTEXTMENU3; | |
| 248 | |
| 249 #undef INTERFACE | |
| 250 #define INTERFACE IPersistFolder3 | |
| 251 #define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY | |
| 252 | |
| 253 #include <pshpack8.h> | |
| 254 | |
| 255 typedef struct { | |
| 256 LPITEMIDLIST pidlTargetFolder; | |
| 257 WCHAR szTargetParsingName[MAX_PATH]; | |
| 258 WCHAR szNetworkProvider[MAX_PATH]; | |
| 259 DWORD dwAttributes; | |
| 260 int csidl; | |
| 261 } PERSIST_FOLDER_TARGET_INFO; | |
| 262 | |
| 263 #include <poppack.h> | |
| 264 | |
| 265 DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2) { | |
| 266 STDMETHOD(QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 267 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 268 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 269 STDMETHOD(GetClassID)(THIS_ LPCLSID lpClassID) PURE; | |
| 270 STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; | |
| 271 STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST *ppidl) PURE; | |
| 272 STDMETHOD(InitializeEx)(THIS_ IBindCtx *pbc,LPCITEMIDLIST pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) PURE; | |
| 273 STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO *ppfti) PURE; | |
| 274 }; | |
| 275 | |
| 276 #define GIL_OPENICON 0x0001 | |
| 277 #define GIL_FORSHELL 0x0002 | |
| 278 #define GIL_ASYNC 0x0020 | |
| 279 #define GIL_DEFAULTICON 0x0040 | |
| 280 #define GIL_FORSHORTCUT 0x0080 | |
| 281 | |
| 282 #define GIL_SIMULATEDOC 0x0001 | |
| 283 #define GIL_PERINSTANCE 0x0002 | |
| 284 #define GIL_PERCLASS 0x0004 | |
| 285 #define GIL_NOTFILENAME 0x0008 | |
| 286 #define GIL_DONTCACHE 0x0010 | |
| 287 | |
| 288 #undef INTERFACE | |
| 289 #define INTERFACE IExtractIconA | |
| 290 DECLARE_INTERFACE_(IExtractIconA,IUnknown) { | |
| 291 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 292 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 293 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 294 STDMETHOD(GetIconLocation)(THIS_ UINT uFlags,LPSTR szIconFile,UINT cchMax,int *piIndex,UINT *pwFlags) PURE; | |
| 295 STDMETHOD(Extract)(THIS_ LPCSTR pszFile,UINT nIconIndex,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize) PURE; | |
| 296 }; | |
| 297 | |
| 298 typedef IExtractIconA *LPEXTRACTICONA; | |
| 299 | |
| 300 #undef INTERFACE | |
| 301 #define INTERFACE IExtractIconW | |
| 302 DECLARE_INTERFACE_(IExtractIconW,IUnknown) { | |
| 303 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 304 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 305 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 306 STDMETHOD(GetIconLocation)(THIS_ UINT uFlags,LPWSTR szIconFile,UINT cchMax,int *piIndex,UINT *pwFlags) PURE; | |
| 307 STDMETHOD(Extract)(THIS_ LPCWSTR pszFile,UINT nIconIndex,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize) PURE; | |
| 308 }; | |
| 309 | |
| 310 typedef IExtractIconW *LPEXTRACTICONW; | |
| 311 | |
| 312 #ifdef UNICODE | |
| 313 #define IExtractIcon IExtractIconW | |
| 314 #define IExtractIconVtbl IExtractIconWVtbl | |
| 315 #define LPEXTRACTICON LPEXTRACTICONW | |
| 316 #else | |
| 317 #define IExtractIcon IExtractIconA | |
| 318 #define IExtractIconVtbl IExtractIconAVtbl | |
| 319 #define LPEXTRACTICON LPEXTRACTICONA | |
| 320 #endif | |
| 321 | |
| 322 #undef INTERFACE | |
| 323 #define INTERFACE IShellIcon | |
| 324 DECLARE_INTERFACE_(IShellIcon,IUnknown) { | |
| 325 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 326 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 327 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 328 STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl,UINT flags,LPINT lpIconIndex) PURE; | |
| 329 }; | |
| 330 | |
| 331 typedef IShellIcon *LPSHELLICON; | |
| 332 | |
| 333 #undef INTERFACE | |
| 334 #define INTERFACE IShellIconOverlayIdentifier | |
| 335 DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) { | |
| 336 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 337 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 338 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 339 STDMETHOD (IsMemberOf)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib) PURE; | |
| 340 STDMETHOD (GetOverlayInfo)(THIS_ LPWSTR pwszIconFile,int cchMax,int *pIndex,DWORD *pdwFlags) PURE; | |
| 341 STDMETHOD (GetPriority)(THIS_ int *pIPriority) PURE; | |
| 342 }; | |
| 343 | |
| 344 #define ISIOI_ICONFILE 0x00000001 | |
| 345 #define ISIOI_ICONINDEX 0x00000002 | |
| 346 #if (_WIN32_IE >= 0x0601) | |
| 347 #undef INTERFACE | |
| 348 #define INTERFACE IShellIconOverlayManager | |
| 349 DECLARE_INTERFACE_(IShellIconOverlayManager,IUnknown) { | |
| 350 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 351 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 352 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 353 STDMETHOD(GetFileOverlayInfo)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib,int *pIndex,DWORD dwflags) PURE; | |
| 354 STDMETHOD(GetReservedOverlayInfo)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib,int *pIndex,DWORD dwflags,int iReservedID) PURE; | |
| 355 STDMETHOD(RefreshOverlayImages)(THIS_ DWORD dwFlags) PURE; | |
| 356 STDMETHOD(LoadNonloadedOverlayIdentifiers)(THIS) PURE; | |
| 357 STDMETHOD(OverlayIndexFromImageIndex)(THIS_ int iImage,int *piIndex,WINBOOL fAdd) PURE; | |
| 358 }; | |
| 359 #define SIOM_OVERLAYINDEX 1 | |
| 360 #define SIOM_ICONINDEX 2 | |
| 361 | |
| 362 #define SIOM_RESERVED_SHARED 0 | |
| 363 #define SIOM_RESERVED_LINK 1 | |
| 364 #define SIOM_RESERVED_SLOWFILE 2 | |
| 365 #endif | |
| 366 | |
| 367 #undef INTERFACE | |
| 368 #define INTERFACE IShellIconOverlay | |
| 369 DECLARE_INTERFACE_(IShellIconOverlay,IUnknown) { | |
| 370 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 371 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 372 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 373 STDMETHOD(GetOverlayIndex)(THIS_ LPCITEMIDLIST pidl,int *pIndex) PURE; | |
| 374 STDMETHOD(GetOverlayIconIndex)(THIS_ LPCITEMIDLIST pidl,int *pIconIndex) PURE; | |
| 375 }; | |
| 376 | |
| 377 #define OI_ASYNC 0xFFFFEEEE | |
| 378 | |
| 379 #define IDO_SHGIOI_SHARE 0x0FFFFFFF | |
| 380 #define IDO_SHGIOI_LINK 0x0FFFFFFE | |
| 381 #define IDO_SHGIOI_SLOWFILE 0x0FFFFFFFD | |
| 382 #define IDO_SHGIOI_DEFAULT 0x0FFFFFFC | |
| 383 SHSTDAPI_(int) SHGetIconOverlayIndexA(LPCSTR pszIconPath,int iIconIndex); | |
| 384 SHSTDAPI_(int) SHGetIconOverlayIndexW(LPCWSTR pszIconPath,int iIconIndex); | |
| 385 #ifdef UNICODE | |
| 386 #define SHGetIconOverlayIndex SHGetIconOverlayIndexW | |
| 387 #else | |
| 388 #define SHGetIconOverlayIndex SHGetIconOverlayIndexA | |
| 389 #endif | |
| 390 | |
| 391 typedef enum { | |
| 392 SLDF_HAS_ID_LIST = 0x00000001,SLDF_HAS_LINK_INFO = 0x00000002,SLDF_HAS_NAME = 0x00000004,SLDF_HAS_RELPATH = 0x00000008, | |
| 393 SLDF_HAS_WORKINGDIR = 0x00000010,SLDF_HAS_ARGS = 0x00000020,SLDF_HAS_ICONLOCATION = 0x00000040,SLDF_UNICODE = 0x00000080, | |
| 394 SLDF_FORCE_NO_LINKINFO = 0x00000100,SLDF_HAS_EXP_SZ = 0x00000200,SLDF_RUN_IN_SEPARATE = 0x00000400,SLDF_HAS_LOGO3ID = 0x00000800, | |
| 395 SLDF_HAS_DARWINID = 0x00001000,SLDF_RUNAS_USER = 0x00002000,SLDF_HAS_EXP_ICON_SZ = 0x00004000,SLDF_NO_PIDL_ALIAS = 0x00008000, | |
| 396 SLDF_FORCE_UNCNAME = 0x00010000,SLDF_RUN_WITH_SHIMLAYER = 0x00020000,SLDF_RESERVED = 0x80000000 | |
| 397 } SHELL_LINK_DATA_FLAGS; | |
| 398 | |
| 399 typedef struct tagDATABLOCKHEADER { | |
| 400 DWORD cbSize; | |
| 401 DWORD dwSignature; | |
| 402 } DATABLOCK_HEADER,*LPDATABLOCK_HEADER,*LPDBLIST; | |
| 403 | |
| 404 typedef struct { | |
| 405 #ifdef __cplusplus | |
| 406 DATABLOCK_HEADER dbh; | |
| 407 #else | |
| 408 /* DATABLOCK_HEADER; */ | |
| 409 __MINGW_EXTENSION struct { | |
| 410 DWORD cbSize; | |
| 411 DWORD dwSignature; | |
| 412 }; | |
| 413 #endif | |
| 414 WORD wFillAttribute; | |
| 415 WORD wPopupFillAttribute; | |
| 416 COORD dwScreenBufferSize; | |
| 417 COORD dwWindowSize; | |
| 418 COORD dwWindowOrigin; | |
| 419 DWORD nFont; | |
| 420 DWORD nInputBufferSize; | |
| 421 COORD dwFontSize; | |
| 422 UINT uFontFamily; | |
| 423 UINT uFontWeight; | |
| 424 WCHAR FaceName[LF_FACESIZE]; | |
| 425 UINT uCursorSize; | |
| 426 WINBOOL bFullScreen; | |
| 427 WINBOOL bQuickEdit; | |
| 428 WINBOOL bInsertMode; | |
| 429 WINBOOL bAutoPosition; | |
| 430 UINT uHistoryBufferSize; | |
| 431 UINT uNumberOfHistoryBuffers; | |
| 432 WINBOOL bHistoryNoDup; | |
| 433 COLORREF ColorTable[16 ]; | |
| 434 } NT_CONSOLE_PROPS,*LPNT_CONSOLE_PROPS; | |
| 435 #define NT_CONSOLE_PROPS_SIG 0xA0000002 | |
| 436 | |
| 437 typedef struct { | |
| 438 #ifdef __cplusplus | |
| 439 DATABLOCK_HEADER dbh; | |
| 440 #else | |
| 441 /* DATABLOCK_HEADER; */ | |
| 442 __MINGW_EXTENSION struct { | |
| 443 DWORD cbSize; | |
| 444 DWORD dwSignature; | |
| 445 }; | |
| 446 #endif | |
| 447 UINT uCodePage; | |
| 448 } NT_FE_CONSOLE_PROPS,*LPNT_FE_CONSOLE_PROPS; | |
| 449 #define NT_FE_CONSOLE_PROPS_SIG 0xA0000004 | |
| 450 | |
| 451 typedef struct { | |
| 452 #ifdef __cplusplus | |
| 453 DATABLOCK_HEADER dbh; | |
| 454 #else | |
| 455 /* DATABLOCK_HEADER; */ | |
| 456 __MINGW_EXTENSION struct { | |
| 457 DWORD cbSize; | |
| 458 DWORD dwSignature; | |
| 459 }; | |
| 460 #endif | |
| 461 CHAR szDarwinID[MAX_PATH]; | |
| 462 WCHAR szwDarwinID[MAX_PATH]; | |
| 463 } EXP_DARWIN_LINK,*LPEXP_DARWIN_LINK; | |
| 464 #define EXP_DARWIN_ID_SIG 0xA0000006 | |
| 465 #define EXP_LOGO3_ID_SIG 0xA0000007 | |
| 466 | |
| 467 #define EXP_SPECIAL_FOLDER_SIG 0xA0000005 | |
| 468 | |
| 469 typedef struct { | |
| 470 DWORD cbSize; | |
| 471 DWORD dwSignature; | |
| 472 DWORD idSpecialFolder; | |
| 473 DWORD cbOffset; | |
| 474 } EXP_SPECIAL_FOLDER,*LPEXP_SPECIAL_FOLDER; | |
| 475 | |
| 476 typedef struct { | |
| 477 DWORD cbSize; | |
| 478 DWORD dwSignature; | |
| 479 CHAR szTarget[MAX_PATH ]; | |
| 480 WCHAR swzTarget[MAX_PATH ]; | |
| 481 } EXP_SZ_LINK,*LPEXP_SZ_LINK; | |
| 482 #define EXP_SZ_LINK_SIG 0xA0000001 | |
| 483 #define EXP_SZ_ICON_SIG 0xA0000007 | |
| 484 | |
| 485 #undef INTERFACE | |
| 486 #define INTERFACE IShellLinkDataList | |
| 487 DECLARE_INTERFACE_(IShellLinkDataList,IUnknown) { | |
| 488 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 489 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 490 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 491 STDMETHOD(AddDataBlock)(THIS_ void *pDataBlock) PURE; | |
| 492 STDMETHOD(CopyDataBlock)(THIS_ DWORD dwSig,void **ppDataBlock) PURE; | |
| 493 STDMETHOD(RemoveDataBlock)(THIS_ DWORD dwSig) PURE; | |
| 494 STDMETHOD(GetFlags)(THIS_ DWORD *pdwFlags) PURE; | |
| 495 STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) PURE; | |
| 496 }; | |
| 497 | |
| 498 #undef INTERFACE | |
| 499 #define INTERFACE IResolveShellLink | |
| 500 DECLARE_INTERFACE_(IResolveShellLink,IUnknown) { | |
| 501 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 502 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 503 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 504 STDMETHOD(ResolveShellLink)(THIS_ IUnknown *punk,HWND hwnd,DWORD fFlags) PURE; | |
| 505 }; | |
| 506 | |
| 507 #ifdef _INC_SHELLAPI | |
| 508 | |
| 509 #undef INTERFACE | |
| 510 #define INTERFACE IShellExecuteHookA | |
| 511 DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown) { | |
| 512 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 513 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 514 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 515 STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA pei) PURE; | |
| 516 }; | |
| 517 | |
| 518 #undef INTERFACE | |
| 519 #define INTERFACE IShellExecuteHookW | |
| 520 DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown) { | |
| 521 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 522 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 523 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 524 STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW pei) PURE; | |
| 525 }; | |
| 526 | |
| 527 #ifdef UNICODE | |
| 528 #define IShellExecuteHook IShellExecuteHookW | |
| 529 #define IShellExecuteHookVtbl IShellExecuteHookWVtbl | |
| 530 #else | |
| 531 #define IShellExecuteHook IShellExecuteHookA | |
| 532 #define IShellExecuteHookVtbl IShellExecuteHookAVtbl | |
| 533 #endif | |
| 534 #endif | |
| 535 | |
| 536 #undef INTERFACE | |
| 537 #define INTERFACE IURLSearchHook | |
| 538 DECLARE_INTERFACE_(IURLSearchHook,IUnknown) { | |
| 539 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 540 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 541 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 542 STDMETHOD(Translate)(THIS_ LPWSTR lpwszSearchURL,DWORD cchBufferSize) PURE; | |
| 543 }; | |
| 544 | |
| 545 #undef INTERFACE | |
| 546 #define INTERFACE ISearchContext | |
| 547 DECLARE_INTERFACE_(ISearchContext,IUnknown) { | |
| 548 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 549 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 550 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 551 STDMETHOD(GetSearchUrl)(THIS_ BSTR *pbstrSearchUrl) PURE; | |
| 552 STDMETHOD(GetSearchText)(THIS_ BSTR *pbstrSearchText) PURE; | |
| 553 STDMETHOD(GetSearchStyle)(THIS_ DWORD *pdwSearchStyle) PURE; | |
| 554 }; | |
| 555 | |
| 556 #undef INTERFACE | |
| 557 #define INTERFACE IURLSearchHook2 | |
| 558 DECLARE_INTERFACE_(IURLSearchHook2,IURLSearchHook) { | |
| 559 STDMETHOD(TranslateWithSearchContext)(THIS_ LPWSTR lpwszSearchURL,DWORD cchBufferSize,ISearchContext *pSearchContext) PURE; | |
| 560 }; | |
| 561 | |
| 562 #undef INTERFACE | |
| 563 #define INTERFACE INewShortcutHookA | |
| 564 | |
| 565 DECLARE_INTERFACE_(INewShortcutHookA,IUnknown) { | |
| 566 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 567 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 568 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 569 STDMETHOD(SetReferent)(THIS_ LPCSTR pcszReferent,HWND hwnd) PURE; | |
| 570 STDMETHOD(GetReferent)(THIS_ LPSTR pszReferent,int cchReferent) PURE; | |
| 571 STDMETHOD(SetFolder)(THIS_ LPCSTR pcszFolder) PURE; | |
| 572 STDMETHOD(GetFolder)(THIS_ LPSTR pszFolder,int cchFolder) PURE; | |
| 573 STDMETHOD(GetName)(THIS_ LPSTR pszName,int cchName) PURE; | |
| 574 STDMETHOD(GetExtension)(THIS_ LPSTR pszExtension,int cchExtension) PURE; | |
| 575 }; | |
| 576 | |
| 577 #undef INTERFACE | |
| 578 #define INTERFACE INewShortcutHookW | |
| 579 DECLARE_INTERFACE_(INewShortcutHookW,IUnknown) { | |
| 580 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 581 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 582 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 583 STDMETHOD(SetReferent)(THIS_ LPCWSTR pcszReferent,HWND hwnd) PURE; | |
| 584 STDMETHOD(GetReferent)(THIS_ LPWSTR pszReferent,int cchReferent) PURE; | |
| 585 STDMETHOD(SetFolder)(THIS_ LPCWSTR pcszFolder) PURE; | |
| 586 STDMETHOD(GetFolder)(THIS_ LPWSTR pszFolder,int cchFolder) PURE; | |
| 587 STDMETHOD(GetName)(THIS_ LPWSTR pszName,int cchName) PURE; | |
| 588 STDMETHOD(GetExtension)(THIS_ LPWSTR pszExtension,int cchExtension) PURE; | |
| 589 }; | |
| 590 | |
| 591 #ifdef UNICODE | |
| 592 #define INewShortcutHook INewShortcutHookW | |
| 593 #define INewShortcutHookVtbl INewShortcutHookWVtbl | |
| 594 #else | |
| 595 #define INewShortcutHook INewShortcutHookA | |
| 596 #define INewShortcutHookVtbl INewShortcutHookAVtbl | |
| 597 #endif | |
| 598 | |
| 599 #ifndef FO_MOVE | |
| 600 | |
| 601 #define FO_MOVE 0x0001 | |
| 602 #define FO_COPY 0x0002 | |
| 603 #define FO_DELETE 0x0003 | |
| 604 #define FO_RENAME 0x0004 | |
| 605 | |
| 606 #define FOF_MULTIDESTFILES 0x0001 | |
| 607 #define FOF_CONFIRMMOUSE 0x0002 | |
| 608 #define FOF_SILENT 0x0004 | |
| 609 #define FOF_RENAMEONCOLLISION 0x0008 | |
| 610 #define FOF_NOCONFIRMATION 0x0010 | |
| 611 #define FOF_WANTMAPPINGHANDLE 0x0020 | |
| 612 | |
| 613 #define FOF_ALLOWUNDO 0x0040 | |
| 614 #define FOF_FILESONLY 0x0080 | |
| 615 #define FOF_SIMPLEPROGRESS 0x0100 | |
| 616 #define FOF_NOCONFIRMMKDIR 0x0200 | |
| 617 #define FOF_NOERRORUI 0x0400 | |
| 618 #define FOF_NOCOPYSECURITYATTRIBS 0x0800 | |
| 619 #define FOF_NORECURSION 0x1000 | |
| 620 #define FOF_NO_CONNECTED_ELEMENTS 0x2000 | |
| 621 #define FOF_WANTNUKEWARNING 0x4000 | |
| 622 #define FOF_NORECURSEREPARSE 0x8000 | |
| 623 | |
| 624 typedef WORD FILEOP_FLAGS; | |
| 625 | |
| 626 #define PO_DELETE 0x0013 | |
| 627 #define PO_RENAME 0x0014 | |
| 628 #define PO_PORTCHANGE 0x0020 | |
| 629 | |
| 630 #define PO_REN_PORT 0x0034 | |
| 631 | |
| 632 typedef UINT PRINTEROP_FLAGS; | |
| 633 #endif | |
| 634 | |
| 635 #undef INTERFACE | |
| 636 #define INTERFACE ICopyHookA | |
| 637 DECLARE_INTERFACE_(ICopyHookA,IUnknown) { | |
| 638 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 639 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 640 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 641 STDMETHOD_(UINT,CopyCallback) (THIS_ HWND hwnd,UINT wFunc,UINT wFlags,LPCSTR pszSrcFile,DWORD dwSrcAttribs,LPCSTR pszDestFile,DWORD dwDestAttribs) PURE; | |
| 642 }; | |
| 643 | |
| 644 typedef ICopyHookA *LPCOPYHOOKA; | |
| 645 | |
| 646 #undef INTERFACE | |
| 647 #define INTERFACE ICopyHookW | |
| 648 DECLARE_INTERFACE_(ICopyHookW,IUnknown) { | |
| 649 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 650 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 651 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 652 STDMETHOD_(UINT,CopyCallback) (THIS_ HWND hwnd,UINT wFunc,UINT wFlags,LPCWSTR pszSrcFile,DWORD dwSrcAttribs,LPCWSTR pszDestFile,DWORD dwDestAttribs) PURE; | |
| 653 }; | |
| 654 | |
| 655 typedef ICopyHookW *LPCOPYHOOKW; | |
| 656 | |
| 657 #ifdef UNICODE | |
| 658 #define ICopyHook ICopyHookW | |
| 659 #define ICopyHookVtbl ICopyHookWVtbl | |
| 660 #define LPCOPYHOOK LPCOPYHOOKW | |
| 661 #else | |
| 662 #define ICopyHook ICopyHookA | |
| 663 #define ICopyHookVtbl ICopyHookAVtbl | |
| 664 #define LPCOPYHOOK LPCOPYHOOKA | |
| 665 #endif | |
| 666 | |
| 667 #undef INTERFACE | |
| 668 #define INTERFACE IFileViewerSite | |
| 669 DECLARE_INTERFACE_(IFileViewerSite,IUnknown) { | |
| 670 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 671 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 672 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 673 STDMETHOD(SetPinnedWindow) (THIS_ HWND hwnd) PURE; | |
| 674 STDMETHOD(GetPinnedWindow) (THIS_ HWND *phwnd) PURE; | |
| 675 }; | |
| 676 | |
| 677 typedef IFileViewerSite *LPFILEVIEWERSITE; | |
| 678 | |
| 679 #include <pshpack8.h> | |
| 680 | |
| 681 typedef struct { | |
| 682 DWORD cbSize; | |
| 683 HWND hwndOwner; | |
| 684 int iShow; | |
| 685 DWORD dwFlags; | |
| 686 RECT rect; | |
| 687 IUnknown *punkRel; | |
| 688 OLECHAR strNewFile[MAX_PATH]; | |
| 689 } FVSHOWINFO,*LPFVSHOWINFO; | |
| 690 | |
| 691 #include <poppack.h> | |
| 692 | |
| 693 #define FVSIF_RECT 0x00000001 | |
| 694 #define FVSIF_PINNED 0x00000002 | |
| 695 | |
| 696 #define FVSIF_NEWFAILED 0x08000000 | |
| 697 | |
| 698 #define FVSIF_NEWFILE 0x80000000 | |
| 699 #define FVSIF_CANVIEWIT 0x40000000 | |
| 700 | |
| 701 #undef INTERFACE | |
| 702 #define INTERFACE IFileViewerA | |
| 703 DECLARE_INTERFACE(IFileViewerA) { | |
| 704 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 705 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 706 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 707 STDMETHOD(ShowInitialize) (THIS_ LPFILEVIEWERSITE lpfsi) PURE; | |
| 708 STDMETHOD(Show) (THIS_ LPFVSHOWINFO pvsi) PURE; | |
| 709 STDMETHOD(PrintTo) (THIS_ LPSTR pszDriver,WINBOOL fSuppressUI) PURE; | |
| 710 }; | |
| 711 | |
| 712 typedef IFileViewerA *LPFILEVIEWERA; | |
| 713 | |
| 714 #undef INTERFACE | |
| 715 #define INTERFACE IFileViewerW | |
| 716 DECLARE_INTERFACE(IFileViewerW) { | |
| 717 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 718 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 719 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 720 STDMETHOD(ShowInitialize) (THIS_ LPFILEVIEWERSITE lpfsi) PURE; | |
| 721 STDMETHOD(Show) (THIS_ LPFVSHOWINFO pvsi) PURE; | |
| 722 STDMETHOD(PrintTo) (THIS_ LPWSTR pszDriver,WINBOOL fSuppressUI) PURE; | |
| 723 }; | |
| 724 | |
| 725 typedef IFileViewerW *LPFILEVIEWERW; | |
| 726 | |
| 727 #ifdef UNICODE | |
| 728 #define IFileViewer IFileViewerW | |
| 729 #define LPFILEVIEWER LPFILEVIEWERW | |
| 730 #else | |
| 731 #define IFileViewer IFileViewerA | |
| 732 #define LPFILEVIEWER LPFILEVIEWERA | |
| 733 #endif | |
| 734 | |
| 735 #define FCIDM_SHVIEWFIRST 0x0000 | |
| 736 #define FCIDM_SHVIEWLAST 0x7fff | |
| 737 #define FCIDM_BROWSERFIRST 0xa000 | |
| 738 #define FCIDM_BROWSERLAST 0xbf00 | |
| 739 #define FCIDM_GLOBALFIRST 0x8000 | |
| 740 #define FCIDM_GLOBALLAST 0x9fff | |
| 741 | |
| 742 #define FCIDM_MENU_FILE (FCIDM_GLOBALFIRST+0x0000) | |
| 743 #define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040) | |
| 744 #define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080) | |
| 745 #define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081) | |
| 746 #define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0) | |
| 747 #define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1) | |
| 748 #define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100) | |
| 749 #define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140) | |
| 750 #define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150) | |
| 751 #define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170) | |
| 752 | |
| 753 #define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0) | |
| 754 #define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1) | |
| 755 | |
| 756 #define IDC_OFFLINE_HAND 103 | |
| 757 | |
| 758 #define PANE_NONE -1 | |
| 759 #define PANE_ZONE 1 | |
| 760 #define PANE_OFFLINE 2 | |
| 761 #define PANE_PRINTER 3 | |
| 762 #define PANE_SSL 4 | |
| 763 #define PANE_NAVIGATION 5 | |
| 764 #define PANE_PROGRESS 6 | |
| 765 #define PANE_PRIVACY 7 | |
| 766 | |
| 767 #define CDBOSC_SETFOCUS 0x00000000 | |
| 768 #define CDBOSC_KILLFOCUS 0x00000001 | |
| 769 #define CDBOSC_SELCHANGE 0x00000002 | |
| 770 #define CDBOSC_RENAME 0x00000003 | |
| 771 #define CDBOSC_STATECHANGE 0x00000004 | |
| 772 | |
| 773 #undef INTERFACE | |
| 774 #define INTERFACE ICommDlgBrowser | |
| 775 DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) { | |
| 776 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 777 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 778 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 779 STDMETHOD(OnDefaultCommand) (THIS_ struct IShellView *ppshv) PURE; | |
| 780 STDMETHOD(OnStateChange) (THIS_ struct IShellView *ppshv,ULONG uChange) PURE; | |
| 781 STDMETHOD(IncludeObject) (THIS_ struct IShellView *ppshv,LPCITEMIDLIST pidl) PURE; | |
| 782 }; | |
| 783 | |
| 784 typedef ICommDlgBrowser *LPCOMMDLGBROWSER; | |
| 785 | |
| 786 #define CDB2N_CONTEXTMENU_DONE 0x00000001 | |
| 787 #define CDB2N_CONTEXTMENU_START 0x00000002 | |
| 788 | |
| 789 #define CDB2GVF_SHOWALLFILES 0x00000001 | |
| 790 | |
| 791 #undef INTERFACE | |
| 792 #define INTERFACE ICommDlgBrowser2 | |
| 793 DECLARE_INTERFACE_(ICommDlgBrowser2,IUnknown) { | |
| 794 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 795 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 796 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 797 STDMETHOD(OnDefaultCommand) (THIS_ struct IShellView *ppshv) PURE; | |
| 798 STDMETHOD(OnStateChange) (THIS_ struct IShellView *ppshv,ULONG uChange) PURE; | |
| 799 STDMETHOD(IncludeObject) (THIS_ struct IShellView *ppshv,LPCITEMIDLIST pidl) PURE; | |
| 800 STDMETHOD(Notify) (THIS_ struct IShellView *ppshv,DWORD dwNotifyType) PURE; | |
| 801 STDMETHOD(GetDefaultMenuText) (THIS_ struct IShellView *ppshv,WCHAR *pszText,INT cchMax) PURE; | |
| 802 STDMETHOD(GetViewFlags)(THIS_ DWORD *pdwFlags) PURE; | |
| 803 }; | |
| 804 | |
| 805 typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2; | |
| 806 | |
| 807 #ifdef UNICODE | |
| 808 #define SHGetPathFromIDList SHGetPathFromIDListW | |
| 809 #define SHCreateDirectoryEx SHCreateDirectoryExW | |
| 810 #else | |
| 811 #define SHGetPathFromIDList SHGetPathFromIDListA | |
| 812 #define SHCreateDirectoryEx SHCreateDirectoryExA | |
| 813 #endif | |
| 814 | |
| 815 SHSTDAPI_(WINBOOL) SHGetPathFromIDListA(LPCITEMIDLIST pidl,LPSTR pszPath); | |
| 816 SHSTDAPI_(WINBOOL) SHGetPathFromIDListW(LPCITEMIDLIST pidl,LPWSTR pszPath); | |
| 817 SHSTDAPI_(int) SHCreateDirectory(HWND hwnd,LPCWSTR pszPath); | |
| 818 SHSTDAPI_(int) SHCreateDirectoryExA(HWND hwnd,LPCSTR pszPath,SECURITY_ATTRIBUTES *psa); | |
| 819 SHSTDAPI_(int) SHCreateDirectoryExW(HWND hwnd,LPCWSTR pszPath,SECURITY_ATTRIBUTES *psa); | |
| 820 SHSTDAPI SHOpenFolderAndSelectItems(LPCITEMIDLIST pidlFolder,UINT cidl,LPCITEMIDLIST *apidl,DWORD dwFlags); | |
| 821 SHSTDAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,IShellFolder *psfParent,LPCITEMIDLIST pidl,IShellItem **ppsi); | |
| 822 | |
| 823 #define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders") | |
| 824 | |
| 825 #define CSIDL_DESKTOP 0x0000 | |
| 826 #define CSIDL_INTERNET 0x0001 | |
| 827 #define CSIDL_PROGRAMS 0x0002 | |
| 828 #define CSIDL_CONTROLS 0x0003 | |
| 829 #define CSIDL_PRINTERS 0x0004 | |
| 830 #define CSIDL_PERSONAL 0x0005 | |
| 831 #define CSIDL_FAVORITES 0x0006 | |
| 832 #define CSIDL_STARTUP 0x0007 | |
| 833 #define CSIDL_RECENT 0x0008 | |
| 834 #define CSIDL_SENDTO 0x0009 | |
| 835 #define CSIDL_BITBUCKET 0x000a | |
| 836 #define CSIDL_STARTMENU 0x000b | |
| 837 #define CSIDL_MYDOCUMENTS 0x000c | |
| 838 #define CSIDL_MYMUSIC 0x000d | |
| 839 #define CSIDL_MYVIDEO 0x000e | |
| 840 #define CSIDL_DESKTOPDIRECTORY 0x0010 | |
| 841 #define CSIDL_DRIVES 0x0011 | |
| 842 #define CSIDL_NETWORK 0x0012 | |
| 843 #define CSIDL_NETHOOD 0x0013 | |
| 844 #define CSIDL_FONTS 0x0014 | |
| 845 #define CSIDL_TEMPLATES 0x0015 | |
| 846 #define CSIDL_COMMON_STARTMENU 0x0016 | |
| 847 #define CSIDL_COMMON_PROGRAMS 0X0017 | |
| 848 #define CSIDL_COMMON_STARTUP 0x0018 | |
| 849 #define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 | |
| 850 #define CSIDL_APPDATA 0x001a | |
| 851 #define CSIDL_PRINTHOOD 0x001b | |
| 852 | |
| 853 #ifndef CSIDL_LOCAL_APPDATA | |
| 854 #define CSIDL_LOCAL_APPDATA 0x001c | |
| 855 #endif | |
| 856 | |
| 857 #define CSIDL_ALTSTARTUP 0x001d | |
| 858 #define CSIDL_COMMON_ALTSTARTUP 0x001e | |
| 859 #define CSIDL_COMMON_FAVORITES 0x001f | |
| 860 | |
| 861 #ifndef _SHFOLDER_H_ | |
| 862 #define CSIDL_INTERNET_CACHE 0x0020 | |
| 863 #define CSIDL_COOKIES 0x0021 | |
| 864 #define CSIDL_HISTORY 0x0022 | |
| 865 #define CSIDL_COMMON_APPDATA 0x0023 | |
| 866 #define CSIDL_WINDOWS 0x0024 | |
| 867 #define CSIDL_SYSTEM 0x0025 | |
| 868 #define CSIDL_PROGRAM_FILES 0x0026 | |
| 869 #define CSIDL_MYPICTURES 0x0027 | |
| 870 #endif | |
| 871 | |
| 872 #define CSIDL_PROFILE 0x0028 | |
| 873 #define CSIDL_SYSTEMX86 0x0029 | |
| 874 #define CSIDL_PROGRAM_FILESX86 0x002a | |
| 875 | |
| 876 #ifndef _SHFOLDER_H_ | |
| 877 #define CSIDL_PROGRAM_FILES_COMMON 0x002b | |
| 878 #endif | |
| 879 | |
| 880 #define CSIDL_PROGRAM_FILES_COMMONX86 0x002c | |
| 881 #define CSIDL_COMMON_TEMPLATES 0x002d | |
| 882 | |
| 883 #ifndef _SHFOLDER_H_ | |
| 884 #define CSIDL_COMMON_DOCUMENTS 0x002e | |
| 885 #define CSIDL_COMMON_ADMINTOOLS 0x002f | |
| 886 #define CSIDL_ADMINTOOLS 0x0030 | |
| 887 #endif | |
| 888 | |
| 889 #define CSIDL_CONNECTIONS 0x0031 | |
| 890 #define CSIDL_COMMON_MUSIC 0x0035 | |
| 891 #define CSIDL_COMMON_PICTURES 0x0036 | |
| 892 #define CSIDL_COMMON_VIDEO 0x0037 | |
| 893 #define CSIDL_RESOURCES 0x0038 | |
| 894 | |
| 895 #ifndef _SHFOLDER_H_ | |
| 896 #define CSIDL_RESOURCES_LOCALIZED 0x0039 | |
| 897 #endif | |
| 898 | |
| 899 #define CSIDL_COMMON_OEM_LINKS 0x003a | |
| 900 #define CSIDL_CDBURN_AREA 0x003b | |
| 901 | |
| 902 #define CSIDL_COMPUTERSNEARME 0x003d | |
| 903 | |
| 904 #ifndef _SHFOLDER_H_ | |
| 905 #define CSIDL_FLAG_CREATE 0x8000 | |
| 906 #endif | |
| 907 | |
| 908 #define CSIDL_FLAG_DONT_VERIFY 0x4000 | |
| 909 #define CSIDL_FLAG_NO_ALIAS 0x1000 | |
| 910 #define CSIDL_FLAG_PER_USER_INIT 0x0800 | |
| 911 #define CSIDL_FLAG_MASK 0xFF00 | |
| 912 | |
| 913 #ifdef UNICODE | |
| 914 #define SHGetSpecialFolderPath SHGetSpecialFolderPathW | |
| 915 #define SHGetFolderPath SHGetFolderPathW | |
| 916 #define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW | |
| 917 #else | |
| 918 #define SHGetSpecialFolderPath SHGetSpecialFolderPathA | |
| 919 #define SHGetFolderPath SHGetFolderPathA | |
| 920 #define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA | |
| 921 #endif | |
| 922 | |
| 923 SHSTDAPI SHGetSpecialFolderLocation(HWND hwnd,int csidl,LPITEMIDLIST *ppidl); | |
| 924 SHSTDAPI_(void) SHFlushSFCache(void); | |
| 925 SHSTDAPI_(LPITEMIDLIST) SHCloneSpecialIDList(HWND hwnd,int csidl,WINBOOL fCreate); | |
| 926 SHSTDAPI_(WINBOOL) SHGetSpecialFolderPathA(HWND hwnd,LPSTR pszPath,int csidl,WINBOOL fCreate); | |
| 927 SHSTDAPI_(WINBOOL) SHGetSpecialFolderPathW(HWND hwnd,LPWSTR pszPath,int csidl,WINBOOL fCreate); | |
| 928 | |
| 929 typedef enum { | |
| 930 SHGFP_TYPE_CURRENT = 0,SHGFP_TYPE_DEFAULT = 1 | |
| 931 } SHGFP_TYPE; | |
| 932 | |
| 933 SHFOLDERAPI SHGetFolderPathA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPSTR pszPath); | |
| 934 SHFOLDERAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath); | |
| 935 SHSTDAPI SHGetFolderLocation(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPITEMIDLIST *ppidl); | |
| 936 SHFOLDERAPI SHGetFolderPathAndSubDirA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPCSTR pszSubDir,LPSTR pszPath); | |
| 937 SHFOLDERAPI SHGetFolderPathAndSubDirW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPCWSTR pszSubDir,LPWSTR pszPath); | |
| 938 | |
| 939 #define FCS_READ 0x00000001 | |
| 940 #define FCS_FORCEWRITE 0x00000002 | |
| 941 #define FCS_WRITE (FCS_READ | FCS_FORCEWRITE) | |
| 942 #define FCS_FLAG_DRAGDROP 2 | |
| 943 | |
| 944 #define FCSM_VIEWID 0x00000001 | |
| 945 #define FCSM_WEBVIEWTEMPLATE 0x00000002 | |
| 946 #define FCSM_INFOTIP 0x00000004 | |
| 947 #define FCSM_CLSID 0x00000008 | |
| 948 #define FCSM_ICONFILE 0x00000010 | |
| 949 #define FCSM_LOGO 0x00000020 | |
| 950 #define FCSM_FLAGS 0x00000040 | |
| 951 | |
| 952 #include <pshpack8.h> | |
| 953 | |
| 954 typedef struct { | |
| 955 DWORD dwSize; | |
| 956 DWORD dwMask; | |
| 957 SHELLVIEWID *pvid; | |
| 958 LPSTR pszWebViewTemplate; | |
| 959 DWORD cchWebViewTemplate; | |
| 960 LPSTR pszWebViewTemplateVersion; | |
| 961 LPSTR pszInfoTip; | |
| 962 DWORD cchInfoTip; | |
| 963 CLSID *pclsid; | |
| 964 DWORD dwFlags; | |
| 965 LPSTR pszIconFile; | |
| 966 DWORD cchIconFile; | |
| 967 int iIconIndex; | |
| 968 LPSTR pszLogo; | |
| 969 DWORD cchLogo; | |
| 970 } SHFOLDERCUSTOMSETTINGSA,*LPSHFOLDERCUSTOMSETTINGSA; | |
| 971 | |
| 972 typedef struct { | |
| 973 DWORD dwSize; | |
| 974 DWORD dwMask; | |
| 975 SHELLVIEWID *pvid; | |
| 976 LPWSTR pszWebViewTemplate; | |
| 977 DWORD cchWebViewTemplate; | |
| 978 LPWSTR pszWebViewTemplateVersion; | |
| 979 LPWSTR pszInfoTip; | |
| 980 DWORD cchInfoTip; | |
| 981 CLSID *pclsid; | |
| 982 DWORD dwFlags; | |
| 983 LPWSTR pszIconFile; | |
| 984 DWORD cchIconFile; | |
| 985 int iIconIndex; | |
| 986 LPWSTR pszLogo; | |
| 987 DWORD cchLogo; | |
| 988 } SHFOLDERCUSTOMSETTINGSW,*LPSHFOLDERCUSTOMSETTINGSW; | |
| 989 | |
| 990 #include <poppack.h> | |
| 991 | |
| 992 #ifdef UNICODE | |
| 993 #define SHFOLDERCUSTOMSETTINGS SHFOLDERCUSTOMSETTINGSW | |
| 994 #define SHGetSetFolderCustomSettings SHGetSetFolderCustomSettingsW | |
| 995 #define LPSHFOLDERCUSTOMSETTINGS LPSHFOLDERCUSTOMSETTINGSW | |
| 996 #else | |
| 997 #define SHFOLDERCUSTOMSETTINGS SHFOLDERCUSTOMSETTINGSA | |
| 998 #define SHGetSetFolderCustomSettings SHGetSetFolderCustomSettingsA | |
| 999 #define LPSHFOLDERCUSTOMSETTINGS LPSHFOLDERCUSTOMSETTINGSA | |
| 1000 #endif | |
| 1001 | |
| 1002 SHSTDAPI SHGetSetFolderCustomSettingsA(LPSHFOLDERCUSTOMSETTINGSA pfcs,LPCSTR pszPath,DWORD dwReadWrite); | |
| 1003 SHSTDAPI SHGetSetFolderCustomSettingsW(LPSHFOLDERCUSTOMSETTINGSW pfcs,LPCWSTR pszPath,DWORD dwReadWrite); | |
| 1004 | |
| 1005 typedef int (CALLBACK *BFFCALLBACK)(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData); | |
| 1006 | |
| 1007 #include <pshpack8.h> | |
| 1008 | |
| 1009 typedef struct _browseinfoA { | |
| 1010 HWND hwndOwner; | |
| 1011 LPCITEMIDLIST pidlRoot; | |
| 1012 LPSTR pszDisplayName; | |
| 1013 LPCSTR lpszTitle; | |
| 1014 UINT ulFlags; | |
| 1015 BFFCALLBACK lpfn; | |
| 1016 LPARAM lParam; | |
| 1017 int iImage; | |
| 1018 } BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA; | |
| 1019 | |
| 1020 typedef struct _browseinfoW { | |
| 1021 HWND hwndOwner; | |
| 1022 LPCITEMIDLIST pidlRoot; | |
| 1023 LPWSTR pszDisplayName; | |
| 1024 LPCWSTR lpszTitle; | |
| 1025 UINT ulFlags; | |
| 1026 BFFCALLBACK lpfn; | |
| 1027 LPARAM lParam; | |
| 1028 int iImage; | |
| 1029 } BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW; | |
| 1030 | |
| 1031 #include <poppack.h> | |
| 1032 | |
| 1033 #ifdef UNICODE | |
| 1034 #define BROWSEINFO BROWSEINFOW | |
| 1035 #define PBROWSEINFO PBROWSEINFOW | |
| 1036 #define LPBROWSEINFO LPBROWSEINFOW | |
| 1037 #else | |
| 1038 #define BROWSEINFO BROWSEINFOA | |
| 1039 #define PBROWSEINFO PBROWSEINFOA | |
| 1040 #define LPBROWSEINFO LPBROWSEINFOA | |
| 1041 #endif | |
| 1042 | |
| 1043 #define BIF_RETURNONLYFSDIRS 0x0001 | |
| 1044 #define BIF_DONTGOBELOWDOMAIN 0x0002 | |
| 1045 #define BIF_STATUSTEXT 0x0004 | |
| 1046 | |
| 1047 #define BIF_RETURNFSANCESTORS 0x0008 | |
| 1048 #define BIF_EDITBOX 0x0010 | |
| 1049 #define BIF_VALIDATE 0x0020 | |
| 1050 | |
| 1051 #define BIF_NEWDIALOGSTYLE 0x0040 | |
| 1052 | |
| 1053 #define BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX) | |
| 1054 | |
| 1055 #define BIF_BROWSEINCLUDEURLS 0x0080 | |
| 1056 #define BIF_UAHINT 0x0100 | |
| 1057 #define BIF_NONEWFOLDERBUTTON 0x0200 | |
| 1058 #define BIF_NOTRANSLATETARGETS 0x0400 | |
| 1059 | |
| 1060 #define BIF_BROWSEFORCOMPUTER 0x1000 | |
| 1061 #define BIF_BROWSEFORPRINTER 0x2000 | |
| 1062 #define BIF_BROWSEINCLUDEFILES 0x4000 | |
| 1063 #define BIF_SHAREABLE 0x8000 | |
| 1064 | |
| 1065 #define BFFM_INITIALIZED 1 | |
| 1066 #define BFFM_SELCHANGED 2 | |
| 1067 #define BFFM_VALIDATEFAILEDA 3 | |
| 1068 #define BFFM_VALIDATEFAILEDW 4 | |
| 1069 #define BFFM_IUNKNOWN 5 | |
| 1070 | |
| 1071 #define BFFM_SETSTATUSTEXTA (WM_USER + 100) | |
| 1072 #define BFFM_ENABLEOK (WM_USER + 101) | |
| 1073 #define BFFM_SETSELECTIONA (WM_USER + 102) | |
| 1074 #define BFFM_SETSELECTIONW (WM_USER + 103) | |
| 1075 #define BFFM_SETSTATUSTEXTW (WM_USER + 104) | |
| 1076 #define BFFM_SETOKTEXT (WM_USER + 105) | |
| 1077 #define BFFM_SETEXPANDED (WM_USER + 106) | |
| 1078 | |
| 1079 SHSTDAPI_(LPITEMIDLIST) SHBrowseForFolderA(LPBROWSEINFOA lpbi); | |
| 1080 SHSTDAPI_(LPITEMIDLIST) SHBrowseForFolderW(LPBROWSEINFOW lpbi); | |
| 1081 | |
| 1082 #ifdef UNICODE | |
| 1083 #define SHBrowseForFolder SHBrowseForFolderW | |
| 1084 #define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW | |
| 1085 #define BFFM_SETSELECTION BFFM_SETSELECTIONW | |
| 1086 | |
| 1087 #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW | |
| 1088 #else | |
| 1089 #define SHBrowseForFolder SHBrowseForFolderA | |
| 1090 #define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTA | |
| 1091 #define BFFM_SETSELECTION BFFM_SETSELECTIONA | |
| 1092 | |
| 1093 #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA | |
| 1094 #endif | |
| 1095 | |
| 1096 SHSTDAPI SHLoadInProc(REFCLSID rclsid); | |
| 1097 | |
| 1098 SHSTDAPI SHEnableServiceObject(REFCLSID rclsid,WINBOOL fEnable); | |
| 1099 | |
| 1100 enum { | |
| 1101 ISHCUTCMDID_DOWNLOADICON = 0,ISHCUTCMDID_INTSHORTCUTCREATE = 1 | |
| 1102 }; | |
| 1103 #define CMDID_INTSHORTCUTCREATE ISHCUTCMDID_INTSHORTCUTCREATE | |
| 1104 | |
| 1105 SHSTDAPI SHGetDesktopFolder(IShellFolder **ppshf); | |
| 1106 | |
| 1107 #define STR_FILE_SYS_BIND_DATA L"File System Bind Data" | |
| 1108 | |
| 1109 #undef INTERFACE | |
| 1110 #define INTERFACE IFileSystemBindData | |
| 1111 DECLARE_INTERFACE_(IFileSystemBindData,IUnknown) { | |
| 1112 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1113 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1114 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1115 STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW *pfd) PURE; | |
| 1116 STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW *pfd) PURE; | |
| 1117 }; | |
| 1118 | |
| 1119 #undef INTERFACE | |
| 1120 #define INTERFACE IShellDetails | |
| 1121 DECLARE_INTERFACE_(IShellDetails,IUnknown) { | |
| 1122 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1123 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1124 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1125 STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST pidl,UINT iColumn,SHELLDETAILS *pDetails) PURE; | |
| 1126 STDMETHOD(ColumnClick)(THIS_ UINT iColumn) PURE; | |
| 1127 }; | |
| 1128 | |
| 1129 #undef INTERFACE | |
| 1130 #define INTERFACE IObjMgr | |
| 1131 | |
| 1132 DECLARE_INTERFACE_(IObjMgr,IUnknown) { | |
| 1133 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1134 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1135 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1136 STDMETHOD(Append) (THIS_ IUnknown *punk) PURE; | |
| 1137 STDMETHOD(Remove) (THIS_ IUnknown *punk) PURE; | |
| 1138 }; | |
| 1139 | |
| 1140 #undef INTERFACE | |
| 1141 #define INTERFACE ICurrentWorkingDirectory | |
| 1142 DECLARE_INTERFACE_(ICurrentWorkingDirectory,IUnknown) { | |
| 1143 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1144 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1145 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1146 STDMETHOD(GetDirectory) (THIS_ LPWSTR pwzPath,DWORD cchSize) PURE; | |
| 1147 STDMETHOD(SetDirectory) (THIS_ LPCWSTR pwzPath) PURE; | |
| 1148 }; | |
| 1149 | |
| 1150 #undef INTERFACE | |
| 1151 #define INTERFACE IACList | |
| 1152 DECLARE_INTERFACE_(IACList,IUnknown) { | |
| 1153 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1154 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1155 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1156 STDMETHOD(Expand) (THIS_ LPCOLESTR pszExpand) PURE; | |
| 1157 }; | |
| 1158 | |
| 1159 #undef INTERFACE | |
| 1160 #define INTERFACE IACList2 | |
| 1161 typedef enum _tagAUTOCOMPLETELISTOPTIONS { | |
| 1162 ACLO_NONE = 0,ACLO_CURRENTDIR = 1,ACLO_MYCOMPUTER = 2,ACLO_DESKTOP = 4,ACLO_FAVORITES = 8,ACLO_FILESYSONLY = 16,ACLO_FILESYSDIRS = 32 | |
| 1163 } AUTOCOMPLETELISTOPTIONS; | |
| 1164 | |
| 1165 DECLARE_INTERFACE_(IACList2,IACList) { | |
| 1166 STDMETHOD(SetOptions)(THIS_ DWORD dwFlag) PURE; | |
| 1167 STDMETHOD(GetOptions)(THIS_ DWORD *pdwFlag) PURE; | |
| 1168 }; | |
| 1169 | |
| 1170 #define PROGDLG_NORMAL 0x00000000 | |
| 1171 #define PROGDLG_MODAL 0x00000001 | |
| 1172 #define PROGDLG_AUTOTIME 0x00000002 | |
| 1173 #define PROGDLG_NOTIME 0x00000004 | |
| 1174 #define PROGDLG_NOMINIMIZE 0x00000008 | |
| 1175 #define PROGDLG_NOPROGRESSBAR 0x00000010 | |
| 1176 | |
| 1177 #define PDTIMER_RESET 0x00000001 | |
| 1178 | |
| 1179 #undef INTERFACE | |
| 1180 #define INTERFACE IProgressDialog | |
| 1181 DECLARE_INTERFACE_(IProgressDialog,IUnknown) { | |
| 1182 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1183 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1184 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1185 STDMETHOD(StartProgressDialog)(THIS_ HWND hwndParent,IUnknown *punkEnableModless,DWORD dwFlags,LPCVOID pvResevered) PURE; | |
| 1186 STDMETHOD(StopProgressDialog)(THIS) PURE; | |
| 1187 STDMETHOD(SetTitle)(THIS_ LPCWSTR pwzTitle) PURE; | |
| 1188 STDMETHOD(SetAnimation)(THIS_ HINSTANCE hInstAnimation,UINT idAnimation) PURE; | |
| 1189 STDMETHOD_(WINBOOL,HasUserCancelled) (THIS) PURE; | |
| 1190 STDMETHOD(SetProgress)(THIS_ DWORD dwCompleted,DWORD dwTotal) PURE; | |
| 1191 STDMETHOD(SetProgress64)(THIS_ ULONGLONG ullCompleted,ULONGLONG ullTotal) PURE; | |
| 1192 STDMETHOD(SetLine)(THIS_ DWORD dwLineNum,LPCWSTR pwzString,WINBOOL fCompactPath,LPCVOID pvResevered) PURE; | |
| 1193 STDMETHOD(SetCancelMsg)(THIS_ LPCWSTR pwzCancelMsg,LPCVOID pvResevered) PURE; | |
| 1194 STDMETHOD(Timer)(THIS_ DWORD dwTimerAction,LPCVOID pvResevered) PURE; | |
| 1195 }; | |
| 1196 | |
| 1197 #undef INTERFACE | |
| 1198 #define INTERFACE IInputObjectSite | |
| 1199 DECLARE_INTERFACE_(IInputObjectSite,IUnknown) { | |
| 1200 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1201 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1202 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1203 STDMETHOD(OnFocusChangeIS)(THIS_ IUnknown *punkObj,WINBOOL fSetFocus) PURE; | |
| 1204 }; | |
| 1205 | |
| 1206 #undef INTERFACE | |
| 1207 #define INTERFACE IInputObject | |
| 1208 DECLARE_INTERFACE_(IInputObject,IUnknown) { | |
| 1209 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1210 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1211 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1212 STDMETHOD(UIActivateIO)(THIS_ WINBOOL fActivate,LPMSG lpMsg) PURE; | |
| 1213 STDMETHOD(HasFocusIO)(THIS) PURE; | |
| 1214 STDMETHOD(TranslateAcceleratorIO)(THIS_ LPMSG lpMsg) PURE; | |
| 1215 }; | |
| 1216 | |
| 1217 #undef INTERFACE | |
| 1218 #define INTERFACE IDockingWindowSite | |
| 1219 DECLARE_INTERFACE_(IDockingWindowSite,IOleWindow) { | |
| 1220 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1221 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1222 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1223 STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE; | |
| 1224 STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE; | |
| 1225 STDMETHOD(GetBorderDW) (THIS_ IUnknown *punkObj,LPRECT prcBorder) PURE; | |
| 1226 STDMETHOD(RequestBorderSpaceDW) (THIS_ IUnknown *punkObj,LPCBORDERWIDTHS pbw) PURE; | |
| 1227 STDMETHOD(SetBorderSpaceDW) (THIS_ IUnknown *punkObj,LPCBORDERWIDTHS pbw) PURE; | |
| 1228 }; | |
| 1229 | |
| 1230 #define DWFRF_NORMAL 0x0000 | |
| 1231 #define DWFRF_DELETECONFIGDATA 0x0001 | |
| 1232 | |
| 1233 #define DWFAF_HIDDEN 0x0001 | |
| 1234 | |
| 1235 #undef INTERFACE | |
| 1236 #define INTERFACE IDockingWindowFrame | |
| 1237 DECLARE_INTERFACE_(IDockingWindowFrame,IOleWindow) { | |
| 1238 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1239 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1240 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1241 STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE; | |
| 1242 STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE; | |
| 1243 STDMETHOD(AddToolbar) (THIS_ IUnknown *punkSrc,LPCWSTR pwszItem,DWORD dwAddFlags) PURE; | |
| 1244 STDMETHOD(RemoveToolbar) (THIS_ IUnknown *punkSrc,DWORD dwRemoveFlags) PURE; | |
| 1245 STDMETHOD(FindToolbar) (THIS_ LPCWSTR pwszItem,REFIID riid,void **ppv) PURE; | |
| 1246 }; | |
| 1247 | |
| 1248 #define IRTIR_TASK_NOT_RUNNING 0 | |
| 1249 #define IRTIR_TASK_RUNNING 1 | |
| 1250 #define IRTIR_TASK_SUSPENDED 2 | |
| 1251 #define IRTIR_TASK_PENDING 3 | |
| 1252 #define IRTIR_TASK_FINISHED 4 | |
| 1253 | |
| 1254 #undef INTERFACE | |
| 1255 #define INTERFACE IRunnableTask | |
| 1256 | |
| 1257 DECLARE_INTERFACE_(IRunnableTask,IUnknown) { | |
| 1258 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1259 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 1260 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 1261 STDMETHOD (Run)(THIS) PURE; | |
| 1262 STDMETHOD (Kill)(THIS_ WINBOOL fWait) PURE; | |
| 1263 STDMETHOD (Suspend)(THIS) PURE; | |
| 1264 STDMETHOD (Resume)(THIS) PURE; | |
| 1265 STDMETHOD_(ULONG,IsRunning)(THIS) PURE; | |
| 1266 }; | |
| 1267 | |
| 1268 typedef IRunnableTask *LPRUNNABLETASK; | |
| 1269 | |
| 1270 #define TASKOWNERID GUID | |
| 1271 #define REFTASKOWNERID REFGUID | |
| 1272 | |
| 1273 #define ITSSFLAG_COMPLETE_ON_DESTROY 0x0000 | |
| 1274 #define ITSSFLAG_KILL_ON_DESTROY 0x0001 | |
| 1275 #define ITSSFLAG_SUPPORTS_TERMINATE 0x0002 | |
| 1276 #define ITSSFLAG_FLAGS_MASK 0x0003 | |
| 1277 #define ITSSFLAG_THREAD_TERMINATE_TIMEOUT 0x0010 | |
| 1278 #define ITSSFLAG_THREAD_POOL_TIMEOUT 0x0020 | |
| 1279 #define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (60*1000) | |
| 1280 #define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE) | |
| 1281 #define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1) | |
| 1282 | |
| 1283 #define ITSAT_DEFAULT_LPARAM 0xffffffff | |
| 1284 #define ITSAT_DEFAULT_PRIORITY 0x10000000 | |
| 1285 #define ITSAT_MAX_PRIORITY 0x7fffffff | |
| 1286 #define ITSAT_MIN_PRIORITY 0x00000000 | |
| 1287 | |
| 1288 #define TOID_NULL CLSID_NULL | |
| 1289 | |
| 1290 #undef INTERFACE | |
| 1291 #define INTERFACE IShellTaskScheduler | |
| 1292 DECLARE_INTERFACE_(IShellTaskScheduler,IUnknown) { | |
| 1293 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1294 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 1295 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 1296 STDMETHOD (AddTask)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) PURE; | |
| 1297 STDMETHOD (RemoveTasks)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL fWaitIfRunning) PURE; | |
| 1298 STDMETHOD_(UINT,CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE; | |
| 1299 STDMETHOD (Status)(THIS_ DWORD dwReleaseStatus,DWORD dwThreadTimeout) PURE; | |
| 1300 }; | |
| 1301 | |
| 1302 typedef IShellTaskScheduler *LPSHELLTASKSCHEDULER; | |
| 1303 | |
| 1304 #define ITSSFLAG_TASK_PLACEINFRONT 0x00000001 | |
| 1305 #define ITSSFLAG_TASK_PLACEINBACK 0x00000002 | |
| 1306 | |
| 1307 #undef INTERFACE | |
| 1308 #define INTERFACE IShellTaskScheduler2 | |
| 1309 DECLARE_INTERFACE_(IShellTaskScheduler2,IShellTaskScheduler) { | |
| 1310 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1311 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 1312 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 1313 STDMETHOD (AddTask)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) PURE; | |
| 1314 STDMETHOD (RemoveTasks)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL fWaitIfRunning) PURE; | |
| 1315 STDMETHOD_(UINT,CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE; | |
| 1316 STDMETHOD (Status)(THIS_ DWORD dwReleaseStatus,DWORD dwThreadTimeout) PURE; | |
| 1317 STDMETHOD (AddTask2)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority,DWORD grfFlags) PURE; | |
| 1318 STDMETHOD (MoveTask)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority,DWORD grfFlags) PURE; | |
| 1319 }; | |
| 1320 | |
| 1321 #undef INTERFACE | |
| 1322 #define INTERFACE IThumbnailCapture | |
| 1323 DECLARE_INTERFACE_ (IThumbnailCapture,IUnknown) { | |
| 1324 STDMETHOD (CaptureThumbnail) (THIS_ const SIZE *pMaxSize,IUnknown *pHTMLDoc2,HBITMAP *phbmThumbnail) PURE; | |
| 1325 }; | |
| 1326 typedef IThumbnailCapture *LPTHUMBNAILCAPTURE; | |
| 1327 | |
| 1328 #include <pshpack8.h> | |
| 1329 typedef struct _EnumImageStoreDATAtag { | |
| 1330 WCHAR szPath[MAX_PATH]; | |
| 1331 FILETIME ftTimeStamp; | |
| 1332 } ENUMSHELLIMAGESTOREDATA,*PENUMSHELLIMAGESTOREDATA; | |
| 1333 | |
| 1334 #include <poppack.h> | |
| 1335 | |
| 1336 #undef INTERFACE | |
| 1337 #define INTERFACE IEnumShellImageStore | |
| 1338 DECLARE_INTERFACE_(IEnumShellImageStore,IUnknown) { | |
| 1339 STDMETHOD (QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1340 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1341 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1342 STDMETHOD (Reset) (THIS) PURE; | |
| 1343 STDMETHOD (Next) (THIS_ ULONG celt,PENUMSHELLIMAGESTOREDATA *prgElt,ULONG *pceltFetched) PURE; | |
| 1344 STDMETHOD (Skip) (THIS_ ULONG celt) PURE; | |
| 1345 STDMETHOD (Clone) (THIS_ IEnumShellImageStore **ppEnum) PURE; | |
| 1346 }; | |
| 1347 | |
| 1348 typedef IEnumShellImageStore *LPENUMSHELLIMAGESTORE; | |
| 1349 | |
| 1350 #define SHIMSTCAPFLAG_LOCKABLE 0x0001 | |
| 1351 #define SHIMSTCAPFLAG_PURGEABLE 0x0002 | |
| 1352 | |
| 1353 #undef INTERFACE | |
| 1354 #define INTERFACE IShellImageStore | |
| 1355 DECLARE_INTERFACE_(IShellImageStore,IUnknown) { | |
| 1356 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1357 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1358 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1359 STDMETHOD (Open) (THIS_ DWORD dwMode,DWORD *pdwLock) PURE; | |
| 1360 STDMETHOD (Create) (THIS_ DWORD dwMode,DWORD *pdwLock) PURE; | |
| 1361 STDMETHOD (ReleaseLock) (THIS_ DWORD const *pdwLock) PURE; | |
| 1362 STDMETHOD (Close) (THIS_ DWORD const *pdwLock) PURE; | |
| 1363 STDMETHOD (Commit) (THIS_ DWORD const *pdwLock) PURE; | |
| 1364 STDMETHOD (IsLocked) (THIS) PURE; | |
| 1365 STDMETHOD (GetMode) (THIS_ DWORD *pdwMode) PURE; | |
| 1366 STDMETHOD (GetCapabilities) (THIS_ DWORD *pdwCapMask) PURE; | |
| 1367 STDMETHOD (AddEntry) (THIS_ LPCWSTR pszName,const FILETIME *pftTimeStamp,DWORD dwMode,HBITMAP hImage) PURE; | |
| 1368 STDMETHOD (GetEntry) (THIS_ LPCWSTR pszName,DWORD dwMode,HBITMAP *phImage) PURE; | |
| 1369 STDMETHOD (DeleteEntry) (THIS_ LPCWSTR pszName) PURE; | |
| 1370 STDMETHOD (IsEntryInStore) (THIS_ LPCWSTR pszName,FILETIME *pftTimeStamp) PURE; | |
| 1371 STDMETHOD (Enum) (THIS_ LPENUMSHELLIMAGESTORE *ppEnum) PURE; | |
| 1372 }; | |
| 1373 | |
| 1374 typedef IShellImageStore *LPSHELLIMAGESTORE; | |
| 1375 | |
| 1376 #define ISFB_MASK_STATE 0x00000001 | |
| 1377 #define ISFB_MASK_BKCOLOR 0x00000002 | |
| 1378 #define ISFB_MASK_VIEWMODE 0x00000004 | |
| 1379 #define ISFB_MASK_SHELLFOLDER 0x00000008 | |
| 1380 #define ISFB_MASK_IDLIST 0x00000010 | |
| 1381 #define ISFB_MASK_COLORS 0x00000020 | |
| 1382 | |
| 1383 #define ISFB_STATE_DEFAULT 0x00000000 | |
| 1384 #define ISFB_STATE_DEBOSSED 0x00000001 | |
| 1385 #define ISFB_STATE_ALLOWRENAME 0x00000002 | |
| 1386 #define ISFB_STATE_NOSHOWTEXT 0x00000004 | |
| 1387 #define ISFB_STATE_CHANNELBAR 0x00000010 | |
| 1388 #define ISFB_STATE_QLINKSMODE 0x00000020 | |
| 1389 #define ISFB_STATE_FULLOPEN 0x00000040 | |
| 1390 #define ISFB_STATE_NONAMESORT 0x00000080 | |
| 1391 #define ISFB_STATE_BTNMINSIZE 0x00000100 | |
| 1392 | |
| 1393 #define ISFBVIEWMODE_SMALLICONS 0x0001 | |
| 1394 #define ISFBVIEWMODE_LARGEICONS 0x0002 | |
| 1395 #define ISFBVIEWMODE_LOGOS 0x0003 | |
| 1396 | |
| 1397 #include <pshpack8.h> | |
| 1398 | |
| 1399 typedef struct { | |
| 1400 DWORD dwMask; | |
| 1401 DWORD dwStateMask; | |
| 1402 DWORD dwState; | |
| 1403 COLORREF crBkgnd; | |
| 1404 COLORREF crBtnLt; | |
| 1405 COLORREF crBtnDk; | |
| 1406 WORD wViewMode; | |
| 1407 WORD wAlign; | |
| 1408 IShellFolder *psf; | |
| 1409 LPITEMIDLIST pidl; | |
| 1410 } BANDINFOSFB,*PBANDINFOSFB; | |
| 1411 | |
| 1412 #include <poppack.h> | |
| 1413 | |
| 1414 #undef INTERFACE | |
| 1415 #define INTERFACE IShellFolderBand | |
| 1416 DECLARE_INTERFACE_(IShellFolderBand,IUnknown) { | |
| 1417 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1418 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1419 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1420 STDMETHOD(InitializeSFB)(THIS_ IShellFolder *psf,LPCITEMIDLIST pidl) PURE; | |
| 1421 STDMETHOD(SetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE; | |
| 1422 STDMETHOD(GetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE; | |
| 1423 }; | |
| 1424 | |
| 1425 enum { | |
| 1426 SFBID_PIDLCHANGED, | |
| 1427 }; | |
| 1428 | |
| 1429 #undef INTERFACE | |
| 1430 #define INTERFACE IDeskBarClient | |
| 1431 DECLARE_INTERFACE_(IDeskBarClient,IOleWindow) { | |
| 1432 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1433 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1434 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1435 STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE; | |
| 1436 STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE; | |
| 1437 STDMETHOD(SetDeskBarSite) (THIS_ IUnknown *punkSite) PURE; | |
| 1438 STDMETHOD(SetModeDBC) (THIS_ DWORD dwMode) PURE; | |
| 1439 STDMETHOD(UIActivateDBC) (THIS_ DWORD dwState) PURE; | |
| 1440 STDMETHOD(GetSize) (THIS_ DWORD dwWhich,LPRECT prc) PURE; | |
| 1441 }; | |
| 1442 | |
| 1443 #define DBC_GS_IDEAL 0 | |
| 1444 #define DBC_GS_SIZEDOWN 1 | |
| 1445 | |
| 1446 #define DBC_HIDE 0 | |
| 1447 #define DBC_SHOW 1 | |
| 1448 #define DBC_SHOWOBSCURE 2 | |
| 1449 | |
| 1450 enum { | |
| 1451 DBCID_EMPTY = 0,DBCID_ONDRAG = 1,DBCID_CLSIDOFBAR = 2,DBCID_RESIZE = 3,DBCID_GETBAR = 4 | |
| 1452 }; | |
| 1453 | |
| 1454 #ifdef _WININET_ | |
| 1455 typedef struct _tagWALLPAPEROPT { | |
| 1456 DWORD dwSize; | |
| 1457 DWORD dwStyle; | |
| 1458 } WALLPAPEROPT; | |
| 1459 | |
| 1460 typedef WALLPAPEROPT *LPWALLPAPEROPT; | |
| 1461 typedef const WALLPAPEROPT *LPCWALLPAPEROPT; | |
| 1462 | |
| 1463 typedef struct _tagCOMPONENTSOPT { | |
| 1464 DWORD dwSize; | |
| 1465 WINBOOL fEnableComponents; | |
| 1466 WINBOOL fActiveDesktop; | |
| 1467 } COMPONENTSOPT; | |
| 1468 | |
| 1469 typedef COMPONENTSOPT *LPCOMPONENTSOPT; | |
| 1470 typedef const COMPONENTSOPT *LPCCOMPONENTSOPT; | |
| 1471 | |
| 1472 typedef struct _tagCOMPPOS { | |
| 1473 DWORD dwSize; | |
| 1474 int iLeft; | |
| 1475 int iTop; | |
| 1476 DWORD dwWidth; | |
| 1477 DWORD dwHeight; | |
| 1478 int izIndex; | |
| 1479 WINBOOL fCanResize; | |
| 1480 WINBOOL fCanResizeX; | |
| 1481 WINBOOL fCanResizeY; | |
| 1482 int iPreferredLeftPercent; | |
| 1483 int iPreferredTopPercent; | |
| 1484 } COMPPOS; | |
| 1485 | |
| 1486 typedef COMPPOS *LPCOMPPOS; | |
| 1487 typedef const COMPPOS *LPCCOMPPOS; | |
| 1488 | |
| 1489 typedef struct _tagCOMPSTATEINFO { | |
| 1490 DWORD dwSize; | |
| 1491 int iLeft; | |
| 1492 int iTop; | |
| 1493 DWORD dwWidth; | |
| 1494 DWORD dwHeight; | |
| 1495 DWORD dwItemState; | |
| 1496 } COMPSTATEINFO; | |
| 1497 | |
| 1498 typedef COMPSTATEINFO *LPCOMPSTATEINFO; | |
| 1499 typedef const COMPSTATEINFO *LPCCOMPSTATEINFO; | |
| 1500 | |
| 1501 #define COMPONENT_TOP (0x3fffffff) | |
| 1502 | |
| 1503 #define COMP_TYPE_HTMLDOC 0 | |
| 1504 #define COMP_TYPE_PICTURE 1 | |
| 1505 #define COMP_TYPE_WEBSITE 2 | |
| 1506 #define COMP_TYPE_CONTROL 3 | |
| 1507 #define COMP_TYPE_CFHTML 4 | |
| 1508 #define COMP_TYPE_MAX 4 | |
| 1509 | |
| 1510 typedef struct _tagIE4COMPONENT { | |
| 1511 DWORD dwSize; | |
| 1512 DWORD dwID; | |
| 1513 int iComponentType; | |
| 1514 WINBOOL fChecked; | |
| 1515 WINBOOL fDirty; | |
| 1516 WINBOOL fNoScroll; | |
| 1517 COMPPOS cpPos; | |
| 1518 WCHAR wszFriendlyName[MAX_PATH]; | |
| 1519 WCHAR wszSource[INTERNET_MAX_URL_LENGTH]; | |
| 1520 WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH]; | |
| 1521 } IE4COMPONENT; | |
| 1522 | |
| 1523 typedef IE4COMPONENT *LPIE4COMPONENT; | |
| 1524 typedef const IE4COMPONENT *LPCIE4COMPONENT; | |
| 1525 | |
| 1526 typedef struct _tagCOMPONENT { | |
| 1527 DWORD dwSize; | |
| 1528 DWORD dwID; | |
| 1529 int iComponentType; | |
| 1530 WINBOOL fChecked; | |
| 1531 WINBOOL fDirty; | |
| 1532 WINBOOL fNoScroll; | |
| 1533 COMPPOS cpPos; | |
| 1534 WCHAR wszFriendlyName[MAX_PATH]; | |
| 1535 WCHAR wszSource[INTERNET_MAX_URL_LENGTH]; | |
| 1536 WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH]; | |
| 1537 DWORD dwCurItemState; | |
| 1538 COMPSTATEINFO csiOriginal; | |
| 1539 COMPSTATEINFO csiRestored; | |
| 1540 } COMPONENT; | |
| 1541 | |
| 1542 typedef COMPONENT *LPCOMPONENT; | |
| 1543 typedef const COMPONENT *LPCCOMPONENT; | |
| 1544 | |
| 1545 #define IS_NORMAL 0x00000001 | |
| 1546 #define IS_FULLSCREEN 0x00000002 | |
| 1547 #define IS_SPLIT 0x00000004 | |
| 1548 #define IS_VALIDSIZESTATEBITS (IS_NORMAL | IS_SPLIT | IS_FULLSCREEN) | |
| 1549 #define IS_VALIDSTATEBITS (IS_NORMAL | IS_SPLIT | IS_FULLSCREEN | 0x80000000 | 0x40000000) | |
| 1550 | |
| 1551 #define AD_APPLY_SAVE 0x00000001 | |
| 1552 #define AD_APPLY_HTMLGEN 0x00000002 | |
| 1553 #define AD_APPLY_REFRESH 0x00000004 | |
| 1554 #define AD_APPLY_ALL (AD_APPLY_SAVE | AD_APPLY_HTMLGEN | AD_APPLY_REFRESH) | |
| 1555 #define AD_APPLY_FORCE 0x00000008 | |
| 1556 #define AD_APPLY_BUFFERED_REFRESH 0x00000010 | |
| 1557 #define AD_APPLY_DYNAMICREFRESH 0x00000020 | |
| 1558 | |
| 1559 #define WPSTYLE_CENTER 0 | |
| 1560 #define WPSTYLE_TILE 1 | |
| 1561 #define WPSTYLE_STRETCH 2 | |
| 1562 #define WPSTYLE_MAX 3 | |
| 1563 | |
| 1564 #define COMP_ELEM_TYPE 0x00000001 | |
| 1565 #define COMP_ELEM_CHECKED 0x00000002 | |
| 1566 #define COMP_ELEM_DIRTY 0x00000004 | |
| 1567 #define COMP_ELEM_NOSCROLL 0x00000008 | |
| 1568 #define COMP_ELEM_POS_LEFT 0x00000010 | |
| 1569 #define COMP_ELEM_POS_TOP 0x00000020 | |
| 1570 #define COMP_ELEM_SIZE_WIDTH 0x00000040 | |
| 1571 #define COMP_ELEM_SIZE_HEIGHT 0x00000080 | |
| 1572 #define COMP_ELEM_POS_ZINDEX 0x00000100 | |
| 1573 #define COMP_ELEM_SOURCE 0x00000200 | |
| 1574 #define COMP_ELEM_FRIENDLYNAME 0x00000400 | |
| 1575 #define COMP_ELEM_SUBSCRIBEDURL 0x00000800 | |
| 1576 #define COMP_ELEM_ORIGINAL_CSI 0x00001000 | |
| 1577 #define COMP_ELEM_RESTORED_CSI 0x00002000 | |
| 1578 #define COMP_ELEM_CURITEMSTATE 0x00004000 | |
| 1579 | |
| 1580 #define COMP_ELEM_ALL (COMP_ELEM_TYPE | COMP_ELEM_CHECKED | COMP_ELEM_DIRTY | COMP_ELEM_NOSCROLL | COMP_ELEM_POS_LEFT | COMP_ELEM_SIZE_WIDTH | COMP_ELEM_SIZE_HEIGHT | COMP_ELEM_POS_ZINDEX | COMP_ELEM_SOURCE | COMP_ELEM_FRIENDLYNAME | COMP_ELEM_POS_TOP | COMP_ELEM_SUBSCRIBEDURL | COMP_ELEM_ORIGINAL_CSI | COMP_ELEM_RESTORED_CSI | COMP_ELEM_CURITEMSTATE) | |
| 1581 | |
| 1582 typedef enum tagDTI_ADTIWUI { | |
| 1583 DTI_ADDUI_DEFAULT = 0x00000000,DTI_ADDUI_DISPSUBWIZARD = 0x00000001,DTI_ADDUI_POSITIONITEM = 0x00000002 | |
| 1584 }; | |
| 1585 | |
| 1586 #define ADDURL_SILENT 0X0001 | |
| 1587 | |
| 1588 #define COMPONENT_DEFAULT_LEFT (0xFFFF) | |
| 1589 #define COMPONENT_DEFAULT_TOP (0xFFFF) | |
| 1590 | |
| 1591 #undef INTERFACE | |
| 1592 #define INTERFACE IActiveDesktop | |
| 1593 DECLARE_INTERFACE_(IActiveDesktop,IUnknown) { | |
| 1594 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1595 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1596 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1597 STDMETHOD (ApplyChanges)(THIS_ DWORD dwFlags) PURE; | |
| 1598 STDMETHOD (GetWallpaper)(THIS_ LPWSTR pwszWallpaper,UINT cchWallpaper,DWORD dwReserved) PURE; | |
| 1599 STDMETHOD (SetWallpaper)(THIS_ LPCWSTR pwszWallpaper,DWORD dwReserved) PURE; | |
| 1600 STDMETHOD (GetWallpaperOptions)(THIS_ LPWALLPAPEROPT pwpo,DWORD dwReserved) PURE; | |
| 1601 STDMETHOD (SetWallpaperOptions)(THIS_ LPCWALLPAPEROPT pwpo,DWORD dwReserved) PURE; | |
| 1602 STDMETHOD (GetPattern)(THIS_ LPWSTR pwszPattern,UINT cchPattern,DWORD dwReserved) PURE; | |
| 1603 STDMETHOD (SetPattern)(THIS_ LPCWSTR pwszPattern,DWORD dwReserved) PURE; | |
| 1604 STDMETHOD (GetDesktopItemOptions)(THIS_ LPCOMPONENTSOPT pco,DWORD dwReserved) PURE; | |
| 1605 STDMETHOD (SetDesktopItemOptions)(THIS_ LPCCOMPONENTSOPT pco,DWORD dwReserved) PURE; | |
| 1606 STDMETHOD (AddDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1607 STDMETHOD (AddDesktopItemWithUI)(THIS_ HWND hwnd,LPCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1608 STDMETHOD (ModifyDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwFlags) PURE; | |
| 1609 STDMETHOD (RemoveDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1610 STDMETHOD (GetDesktopItemCount)(THIS_ LPINT lpiCount,DWORD dwReserved) PURE; | |
| 1611 STDMETHOD (GetDesktopItem)(THIS_ int nComponent,LPCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1612 STDMETHOD (GetDesktopItemByID)(THIS_ ULONG_PTR dwID,LPCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1613 STDMETHOD (GenerateDesktopItemHtml)(THIS_ LPCWSTR pwszFileName,LPCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1614 STDMETHOD (AddUrl)(THIS_ HWND hwnd,LPCWSTR pszSource,LPCOMPONENT pcomp,DWORD dwFlags) PURE; | |
| 1615 STDMETHOD (GetDesktopItemBySource)(THIS_ LPCWSTR pwszSource,LPCOMPONENT pcomp,DWORD dwReserved) PURE; | |
| 1616 }; | |
| 1617 | |
| 1618 typedef IActiveDesktop *LPACTIVEDESKTOP; | |
| 1619 | |
| 1620 #define SSM_CLEAR 0x0000 | |
| 1621 #define SSM_SET 0x0001 | |
| 1622 #define SSM_REFRESH 0x0002 | |
| 1623 #define SSM_UPDATE 0x0004 | |
| 1624 | |
| 1625 #define SCHEME_DISPLAY 0x0001 | |
| 1626 #define SCHEME_EDIT 0x0002 | |
| 1627 #define SCHEME_LOCAL 0x0004 | |
| 1628 #define SCHEME_GLOBAL 0x0008 | |
| 1629 #define SCHEME_REFRESH 0x0010 | |
| 1630 #define SCHEME_UPDATE 0x0020 | |
| 1631 #define SCHEME_DONOTUSE 0x0040 | |
| 1632 #define SCHEME_CREATE 0x0080 | |
| 1633 | |
| 1634 #undef INTERFACE | |
| 1635 #define INTERFACE IActiveDesktopP | |
| 1636 | |
| 1637 DECLARE_INTERFACE_(IActiveDesktopP,IUnknown) { | |
| 1638 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1639 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1640 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1641 STDMETHOD (SetSafeMode)(THIS_ DWORD dwFlags) PURE; | |
| 1642 STDMETHOD (EnsureUpdateHTML)(THIS) PURE; | |
| 1643 STDMETHOD (SetScheme)(THIS_ LPCWSTR pwszSchemeName,DWORD dwFlags) PURE; | |
| 1644 STDMETHOD (GetScheme)(THIS_ LPWSTR pwszSchemeName,DWORD *lpdwcchBuffer,DWORD dwFlags) PURE; | |
| 1645 }; | |
| 1646 | |
| 1647 typedef IActiveDesktopP *LPACTIVEDESKTOPP; | |
| 1648 | |
| 1649 #define GADOF_DIRTY 0x00000001 | |
| 1650 | |
| 1651 #undef INTERFACE | |
| 1652 #define INTERFACE IADesktopP2 | |
| 1653 | |
| 1654 DECLARE_INTERFACE_(IADesktopP2,IUnknown) { | |
| 1655 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1656 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1657 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1658 STDMETHOD (ReReadWallpaper)(THIS) PURE; | |
| 1659 STDMETHOD (GetADObjectFlags)(THIS_ DWORD *lpdwFlags,DWORD dwMask) PURE; | |
| 1660 STDMETHOD (UpdateAllDesktopSubscriptions)(THIS) PURE; | |
| 1661 STDMETHOD (MakeDynamicChanges)(THIS_ IOleObject *pOleObj) PURE; | |
| 1662 }; | |
| 1663 | |
| 1664 typedef IADesktopP2 *LPADESKTOPP2; | |
| 1665 #endif | |
| 1666 | |
| 1667 #define MAX_COLUMN_NAME_LEN 80 | |
| 1668 #define MAX_COLUMN_DESC_LEN 128 | |
| 1669 | |
| 1670 #include <pshpack1.h> | |
| 1671 | |
| 1672 typedef struct { | |
| 1673 SHCOLUMNID scid; | |
| 1674 VARTYPE vt; | |
| 1675 DWORD fmt; | |
| 1676 UINT cChars; | |
| 1677 DWORD csFlags; | |
| 1678 WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; | |
| 1679 WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; | |
| 1680 } SHCOLUMNINFO,*LPSHCOLUMNINFO; | |
| 1681 typedef const SHCOLUMNINFO *LPCSHCOLUMNINFO; | |
| 1682 | |
| 1683 #include <poppack.h> | |
| 1684 | |
| 1685 #include <pshpack8.h> | |
| 1686 | |
| 1687 typedef struct { | |
| 1688 ULONG dwFlags; | |
| 1689 ULONG dwReserved; | |
| 1690 WCHAR wszFolder[MAX_PATH]; | |
| 1691 } SHCOLUMNINIT,*LPSHCOLUMNINIT; | |
| 1692 typedef const SHCOLUMNINIT *LPCSHCOLUMNINIT; | |
| 1693 | |
| 1694 #define SHCDF_UPDATEITEM 0x00000001 | |
| 1695 | |
| 1696 typedef struct { | |
| 1697 ULONG dwFlags; | |
| 1698 DWORD dwFileAttributes; | |
| 1699 ULONG dwReserved; | |
| 1700 WCHAR *pwszExt; | |
| 1701 WCHAR wszFile[MAX_PATH]; | |
| 1702 } SHCOLUMNDATA,*LPSHCOLUMNDATA; | |
| 1703 typedef const SHCOLUMNDATA *LPCSHCOLUMNDATA; | |
| 1704 | |
| 1705 #include <poppack.h> | |
| 1706 | |
| 1707 #undef INTERFACE | |
| 1708 #define INTERFACE IColumnProvider | |
| 1709 | |
| 1710 DECLARE_INTERFACE_(IColumnProvider,IUnknown) { | |
| 1711 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1712 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 1713 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 1714 STDMETHOD (Initialize)(THIS_ LPCSHCOLUMNINIT psci) PURE; | |
| 1715 STDMETHOD (GetColumnInfo)(THIS_ DWORD dwIndex,SHCOLUMNINFO *psci) PURE; | |
| 1716 STDMETHOD (GetItemData)(THIS_ LPCSHCOLUMNID pscid,LPCSHCOLUMNDATA pscd,VARIANT *pvarData) PURE; | |
| 1717 }; | |
| 1718 | |
| 1719 #include <pshpack8.h> | |
| 1720 | |
| 1721 typedef struct { | |
| 1722 SIZE sizeDragImage; | |
| 1723 POINT ptOffset; | |
| 1724 HBITMAP hbmpDragImage; | |
| 1725 COLORREF crColorKey; | |
| 1726 } SHDRAGIMAGE,*LPSHDRAGIMAGE; | |
| 1727 | |
| 1728 #include <poppack.h> | |
| 1729 | |
| 1730 #define DI_GETDRAGIMAGE TEXT("ShellGetDragImage") | |
| 1731 | |
| 1732 #undef INTERFACE | |
| 1733 #define INTERFACE IDropTargetHelper | |
| 1734 DECLARE_INTERFACE_(IDropTargetHelper,IUnknown) { | |
| 1735 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1736 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1737 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1738 STDMETHOD (DragEnter)(THIS_ HWND hwndTarget,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) PURE; | |
| 1739 STDMETHOD (DragLeave)(THIS) PURE; | |
| 1740 STDMETHOD (DragOver)(THIS_ POINT *ppt,DWORD dwEffect) PURE; | |
| 1741 STDMETHOD (Drop)(THIS_ IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) PURE; | |
| 1742 STDMETHOD (Show)(THIS_ WINBOOL fShow) PURE; | |
| 1743 }; | |
| 1744 | |
| 1745 #undef INTERFACE | |
| 1746 #define INTERFACE IDragSourceHelper | |
| 1747 DECLARE_INTERFACE_(IDragSourceHelper,IUnknown) { | |
| 1748 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 1749 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1750 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1751 STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) PURE; | |
| 1752 STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd,POINT *ppt,IDataObject *pDataObject) PURE; | |
| 1753 }; | |
| 1754 | |
| 1755 #define CFSTR_SHELLIDLIST TEXT("Shell IDList Array") | |
| 1756 #define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets") | |
| 1757 #define CFSTR_NETRESOURCES TEXT("Net Resource") | |
| 1758 #define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor") | |
| 1759 #define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW") | |
| 1760 #define CFSTR_FILECONTENTS TEXT("FileContents") | |
| 1761 #define CFSTR_FILENAMEA TEXT("FileName") | |
| 1762 #define CFSTR_FILENAMEW TEXT("FileNameW") | |
| 1763 #define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName") | |
| 1764 #define CFSTR_FILENAMEMAPA TEXT("FileNameMap") | |
| 1765 #define CFSTR_FILENAMEMAPW TEXT("FileNameMapW") | |
| 1766 #define CFSTR_SHELLURL TEXT("UniformResourceLocator") | |
| 1767 #define CFSTR_INETURLA CFSTR_SHELLURL | |
| 1768 #define CFSTR_INETURLW TEXT("UniformResourceLocatorW") | |
| 1769 #define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect") | |
| 1770 #define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect") | |
| 1771 #define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded") | |
| 1772 #define CFSTR_INDRAGLOOP TEXT("InShellDragLoop") | |
| 1773 #define CFSTR_DRAGCONTEXT TEXT("DragContext") | |
| 1774 #define CFSTR_MOUNTEDVOLUME TEXT("MountedVolume") | |
| 1775 #define CFSTR_PERSISTEDDATAOBJECT TEXT("PersistedDataObject") | |
| 1776 #define CFSTR_TARGETCLSID TEXT("TargetCLSID") | |
| 1777 #define CFSTR_LOGICALPERFORMEDDROPEFFECT TEXT("Logical Performed DropEffect") | |
| 1778 #define CFSTR_AUTOPLAY_SHELLIDLISTS TEXT("Autoplay Enumerated IDList Array") | |
| 1779 #define CFSTR_UNTRUSTEDDRAGDROP TEXT("UntrustedDragDrop") | |
| 1780 | |
| 1781 #ifdef UNICODE | |
| 1782 #define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW | |
| 1783 #define CFSTR_FILENAME CFSTR_FILENAMEW | |
| 1784 #define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW | |
| 1785 #define CFSTR_INETURL CFSTR_INETURLW | |
| 1786 #else | |
| 1787 #define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA | |
| 1788 #define CFSTR_FILENAME CFSTR_FILENAMEA | |
| 1789 #define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA | |
| 1790 #define CFSTR_INETURL CFSTR_INETURLA | |
| 1791 #endif | |
| 1792 | |
| 1793 #define DVASPECT_SHORTNAME 2 | |
| 1794 #define DVASPECT_COPY 3 | |
| 1795 #define DVASPECT_LINK 4 | |
| 1796 | |
| 1797 #include <pshpack8.h> | |
| 1798 | |
| 1799 typedef struct _NRESARRAY { | |
| 1800 UINT cItems; | |
| 1801 NETRESOURCE nr[1]; | |
| 1802 } NRESARRAY,*LPNRESARRAY; | |
| 1803 #include <poppack.h> | |
| 1804 | |
| 1805 typedef struct _IDA { | |
| 1806 UINT cidl; | |
| 1807 UINT aoffset[1]; | |
| 1808 } CIDA,*LPIDA; | |
| 1809 | |
| 1810 typedef enum { | |
| 1811 FD_CLSID = 0x0001,FD_SIZEPOINT = 0x0002,FD_ATTRIBUTES = 0x0004,FD_CREATETIME = 0x0008,FD_ACCESSTIME = 0x0010,FD_WRITESTIME = 0x0020, | |
| 1812 FD_FILESIZE = 0x0040,FD_PROGRESSUI = 0x4000,FD_LINKUI = 0x8000 | |
| 1813 } FD_FLAGS; | |
| 1814 | |
| 1815 typedef struct _FILEDESCRIPTORA { | |
| 1816 DWORD dwFlags; | |
| 1817 | |
| 1818 CLSID clsid; | |
| 1819 SIZEL sizel; | |
| 1820 POINTL pointl; | |
| 1821 DWORD dwFileAttributes; | |
| 1822 FILETIME ftCreationTime; | |
| 1823 FILETIME ftLastAccessTime; | |
| 1824 FILETIME ftLastWriteTime; | |
| 1825 DWORD nFileSizeHigh; | |
| 1826 DWORD nFileSizeLow; | |
| 1827 CHAR cFileName[MAX_PATH ]; | |
| 1828 } FILEDESCRIPTORA,*LPFILEDESCRIPTORA; | |
| 1829 | |
| 1830 typedef struct _FILEDESCRIPTORW { | |
| 1831 DWORD dwFlags; | |
| 1832 CLSID clsid; | |
| 1833 SIZEL sizel; | |
| 1834 POINTL pointl; | |
| 1835 DWORD dwFileAttributes; | |
| 1836 FILETIME ftCreationTime; | |
| 1837 FILETIME ftLastAccessTime; | |
| 1838 FILETIME ftLastWriteTime; | |
| 1839 DWORD nFileSizeHigh; | |
| 1840 DWORD nFileSizeLow; | |
| 1841 WCHAR cFileName[MAX_PATH ]; | |
| 1842 } FILEDESCRIPTORW,*LPFILEDESCRIPTORW; | |
| 1843 | |
| 1844 #ifdef UNICODE | |
| 1845 #define FILEDESCRIPTOR FILEDESCRIPTORW | |
| 1846 #define LPFILEDESCRIPTOR LPFILEDESCRIPTORW | |
| 1847 #else | |
| 1848 #define FILEDESCRIPTOR FILEDESCRIPTORA | |
| 1849 #define LPFILEDESCRIPTOR LPFILEDESCRIPTORA | |
| 1850 #endif | |
| 1851 | |
| 1852 typedef struct _FILEGROUPDESCRIPTORA { | |
| 1853 UINT cItems; | |
| 1854 FILEDESCRIPTORA fgd[1]; | |
| 1855 } FILEGROUPDESCRIPTORA,*LPFILEGROUPDESCRIPTORA; | |
| 1856 | |
| 1857 typedef struct _FILEGROUPDESCRIPTORW { | |
| 1858 UINT cItems; | |
| 1859 FILEDESCRIPTORW fgd[1]; | |
| 1860 } FILEGROUPDESCRIPTORW,*LPFILEGROUPDESCRIPTORW; | |
| 1861 | |
| 1862 #ifdef UNICODE | |
| 1863 #define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORW | |
| 1864 #define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORW | |
| 1865 #else | |
| 1866 #define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORA | |
| 1867 #define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORA | |
| 1868 #endif | |
| 1869 | |
| 1870 typedef struct _DROPFILES { | |
| 1871 DWORD pFiles; | |
| 1872 POINT pt; | |
| 1873 WINBOOL fNC; | |
| 1874 WINBOOL fWide; | |
| 1875 } DROPFILES,*LPDROPFILES; | |
| 1876 | |
| 1877 typedef struct _SHChangeNotifyEntry { | |
| 1878 LPCITEMIDLIST pidl; | |
| 1879 WINBOOL fRecursive; | |
| 1880 } SHChangeNotifyEntry; | |
| 1881 | |
| 1882 #define SHCNE_RENAMEITEM 0x00000001L | |
| 1883 #define SHCNE_CREATE 0x00000002L | |
| 1884 #define SHCNE_DELETE 0x00000004L | |
| 1885 #define SHCNE_MKDIR 0x00000008L | |
| 1886 #define SHCNE_RMDIR 0x00000010L | |
| 1887 #define SHCNE_MEDIAINSERTED 0x00000020L | |
| 1888 #define SHCNE_MEDIAREMOVED 0x00000040L | |
| 1889 #define SHCNE_DRIVEREMOVED 0x00000080L | |
| 1890 #define SHCNE_DRIVEADD 0x00000100L | |
| 1891 #define SHCNE_NETSHARE 0x00000200L | |
| 1892 #define SHCNE_NETUNSHARE 0x00000400L | |
| 1893 #define SHCNE_ATTRIBUTES 0x00000800L | |
| 1894 #define SHCNE_UPDATEDIR 0x00001000L | |
| 1895 #define SHCNE_UPDATEITEM 0x00002000L | |
| 1896 #define SHCNE_SERVERDISCONNECT 0x00004000L | |
| 1897 #define SHCNE_UPDATEIMAGE 0x00008000L | |
| 1898 #define SHCNE_DRIVEADDGUI 0x00010000L | |
| 1899 #define SHCNE_RENAMEFOLDER 0x00020000L | |
| 1900 #define SHCNE_FREESPACE 0x00040000L | |
| 1901 #define SHCNE_EXTENDED_EVENT 0x04000000L | |
| 1902 | |
| 1903 #define SHCNE_ASSOCCHANGED 0x08000000L | |
| 1904 | |
| 1905 #define SHCNE_DISKEVENTS 0x0002381FL | |
| 1906 #define SHCNE_GLOBALEVENTS 0x0C0581E0L | |
| 1907 #define SHCNE_ALLEVENTS 0x7FFFFFFFL | |
| 1908 #define SHCNE_INTERRUPT 0x80000000L | |
| 1909 | |
| 1910 #define SHCNEE_ORDERCHANGED 2L | |
| 1911 #define SHCNEE_MSI_CHANGE 4L | |
| 1912 #define SHCNEE_MSI_UNINSTALL 5L | |
| 1913 | |
| 1914 #define SHCNF_IDLIST 0x0000 | |
| 1915 #define SHCNF_PATHA 0x0001 | |
| 1916 #define SHCNF_PRINTERA 0x0002 | |
| 1917 #define SHCNF_DWORD 0x0003 | |
| 1918 #define SHCNF_PATHW 0x0005 | |
| 1919 #define SHCNF_PRINTERW 0x0006 | |
| 1920 #define SHCNF_TYPE 0x00FF | |
| 1921 #define SHCNF_FLUSH 0x1000 | |
| 1922 #define SHCNF_FLUSHNOWAIT 0x2000 | |
| 1923 | |
| 1924 #ifdef UNICODE | |
| 1925 #define SHCNF_PATH SHCNF_PATHW | |
| 1926 #define SHCNF_PRINTER SHCNF_PRINTERW | |
| 1927 #else | |
| 1928 #define SHCNF_PATH SHCNF_PATHA | |
| 1929 #define SHCNF_PRINTER SHCNF_PRINTERA | |
| 1930 #endif | |
| 1931 | |
| 1932 SHSTDAPI_(void) SHChangeNotify(LONG wEventId,UINT uFlags,LPCVOID dwItem1,LPCVOID dwItem2); | |
| 1933 | |
| 1934 #undef INTERFACE | |
| 1935 #define INTERFACE IShellChangeNotify | |
| 1936 DECLARE_INTERFACE_(IShellChangeNotify,IUnknown) { | |
| 1937 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1938 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1939 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1940 STDMETHOD(OnChange) (THIS_ LONG lEvent,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2) PURE; | |
| 1941 }; | |
| 1942 | |
| 1943 #undef INTERFACE | |
| 1944 #define INTERFACE IQueryInfo | |
| 1945 DECLARE_INTERFACE_(IQueryInfo,IUnknown) { | |
| 1946 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 1947 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 1948 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 1949 STDMETHOD(GetInfoTip)(THIS_ DWORD dwFlags,WCHAR **ppwszTip) PURE; | |
| 1950 STDMETHOD(GetInfoFlags)(THIS_ DWORD *pdwFlags) PURE; | |
| 1951 }; | |
| 1952 | |
| 1953 #define QITIPF_DEFAULT 0x00000000 | |
| 1954 #define QITIPF_USENAME 0x00000001 | |
| 1955 #define QITIPF_LINKNOTARGET 0x00000002 | |
| 1956 #define QITIPF_LINKUSETARGET 0x00000004 | |
| 1957 #define QITIPF_USESLOWTIP 0x00000008 | |
| 1958 | |
| 1959 #define QIF_CACHED 0x00000001 | |
| 1960 #define QIF_DONTEXPANDFOLDER 0x00000002 | |
| 1961 | |
| 1962 typedef enum enum_SHARD{ | |
| 1963 SHARD_PIDL = 0x00000001, | |
| 1964 SHARD_PATHA = 0x00000002, | |
| 1965 SHARD_PATHW = 0x00000003, | |
| 1966 SHARD_APPIDINFO = 0x00000004, | |
| 1967 SHARD_APPIDINFOIDLIST = 0x00000005, | |
| 1968 SHARD_LINK = 0x00000006, | |
| 1969 SHARD_APPIDINFOLINK = 0x00000007, | |
| 1970 SHARD_SHELLITEM = 0x00000008 | |
| 1971 } SHARD; | |
| 1972 | |
| 1973 #ifdef UNICODE | |
| 1974 #define SHARD_PATH SHARD_PATHW | |
| 1975 #else | |
| 1976 #define SHARD_PATH SHARD_PATHA | |
| 1977 #endif | |
| 1978 | |
| 1979 SHSTDAPI_(void) SHAddToRecentDocs(UINT uFlags,LPCVOID pv); | |
| 1980 | |
| 1981 typedef struct _SHChangeDWORDAsIDList { | |
| 1982 USHORT cb; | |
| 1983 DWORD dwItem1; | |
| 1984 DWORD dwItem2; | |
| 1985 USHORT cbZero; | |
| 1986 } SHChangeDWORDAsIDList,*LPSHChangeDWORDAsIDList; | |
| 1987 | |
| 1988 typedef struct _SHChangeUpdateImageIDList { | |
| 1989 USHORT cb; | |
| 1990 int iIconIndex; | |
| 1991 int iCurIndex; | |
| 1992 UINT uFlags; | |
| 1993 DWORD dwProcessID; | |
| 1994 WCHAR szName[MAX_PATH]; | |
| 1995 USHORT cbZero; | |
| 1996 } SHChangeUpdateImageIDList,*LPSHChangeUpdateImageIDList; | |
| 1997 | |
| 1998 SHSTDAPI_(int) SHHandleUpdateImage(LPCITEMIDLIST pidlExtra); | |
| 1999 | |
| 2000 typedef struct _SHChangeProductKeyAsIDList { | |
| 2001 USHORT cb; | |
| 2002 WCHAR wszProductKey[39]; | |
| 2003 USHORT cbZero; | |
| 2004 } SHChangeProductKeyAsIDList,*LPSHChangeProductKeyAsIDList; | |
| 2005 | |
| 2006 #ifdef UNICODE | |
| 2007 #define SHUpdateImage SHUpdateImageW | |
| 2008 #else | |
| 2009 #define SHUpdateImage SHUpdateImageA | |
| 2010 #endif | |
| 2011 | |
| 2012 SHSTDAPI_(void) SHUpdateImageA(LPCSTR pszHashItem,int iIndex,UINT uFlags,int iImageIndex); | |
| 2013 SHSTDAPI_(void) SHUpdateImageW(LPCWSTR pszHashItem,int iIndex,UINT uFlags,int iImageIndex); | |
| 2014 SHSTDAPI_(ULONG) SHChangeNotifyRegister(HWND hwnd,int fSources,LONG fEvents,UINT wMsg,int cEntries,SHChangeNotifyEntry *pshcne); | |
| 2015 SHSTDAPI_(WINBOOL) SHChangeNotifyDeregister(unsigned long ulID); | |
| 2016 SHSTDAPI_(HANDLE) SHChangeNotification_Lock(HANDLE hChangeNotification,DWORD dwProcessId,LPITEMIDLIST **pppidl,LONG *plEvent); | |
| 2017 SHSTDAPI_(WINBOOL) SHChangeNotification_Unlock(HANDLE hLock); | |
| 2018 SHSTDAPI SHGetRealIDL(IShellFolder *psf,LPCITEMIDLIST pidlSimple,LPITEMIDLIST *ppidlReal); | |
| 2019 SHSTDAPI SHGetInstanceExplorer(IUnknown **ppunk); | |
| 2020 | |
| 2021 #define SHGDFIL_FINDDATA 1 | |
| 2022 #define SHGDFIL_NETRESOURCE 2 | |
| 2023 #define SHGDFIL_DESCRIPTIONID 3 | |
| 2024 | |
| 2025 #define SHDID_ROOT_REGITEM 1 | |
| 2026 #define SHDID_FS_FILE 2 | |
| 2027 #define SHDID_FS_DIRECTORY 3 | |
| 2028 #define SHDID_FS_OTHER 4 | |
| 2029 #define SHDID_COMPUTER_DRIVE35 5 | |
| 2030 #define SHDID_COMPUTER_DRIVE525 6 | |
| 2031 #define SHDID_COMPUTER_REMOVABLE 7 | |
| 2032 #define SHDID_COMPUTER_FIXED 8 | |
| 2033 #define SHDID_COMPUTER_NETDRIVE 9 | |
| 2034 #define SHDID_COMPUTER_CDROM 10 | |
| 2035 #define SHDID_COMPUTER_RAMDISK 11 | |
| 2036 #define SHDID_COMPUTER_OTHER 12 | |
| 2037 #define SHDID_NET_DOMAIN 13 | |
| 2038 #define SHDID_NET_SERVER 14 | |
| 2039 #define SHDID_NET_SHARE 15 | |
| 2040 #define SHDID_NET_RESTOFNET 16 | |
| 2041 #define SHDID_NET_OTHER 17 | |
| 2042 #define SHDID_COMPUTER_IMAGING 18 | |
| 2043 #define SHDID_COMPUTER_AUDIO 19 | |
| 2044 #define SHDID_COMPUTER_SHAREDDOCS 20 | |
| 2045 | |
| 2046 #include <pshpack8.h> | |
| 2047 | |
| 2048 typedef struct _SHDESCRIPTIONID { | |
| 2049 DWORD dwDescriptionId; | |
| 2050 CLSID clsid; | |
| 2051 } SHDESCRIPTIONID,*LPSHDESCRIPTIONID; | |
| 2052 | |
| 2053 #include <poppack.h> | |
| 2054 | |
| 2055 #ifdef UNICODE | |
| 2056 #define SHGetDataFromIDList SHGetDataFromIDListW | |
| 2057 #else | |
| 2058 #define SHGetDataFromIDList SHGetDataFromIDListA | |
| 2059 #endif | |
| 2060 | |
| 2061 SHSTDAPI SHGetDataFromIDListA(IShellFolder *psf,LPCITEMIDLIST pidl,int nFormat,void *pv,int cb); | |
| 2062 SHSTDAPI SHGetDataFromIDListW(IShellFolder *psf,LPCITEMIDLIST pidl,int nFormat,void *pv,int cb); | |
| 2063 | |
| 2064 #define PRF_VERIFYEXISTS 0x0001 | |
| 2065 #define PRF_TRYPROGRAMEXTENSIONS (0x0002 | PRF_VERIFYEXISTS) | |
| 2066 #define PRF_FIRSTDIRDEF 0x0004 | |
| 2067 #define PRF_DONTFINDLNK 0x0008 | |
| 2068 SHSTDAPI_(int) RestartDialog(HWND hwnd,LPCWSTR lpPrompt,DWORD dwReturn); | |
| 2069 SHSTDAPI_(int) RestartDialogEx(HWND hwnd,LPCWSTR lpPrompt,DWORD dwReturn,DWORD dwReasonCode); | |
| 2070 SHSTDAPI SHCoCreateInstance(LPCWSTR pszCLSID,const CLSID *pclsid,IUnknown *pUnkOuter,REFIID riid,void **ppv); | |
| 2071 DECLARE_HANDLE(FARPROC16); | |
| 2072 SHSTDAPI_(LRESULT) CallCPLEntry16(HINSTANCE hinst,FARPROC16 lpfnEntry,HWND hwndCPL,UINT msg,LPARAM lParam1,LPARAM lParam2); | |
| 2073 SHSTDAPI SHCreateStdEnumFmtEtc(UINT cfmt,const FORMATETC afmt[],IEnumFORMATETC **ppenumFormatEtc); | |
| 2074 SHSTDAPI SHDoDragDrop(HWND hwnd,IDataObject *pdata,IDropSource *pdsrc,DWORD dwEffect,DWORD *pdwEffect); | |
| 2075 | |
| 2076 #define NUM_POINTS 3 | |
| 2077 typedef struct { | |
| 2078 int iNextSample; | |
| 2079 DWORD dwLastScroll; | |
| 2080 WINBOOL bFull; | |
| 2081 POINT pts[NUM_POINTS]; | |
| 2082 DWORD dwTimes[NUM_POINTS]; | |
| 2083 } AUTO_SCROLL_DATA; | |
| 2084 | |
| 2085 SHSTDAPI_(WINBOOL) DAD_SetDragImage(HIMAGELIST him,POINT *pptOffset); | |
| 2086 SHSTDAPI_(WINBOOL) DAD_DragEnterEx(HWND hwndTarget,const POINT ptStart); | |
| 2087 SHSTDAPI_(WINBOOL) DAD_DragEnterEx2(HWND hwndTarget,const POINT ptStart,IDataObject *pdtObject); | |
| 2088 SHSTDAPI_(WINBOOL) DAD_ShowDragImage(WINBOOL fShow); | |
| 2089 SHSTDAPI_(WINBOOL) DAD_DragMove(POINT pt); | |
| 2090 SHSTDAPI_(WINBOOL) DAD_DragLeave(void); | |
| 2091 SHSTDAPI_(WINBOOL) DAD_AutoScroll(HWND hwnd,AUTO_SCROLL_DATA *pad,const POINT *pptNow); | |
| 2092 | |
| 2093 typedef struct { | |
| 2094 WORD cLength; | |
| 2095 WORD nVersion; | |
| 2096 WINBOOL fFullPathTitle : 1; | |
| 2097 WINBOOL fSaveLocalView : 1; | |
| 2098 WINBOOL fNotShell : 1; | |
| 2099 WINBOOL fSimpleDefault : 1; | |
| 2100 WINBOOL fDontShowDescBar : 1; | |
| 2101 WINBOOL fNewWindowMode : 1; | |
| 2102 WINBOOL fShowCompColor : 1; | |
| 2103 WINBOOL fDontPrettyNames : 1; | |
| 2104 WINBOOL fAdminsCreateCommonGroups : 1; | |
| 2105 UINT fUnusedFlags : 7; | |
| 2106 UINT fMenuEnumFilter; | |
| 2107 } CABINETSTATE,*LPCABINETSTATE; | |
| 2108 | |
| 2109 #define CABINETSTATE_VERSION 2 | |
| 2110 | |
| 2111 #ifdef UNICODE | |
| 2112 #define PathIsSlow PathIsSlowW | |
| 2113 #else | |
| 2114 #define PathIsSlow PathIsSlowA | |
| 2115 #endif | |
| 2116 | |
| 2117 SHSTDAPI_(WINBOOL) ReadCabinetState(LPCABINETSTATE lpState,int iSize); | |
| 2118 SHSTDAPI_(WINBOOL) WriteCabinetState(LPCABINETSTATE lpState); | |
| 2119 SHSTDAPI_(WINBOOL) PathMakeUniqueName(LPWSTR pszUniqueName,UINT cchMax,LPCWSTR pszTemplate,LPCWSTR pszLongPlate,LPCWSTR pszDir); | |
| 2120 SHSTDAPI_(void) PathQualify(LPWSTR psz); | |
| 2121 SHSTDAPI_(WINBOOL) PathIsExe(LPCWSTR pszPath); | |
| 2122 SHSTDAPI_(WINBOOL) PathIsSlowA(LPCSTR pszFile,DWORD dwAttr); | |
| 2123 SHSTDAPI_(WINBOOL) PathIsSlowW(LPCWSTR pszFile,DWORD dwAttr); | |
| 2124 | |
| 2125 #define PCS_FATAL 0x80000000 | |
| 2126 #define PCS_REPLACEDCHAR 0x00000001 | |
| 2127 #define PCS_REMOVEDCHAR 0x00000002 | |
| 2128 #define PCS_TRUNCATED 0x00000004 | |
| 2129 #define PCS_PATHTOOLONG 0x00000008 | |
| 2130 | |
| 2131 SHSTDAPI_(int) PathCleanupSpec(LPCWSTR pszDir,LPWSTR pszSpec); | |
| 2132 SHSTDAPI_(int) PathResolve(LPWSTR pszPath,LPCWSTR dirs[],UINT fFlags); | |
| 2133 SHSTDAPI_(WINBOOL) GetFileNameFromBrowse(HWND hwnd,LPWSTR pszFilePath,UINT cbFilePath,LPCWSTR pszWorkingDir,LPCWSTR pszDefExt,LPCWSTR pszFilters,LPCWSTR pszTitle); | |
| 2134 SHSTDAPI_(int) DriveType(int iDrive); | |
| 2135 SHSTDAPI_(int) RealDriveType(int iDrive,WINBOOL fOKToHitNet); | |
| 2136 SHSTDAPI_(int) IsNetDrive(int iDrive); | |
| 2137 | |
| 2138 #define MM_ADDSEPARATOR 0x00000001L | |
| 2139 #define MM_SUBMENUSHAVEIDS 0x00000002L | |
| 2140 #define MM_DONTREMOVESEPS 0x00000004L | |
| 2141 | |
| 2142 SHSTDAPI_(UINT) Shell_MergeMenus(HMENU hmDst,HMENU hmSrc,UINT uInsert,UINT uIDAdjust,UINT uIDAdjustMax,ULONG uFlags); | |
| 2143 SHSTDAPI_(WINBOOL) SHObjectProperties(HWND hwnd,DWORD dwType,LPCWSTR lpObject,LPCWSTR lpPage); | |
| 2144 | |
| 2145 #define SHOP_PRINTERNAME 0x00000001 | |
| 2146 #define SHOP_FILEPATH 0x00000002 | |
| 2147 #define SHOP_VOLUMEGUID 0x00000004 | |
| 2148 | |
| 2149 SHSTDAPI_(DWORD) SHFormatDrive(HWND hwnd,UINT drive,UINT fmtID,UINT options); | |
| 2150 | |
| 2151 #define SHFMT_ID_DEFAULT 0xFFFF | |
| 2152 | |
| 2153 #define SHFMT_OPT_FULL 0x0001 | |
| 2154 #define SHFMT_OPT_SYSONLY 0x0002 | |
| 2155 | |
| 2156 #define SHFMT_ERROR 0xFFFFFFFFL | |
| 2157 #define SHFMT_CANCEL 0xFFFFFFFEL | |
| 2158 #define SHFMT_NOFORMAT 0xFFFFFFFDL | |
| 2159 | |
| 2160 #ifndef HPSXA_DEFINED | |
| 2161 #define HPSXA_DEFINED | |
| 2162 DECLARE_HANDLE(HPSXA); | |
| 2163 #endif | |
| 2164 WINSHELLAPI HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey,LPCWSTR pszSubKey,UINT max_iface); | |
| 2165 WINSHELLAPI void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa); | |
| 2166 WINSHELLAPI UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa,LPFNADDPROPSHEETPAGE lpfnAddPage,LPARAM lParam); | |
| 2167 WINSHELLAPI UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa,UINT uPageID,LPFNADDPROPSHEETPAGE lpfnReplaceWith,LPARAM lParam); | |
| 2168 SHSTDAPI_(LPITEMIDLIST) ILClone(LPCITEMIDLIST pidl); | |
| 2169 SHSTDAPI_(LPITEMIDLIST) ILGetNext(LPCITEMIDLIST pidl); | |
| 2170 SHSTDAPI_(UINT) ILGetSize(LPCITEMIDLIST pidl); | |
| 2171 SHSTDAPI_(LPITEMIDLIST) ILFindLastID(LPCITEMIDLIST pidl); | |
| 2172 SHSTDAPI_(WINBOOL) ILRemoveLastID(LPITEMIDLIST pidl); | |
| 2173 SHSTDAPI_(LPITEMIDLIST) ILAppendID(LPITEMIDLIST pidl,LPCSHITEMID pmkid,WINBOOL fAppend); | |
| 2174 SHSTDAPI_(void) ILFree(LPITEMIDLIST pidl); | |
| 2175 SHSTDAPI_(LPITEMIDLIST) ILCloneFirst(LPCITEMIDLIST pidl); | |
| 2176 SHSTDAPI_(WINBOOL) ILIsEqual(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2); | |
| 2177 SHSTDAPI_(WINBOOL) ILIsParent(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2,WINBOOL fImmediate); | |
| 2178 SHSTDAPI_(LPITEMIDLIST) ILFindChild(LPCITEMIDLIST pidlParent,LPCITEMIDLIST pidlChild); | |
| 2179 SHSTDAPI_(LPITEMIDLIST) ILCombine(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2); | |
| 2180 SHSTDAPI ILLoadFromStream(IStream *pstm,LPITEMIDLIST *pidl); | |
| 2181 SHSTDAPI ILSaveToStream(IStream *pstm,LPCITEMIDLIST pidl); | |
| 2182 SHSTDAPI_(LPITEMIDLIST) ILCreateFromPathA(LPCSTR pszPath); | |
| 2183 SHSTDAPI_(LPITEMIDLIST) ILCreateFromPathW(LPCWSTR pszPath); | |
| 2184 | |
| 2185 #ifdef NO_WRAPPERS_FOR_ILCREATEFROMPATH | |
| 2186 SHSTDAPI_(LPITEMIDLIST) ILCreateFromPath(LPCTSTR pszPath); | |
| 2187 #else | |
| 2188 #ifdef UNICODE | |
| 2189 #define ILCreateFromPath ILCreateFromPathW | |
| 2190 #else | |
| 2191 #define ILCreateFromPath ILCreateFromPathA | |
| 2192 #endif | |
| 2193 #endif | |
| 2194 SHSTDAPI SHILCreateFromPath(LPCWSTR szPath,LPITEMIDLIST *ppidl,DWORD *rgfInOut); | |
| 2195 | |
| 2196 #undef INTERFACE | |
| 2197 #define INTERFACE IDefViewFrame | |
| 2198 DECLARE_INTERFACE_(IDefViewFrame,IUnknown) { | |
| 2199 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 2200 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 2201 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 2202 STDMETHOD(GetWindowLV) (THIS_ HWND *phwnd) PURE; | |
| 2203 STDMETHOD(ReleaseWindowLV) (THIS) PURE; | |
| 2204 STDMETHOD(GetShellFolder)(THIS_ IShellFolder **ppsf) PURE; | |
| 2205 }; | |
| 2206 | |
| 2207 typedef enum RESTRICTIONS { | |
| 2208 REST_NONE = 0x00000000,REST_NORUN = 0x00000001,REST_NOCLOSE = 0x00000002,REST_NOSAVESET = 0x00000004,REST_NOFILEMENU = 0x00000008, | |
| 2209 REST_NOSETFOLDERS = 0x00000010,REST_NOSETTASKBAR = 0x00000020,REST_NODESKTOP = 0x00000040,REST_NOFIND = 0x00000080, | |
| 2210 REST_NODRIVES = 0x00000100,REST_NODRIVEAUTORUN = 0x00000200,REST_NODRIVETYPEAUTORUN = 0x00000400,REST_NONETHOOD = 0x00000800, | |
| 2211 REST_STARTBANNER = 0x00001000,REST_RESTRICTRUN = 0x00002000,REST_NOPRINTERTABS = 0x00004000,REST_NOPRINTERDELETE = 0x00008000, | |
| 2212 REST_NOPRINTERADD = 0x00010000,REST_NOSTARTMENUSUBFOLDERS = 0x00020000,REST_MYDOCSONNET = 0x00040000,REST_NOEXITTODOS = 0x00080000, | |
| 2213 REST_ENFORCESHELLEXTSECURITY = 0x00100000,REST_LINKRESOLVEIGNORELINKINFO = 0x00200000,REST_NOCOMMONGROUPS = 0x00400000, | |
| 2214 REST_SEPARATEDESKTOPPROCESS = 0x00800000,REST_NOWEB = 0x01000000,REST_NOTRAYCONTEXTMENU = 0x02000000,REST_NOVIEWCONTEXTMENU = 0x04000000, | |
| 2215 REST_NONETCONNECTDISCONNECT = 0x08000000,REST_STARTMENULOGOFF = 0x10000000,REST_NOSETTINGSASSIST = 0x20000000,REST_NOINTERNETICON = 0x40000001, | |
| 2216 REST_NORECENTDOCSHISTORY = 0x40000002,REST_NORECENTDOCSMENU = 0x40000003,REST_NOACTIVEDESKTOP = 0x40000004,REST_NOACTIVEDESKTOPCHANGES = 0x40000005, | |
| 2217 REST_NOFAVORITESMENU = 0x40000006,REST_CLEARRECENTDOCSONEXIT = 0x40000007,REST_CLASSICSHELL = 0x40000008,REST_NOCUSTOMIZEWEBVIEW = 0x40000009, | |
| 2218 REST_NOHTMLWALLPAPER = 0x40000010,REST_NOCHANGINGWALLPAPER = 0x40000011,REST_NODESKCOMP = 0x40000012,REST_NOADDDESKCOMP = 0x40000013, | |
| 2219 REST_NODELDESKCOMP = 0x40000014,REST_NOCLOSEDESKCOMP = 0x40000015,REST_NOCLOSE_DRAGDROPBAND = 0x40000016,REST_NOMOVINGBAND = 0x40000017, | |
| 2220 REST_NOEDITDESKCOMP = 0x40000018,REST_NORESOLVESEARCH = 0x40000019,REST_NORESOLVETRACK = 0x4000001A,REST_FORCECOPYACLWITHFILE = 0X4000001B, | |
| 2221 REST_NOLOGO3CHANNELNOTIFY = 0x4000001C,REST_NOFORGETSOFTWAREUPDATE = 0x4000001D,REST_NOSETACTIVEDESKTOP = 0x4000001E, | |
| 2222 REST_NOUPDATEWINDOWS = 0x4000001F,REST_NOCHANGESTARMENU = 0x40000020,REST_NOFOLDEROPTIONS = 0x40000021,REST_HASFINDCOMPUTERS = 0x40000022, | |
| 2223 REST_INTELLIMENUS = 0x40000023,REST_RUNDLGMEMCHECKBOX = 0x40000024,REST_ARP_ShowPostSetup = 0x40000025,REST_NOCSC = 0x40000026, | |
| 2224 REST_NOCONTROLPANEL = 0x40000027,REST_ENUMWORKGROUP = 0x40000028,REST_ARP_NOARP = 0x40000029,REST_ARP_NOREMOVEPAGE = 0x4000002A, | |
| 2225 REST_ARP_NOADDPAGE = 0x4000002B,REST_ARP_NOWINSETUPPAGE = 0x4000002C,REST_GREYMSIADS = 0x4000002D,REST_NOCHANGEMAPPEDDRIVELABEL = 0x4000002E, | |
| 2226 REST_NOCHANGEMAPPEDDRIVECOMMENT = 0x4000002F,REST_MaxRecentDocs = 0x40000030,REST_NONETWORKCONNECTIONS = 0x40000031, | |
| 2227 REST_FORCESTARTMENULOGOFF = 0x40000032,REST_NOWEBVIEW = 0x40000033,REST_NOCUSTOMIZETHISFOLDER = 0x40000034,REST_NOENCRYPTION = 0x40000035, | |
| 2228 REST_DONTSHOWSUPERHIDDEN = 0x40000037,REST_NOSHELLSEARCHBUTTON = 0x40000038,REST_NOHARDWARETAB = 0x40000039,REST_NORUNASINSTALLPROMPT = 0x4000003A, | |
| 2229 REST_PROMPTRUNASINSTALLNETPATH = 0x4000003B,REST_NOMANAGEMYCOMPUTERVERB = 0x4000003C,REST_NORECENTDOCSNETHOOD = 0x4000003D, | |
| 2230 REST_DISALLOWRUN = 0x4000003E,REST_NOWELCOMESCREEN = 0x4000003F,REST_RESTRICTCPL = 0x40000040,REST_DISALLOWCPL = 0x40000041, | |
| 2231 REST_NOSMBALLOONTIP = 0x40000042,REST_NOSMHELP = 0x40000043,REST_NOWINKEYS = 0x40000044,REST_NOENCRYPTONMOVE = 0x40000045, | |
| 2232 REST_NOLOCALMACHINERUN = 0x40000046,REST_NOCURRENTUSERRUN = 0x40000047,REST_NOLOCALMACHINERUNONCE = 0x40000048, | |
| 2233 REST_NOCURRENTUSERRUNONCE = 0x40000049,REST_FORCEACTIVEDESKTOPON = 0x4000004A,REST_NOCOMPUTERSNEARME = 0x4000004B,REST_NOVIEWONDRIVE = 0x4000004C, | |
| 2234 REST_NONETCRAWL = 0x4000004D,REST_NOSHAREDDOCUMENTS = 0x4000004E,REST_NOSMMYDOCS = 0x4000004F,REST_NOSMMYPICS = 0x40000050, | |
| 2235 REST_ALLOWBITBUCKDRIVES = 0x40000051,REST_NONLEGACYSHELLMODE = 0x40000052,REST_NOCONTROLPANELBARRICADE = 0x40000053,REST_NOSTARTPAGE = 0x40000054, | |
| 2236 REST_NOAUTOTRAYNOTIFY = 0x40000055,REST_NOTASKGROUPING = 0x40000056,REST_NOCDBURNING = 0x40000057,REST_MYCOMPNOPROP = 0x40000058, | |
| 2237 REST_MYDOCSNOPROP = 0x40000059,REST_NOSTARTPANEL = 0x4000005A,REST_NODISPLAYAPPEARANCEPAGE = 0x4000005B,REST_NOTHEMESTAB = 0x4000005C, | |
| 2238 REST_NOVISUALSTYLECHOICE = 0x4000005D,REST_NOSIZECHOICE = 0x4000005E,REST_NOCOLORCHOICE = 0x4000005F,REST_SETVISUALSTYLE = 0x40000060, | |
| 2239 REST_STARTRUNNOHOMEPATH = 0x40000061,REST_NOUSERNAMEINSTARTPANEL = 0x40000062,REST_NOMYCOMPUTERICON = 0x40000063,REST_NOSMNETWORKPLACES = 0x40000064, | |
| 2240 REST_NOSMPINNEDLIST = 0x40000065,REST_NOSMMYMUSIC = 0x40000066,REST_NOSMEJECTPC = 0x40000067,REST_NOSMMOREPROGRAMS = 0x40000068, | |
| 2241 REST_NOSMMFUPROGRAMS = 0x40000069,REST_NOTRAYITEMSDISPLAY = 0x4000006A,REST_NOTOOLBARSONTASKBAR = 0x4000006B,REST_NOSMCONFIGUREPROGRAMS = 0x4000006F, | |
| 2242 REST_HIDECLOCK = 0x40000070,REST_NOLOWDISKSPACECHECKS = 0x40000071,REST_NOENTIRENETWORK = 0x40000072,REST_NODESKTOPCLEANUP = 0x40000073, | |
| 2243 REST_BITBUCKNUKEONDELETE = 0x40000074,REST_BITBUCKCONFIRMDELETE = 0x40000075,REST_BITBUCKNOPROP = 0x40000076,REST_NODISPBACKGROUND = 0x40000077, | |
| 2244 REST_NODISPSCREENSAVEPG = 0x40000078,REST_NODISPSETTINGSPG = 0x40000079,REST_NODISPSCREENSAVEPREVIEW = 0x4000007A,REST_NODISPLAYCPL = 0x4000007B, | |
| 2245 REST_HIDERUNASVERB = 0x4000007C,REST_NOTHUMBNAILCACHE = 0x4000007D,REST_NOSTRCMPLOGICAL = 0x4000007E,REST_NOPUBLISHWIZARD = 0x4000007F, | |
| 2246 REST_NOONLINEPRINTSWIZARD = 0x40000080,REST_NOWEBSERVICES = 0x40000081,REST_ALLOWUNHASHEDWEBVIEW = 0x40000082,REST_ALLOWLEGACYWEBVIEW = 0x40000083, | |
| 2247 REST_REVERTWEBVIEWSECURITY = 0x40000084,REST_INHERITCONSOLEHANDLES = 0x40000086,REST_SORTMAXITEMCOUNT = 0x40000087, | |
| 2248 REST_NOREMOTERECURSIVEEVENTS = 0x40000089,REST_NOREMOTECHANGENOTIFY = 0x40000091,REST_NOSIMPLENETIDLIST = 0x40000092, | |
| 2249 REST_NOENUMENTIRENETWORK = 0x40000093,REST_NODETAILSTHUMBNAILONNETWORK= 0x40000094,REST_NOINTERNETOPENWITH = 0x40000095, | |
| 2250 REST_ALLOWLEGACYLMZBEHAVIOR = 0x4000009A,REST_DONTRETRYBADNETNAME = 0x4000009B,REST_ALLOWFILECLSIDJUNCTIONS = 0x4000009C, | |
| 2251 REST_NOUPNPINSTALL = 0x4000009D,REST_NODISCONNECT = 0x41000001,REST_NOSECURITY = 0x41000002,REST_NOFILEASSOCIATE = 0x41000003, | |
| 2252 REST_ALLOWCOMMENTTOGGLE = 0x41000004,REST_USEDESKTOPINICACHE = 0x41000005 | |
| 2253 } RESTRICTIONS; | |
| 2254 | |
| 2255 SHSTDAPI_(IStream *) OpenRegStream(HKEY hkey,LPCWSTR pszSubkey,LPCWSTR pszValue,DWORD grfMode); | |
| 2256 SHSTDAPI_(WINBOOL) SHFindFiles(LPCITEMIDLIST pidlFolder,LPCITEMIDLIST pidlSaveFile); | |
| 2257 SHSTDAPI_(void) PathGetShortPath(LPWSTR pszLongPath); | |
| 2258 SHSTDAPI_(WINBOOL) PathYetAnotherMakeUniqueName(LPWSTR pszUniqueName,LPCWSTR pszPath,LPCWSTR pszShort,LPCWSTR pszFileSpec); | |
| 2259 SHSTDAPI_(WINBOOL) Win32DeleteFile(LPCWSTR pszPath); | |
| 2260 | |
| 2261 #define PPCF_ADDQUOTES 0x00000001 | |
| 2262 #define PPCF_ADDARGUMENTS 0x00000003 | |
| 2263 #define PPCF_NODIRECTORIES 0x00000010 | |
| 2264 #define PPCF_FORCEQUALIFY 0x00000040 | |
| 2265 #define PPCF_LONGESTPOSSIBLE 0x00000080 | |
| 2266 | |
| 2267 #ifdef UNICODE | |
| 2268 #define SHStartNetConnectionDialog SHStartNetConnectionDialogW | |
| 2269 #define SHDefExtractIcon SHDefExtractIconW | |
| 2270 #else | |
| 2271 #define SHStartNetConnectionDialog SHStartNetConnectionDialogA | |
| 2272 #define SHDefExtractIcon SHDefExtractIconA | |
| 2273 #endif | |
| 2274 | |
| 2275 SHSTDAPI_(LONG) PathProcessCommand(LPCWSTR lpSrc,LPWSTR lpDest,int iMax,DWORD dwFlags); | |
| 2276 SHSTDAPI_(DWORD) SHRestricted(RESTRICTIONS rest); | |
| 2277 SHSTDAPI_(WINBOOL) SignalFileOpen(LPCITEMIDLIST pidl); | |
| 2278 SHSTDAPI_(LPITEMIDLIST) SHSimpleIDListFromPath(LPCWSTR pszPath); | |
| 2279 SHSTDAPI SHLoadOLE(LPARAM lParam); | |
| 2280 SHSTDAPI SHStartNetConnectionDialogA(HWND hwnd,LPCSTR pszRemoteName,DWORD dwType); | |
| 2281 SHSTDAPI SHStartNetConnectionDialogW(HWND hwnd,LPCWSTR pszRemoteName,DWORD dwType); | |
| 2282 SHSTDAPI SHDefExtractIconA(LPCSTR pszIconFile,int iIndex,UINT uFlags,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize); | |
| 2283 SHSTDAPI SHDefExtractIconW(LPCWSTR pszIconFile,int iIndex,UINT uFlags,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize); | |
| 2284 SHSTDAPI_(WINBOOL) Shell_GetImageLists(HIMAGELIST *phiml,HIMAGELIST *phimlSmall); | |
| 2285 SHSTDAPI_(int) Shell_GetCachedImageIndex(LPCWSTR pszIconPath,int iIconIndex,UINT uIconFlags); | |
| 2286 | |
| 2287 #undef INTERFACE | |
| 2288 #define INTERFACE IDocViewSite | |
| 2289 DECLARE_INTERFACE_(IDocViewSite,IUnknown) { | |
| 2290 STDMETHOD(QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 2291 STDMETHOD_(ULONG,AddRef)(THIS) PURE; | |
| 2292 STDMETHOD_(ULONG,Release)(THIS) PURE; | |
| 2293 STDMETHOD(OnSetTitle) (THIS_ VARIANTARG *pvTitle) PURE; | |
| 2294 }; | |
| 2295 #define VALIDATEUNC_NOUI 0x0002 | |
| 2296 #define VALIDATEUNC_CONNECT 0x0001 | |
| 2297 #define VALIDATEUNC_PRINT 0x0004 | |
| 2298 #define VALIDATEUNC_VALID 0x0007 | |
| 2299 | |
| 2300 SHSTDAPI_(WINBOOL) SHValidateUNC(HWND hwndOwner,LPWSTR pszFile,UINT fConnect); | |
| 2301 #define OPENPROPS_NONE 0x0000 | |
| 2302 #define OPENPROPS_INHIBITPIF 0x8000 | |
| 2303 #define GETPROPS_NONE 0x0000 | |
| 2304 #define SETPROPS_NONE 0x0000 | |
| 2305 #define CLOSEPROPS_NONE 0x0000 | |
| 2306 #define CLOSEPROPS_DISCARD 0x0001 | |
| 2307 | |
| 2308 #define PIFNAMESIZE 30 | |
| 2309 #define PIFSTARTLOCSIZE 63 | |
| 2310 #define PIFDEFPATHSIZE 64 | |
| 2311 #define PIFPARAMSSIZE 64 | |
| 2312 #define PIFSHPROGSIZE 64 | |
| 2313 #define PIFSHDATASIZE 64 | |
| 2314 #define PIFDEFFILESIZE 80 | |
| 2315 #define PIFMAXFILEPATH 260 | |
| 2316 | |
| 2317 typedef struct PROPPRG { | |
| 2318 WORD flPrg; | |
| 2319 WORD flPrgInit; | |
| 2320 CHAR achTitle[PIFNAMESIZE]; | |
| 2321 CHAR achCmdLine[PIFSTARTLOCSIZE+PIFPARAMSSIZE+1]; | |
| 2322 CHAR achWorkDir[PIFDEFPATHSIZE]; | |
| 2323 WORD wHotKey; | |
| 2324 CHAR achIconFile[PIFDEFFILESIZE]; | |
| 2325 WORD wIconIndex; | |
| 2326 DWORD dwEnhModeFlags; | |
| 2327 DWORD dwRealModeFlags; | |
| 2328 CHAR achOtherFile[PIFDEFFILESIZE]; | |
| 2329 CHAR achPIFFile[PIFMAXFILEPATH]; | |
| 2330 } PROPPRG; | |
| 2331 typedef UNALIGNED PROPPRG *PPROPPRG; | |
| 2332 typedef UNALIGNED PROPPRG *LPPROPPRG; | |
| 2333 typedef const UNALIGNED PROPPRG *LPCPROPPRG; | |
| 2334 | |
| 2335 SHSTDAPI_(HANDLE) PifMgr_OpenProperties(LPCWSTR pszApp,LPCWSTR pszPIF,UINT hInf,UINT flOpt); | |
| 2336 SHSTDAPI_(int) PifMgr_GetProperties(HANDLE hProps,LPCSTR pszGroup,void *lpProps,int cbProps,UINT flOpt); | |
| 2337 SHSTDAPI_(int) PifMgr_SetProperties(HANDLE hProps,LPCSTR pszGroup,const VOID *lpProps,int cbProps,UINT flOpt); | |
| 2338 SHSTDAPI_(HANDLE) PifMgr_CloseProperties(HANDLE hProps,UINT flOpt); | |
| 2339 SHSTDAPI_(void) SHSetInstanceExplorer(IUnknown *punk); | |
| 2340 SHSTDAPI_(WINBOOL) IsUserAnAdmin(void); | |
| 2341 | |
| 2342 #undef INTERFACE | |
| 2343 #define INTERFACE IInitializeObject | |
| 2344 DECLARE_INTERFACE_(IInitializeObject,IUnknown) { | |
| 2345 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 2346 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 2347 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 2348 STDMETHOD(Initialize)(THIS) PURE; | |
| 2349 }; | |
| 2350 | |
| 2351 enum { | |
| 2352 BMICON_LARGE = 0,BMICON_SMALL | |
| 2353 }; | |
| 2354 | |
| 2355 #undef INTERFACE | |
| 2356 #define INTERFACE IBanneredBar | |
| 2357 DECLARE_INTERFACE_(IBanneredBar,IUnknown) { | |
| 2358 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 2359 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 2360 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 2361 STDMETHOD(SetIconSize)(THIS_ DWORD iIcon) PURE; | |
| 2362 STDMETHOD(GetIconSize)(THIS_ DWORD *piIcon) PURE; | |
| 2363 STDMETHOD(SetBitmap)(THIS_ HBITMAP hBitmap) PURE; | |
| 2364 STDMETHOD(GetBitmap)(THIS_ HBITMAP *phBitmap) PURE; | |
| 2365 }; | |
| 2366 | |
| 2367 SHSTDAPI_(LRESULT) SHShellFolderView_Message(HWND hwndMain,UINT uMsg,LPARAM lParam); | |
| 2368 | |
| 2369 #undef INTERFACE | |
| 2370 #define INTERFACE IShellFolderViewCB | |
| 2371 DECLARE_INTERFACE_(IShellFolderViewCB,IUnknown) { | |
| 2372 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 2373 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 2374 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 2375 STDMETHOD(MessageSFVCB)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE; | |
| 2376 }; | |
| 2377 | |
| 2378 #include <pshpack8.h> | |
| 2379 | |
| 2380 #undef UNSIZED_ARRAY2 | |
| 2381 #undef EMPTY_SIZE2 | |
| 2382 #define UNSIZED_ARRAY2 | |
| 2383 #define EMPTY_SIZE2 UNSIZED_ARRAY2 | |
| 2384 | |
| 2385 #define QCMINFO_PLACE_BEFORE 0 | |
| 2386 #define QCMINFO_PLACE_AFTER 1 | |
| 2387 typedef struct _QCMINFO_IDMAP_PLACEMENT { | |
| 2388 UINT id; | |
| 2389 UINT fFlags; | |
| 2390 } QCMINFO_IDMAP_PLACEMENT; | |
| 2391 | |
| 2392 typedef struct _QCMINFO_IDMAP { | |
| 2393 UINT nMaxIds; | |
| 2394 QCMINFO_IDMAP_PLACEMENT pIdList[1]; | |
| 2395 } QCMINFO_IDMAP; | |
| 2396 | |
| 2397 typedef struct _QCMINFO { | |
| 2398 HMENU hmenu; | |
| 2399 UINT indexMenu; | |
| 2400 UINT idCmdFirst; | |
| 2401 UINT idCmdLast; | |
| 2402 QCMINFO_IDMAP const *pIdMap; | |
| 2403 } QCMINFO; | |
| 2404 | |
| 2405 typedef QCMINFO *LPQCMINFO; | |
| 2406 | |
| 2407 #define TBIF_APPEND 0 | |
| 2408 #define TBIF_PREPEND 1 | |
| 2409 #define TBIF_REPLACE 2 | |
| 2410 #define TBIF_DEFAULT 0x00000000 | |
| 2411 #define TBIF_INTERNETBAR 0x00010000 | |
| 2412 #define TBIF_STANDARDTOOLBAR 0x00020000 | |
| 2413 #define TBIF_NOTOOLBAR 0x00030000 | |
| 2414 | |
| 2415 typedef struct _TBINFO { | |
| 2416 UINT cbuttons; | |
| 2417 UINT uFlags; | |
| 2418 } TBINFO; | |
| 2419 | |
| 2420 typedef struct _DETAILSINFO { | |
| 2421 LPCITEMIDLIST pidl; | |
| 2422 int fmt; | |
| 2423 int cxChar; | |
| 2424 STRRET str; | |
| 2425 int iImage; | |
| 2426 } DETAILSINFO; | |
| 2427 | |
| 2428 typedef struct _SFVM_PROPPAGE_DATA { | |
| 2429 DWORD dwReserved; | |
| 2430 LPFNADDPROPSHEETPAGE pfn; | |
| 2431 LPARAM lParam; | |
| 2432 } SFVM_PROPPAGE_DATA; | |
| 2433 | |
| 2434 typedef struct _SFVM_HELPTOPIC_DATA { | |
| 2435 WCHAR wszHelpFile[MAX_PATH]; | |
| 2436 WCHAR wszHelpTopic[MAX_PATH]; | |
| 2437 } SFVM_HELPTOPIC_DATA; | |
| 2438 | |
| 2439 #define SFVM_MERGEMENU 1 | |
| 2440 #define SFVM_INVOKECOMMAND 2 | |
| 2441 #define SFVM_GETHELPTEXT 3 | |
| 2442 #define SFVM_GETTOOLTIPTEXT 4 | |
| 2443 #define SFVM_GETBUTTONINFO 5 | |
| 2444 #define SFVM_GETBUTTONS 6 | |
| 2445 #define SFVM_INITMENUPOPUP 7 | |
| 2446 #define SFVM_FSNOTIFY 14 | |
| 2447 #define SFVM_WINDOWCREATED 15 | |
| 2448 #define SFVM_GETDETAILSOF 23 | |
| 2449 #define SFVM_COLUMNCLICK 24 | |
| 2450 #define SFVM_QUERYFSNOTIFY 25 | |
| 2451 #define SFVM_DEFITEMCOUNT 26 | |
| 2452 #define SFVM_DEFVIEWMODE 27 | |
| 2453 #define SFVM_UNMERGEMENU 28 | |
| 2454 #define SFVM_UPDATESTATUSBAR 31 | |
| 2455 #define SFVM_BACKGROUNDENUM 32 | |
| 2456 #define SFVM_DIDDRAGDROP 36 | |
| 2457 #define SFVM_SETISFV 39 | |
| 2458 #define SFVM_THISIDLIST 41 | |
| 2459 #define SFVM_ADDPROPERTYPAGES 47 | |
| 2460 #define SFVM_BACKGROUNDENUMDONE 48 | |
| 2461 #define SFVM_GETNOTIFY 49 | |
| 2462 #define SFVM_GETSORTDEFAULTS 53 | |
| 2463 #define SFVM_SIZE 57 | |
| 2464 #define SFVM_GETZONE 58 | |
| 2465 #define SFVM_GETPANE 59 | |
| 2466 #define SFVM_GETHELPTOPIC 63 | |
| 2467 #define SFVM_GETANIMATION 68 | |
| 2468 | |
| 2469 typedef struct _SFV_CREATE { | |
| 2470 UINT cbSize; | |
| 2471 IShellFolder *pshf; | |
| 2472 IShellView *psvOuter; | |
| 2473 IShellFolderViewCB *psfvcb; | |
| 2474 } SFV_CREATE; | |
| 2475 | |
| 2476 SHSTDAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv,IShellView **ppsv); | |
| 2477 | |
| 2478 typedef HRESULT (CALLBACK *LPFNDFMCALLBACK)(IShellFolder *psf,HWND hwnd,IDataObject *pdtobj,UINT uMsg,WPARAM wParam,LPARAM lParam); | |
| 2479 | |
| 2480 #ifdef UNICODE | |
| 2481 #define SHOpenPropSheet SHOpenPropSheetW | |
| 2482 #else | |
| 2483 #define SHOpenPropSheet SHOpenPropSheetA | |
| 2484 #endif | |
| 2485 | |
| 2486 SHSTDAPI CDefFolderMenu_Create2(LPCITEMIDLIST pidlFolder,HWND hwnd,UINT cidl,LPCITEMIDLIST *apidl,IShellFolder *psf,LPFNDFMCALLBACK lpfn,UINT nKeys,const HKEY *ahkeyClsKeys,IContextMenu **ppcm); | |
| 2487 SHSTDAPI_(WINBOOL) SHOpenPropSheetA(LPCSTR pszCaption,HKEY ahkeys[],UINT cikeys,const CLSID *pclsidDefault,IDataObject *pdtobj,IShellBrowser *psb,LPCSTR pStartPage); | |
| 2488 SHSTDAPI_(WINBOOL) SHOpenPropSheetW(LPCWSTR pszCaption,HKEY ahkeys[],UINT cikeys,const CLSID *pclsidDefault,IDataObject *pdtobj,IShellBrowser *psb,LPCWSTR pStartPage); | |
| 2489 | |
| 2490 #define DFM_MERGECONTEXTMENU 1 | |
| 2491 #define DFM_INVOKECOMMAND 2 | |
| 2492 #define DFM_GETDEFSTATICID 14 | |
| 2493 | |
| 2494 #define DFM_CMD_PROPERTIES ((UINT)-5) | |
| 2495 typedef TBINFO *LPTBINFO; | |
| 2496 typedef DETAILSINFO *PDETAILSINFO; | |
| 2497 typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)(IShellView *psvOuter,IShellFolder *psf,HWND hwndMain,UINT uMsg,WPARAM wParam,LPARAM lParam); | |
| 2498 | |
| 2499 typedef struct _CSFV { | |
| 2500 UINT cbSize; | |
| 2501 IShellFolder *pshf; | |
| 2502 IShellView *psvOuter; | |
| 2503 LPCITEMIDLIST pidl; | |
| 2504 LONG lEvents; | |
| 2505 LPFNVIEWCALLBACK pfnCallback; | |
| 2506 FOLDERVIEWMODE fvm; | |
| 2507 } CSFV,*LPCSFV; | |
| 2508 | |
| 2509 #define SFVM_REARRANGE 0x00000001 | |
| 2510 #define ShellFolderView_ReArrange(_hwnd,_lparam) (WINBOOL)SHShellFolderView_Message(_hwnd,SFVM_REARRANGE,_lparam) | |
| 2511 | |
| 2512 #define SFVM_ADDOBJECT 0x00000003 | |
| 2513 #define ShellFolderView_AddObject(_hwnd,_pidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_ADDOBJECT,(LPARAM)_pidl) | |
| 2514 | |
| 2515 #define SFVM_REMOVEOBJECT 0x00000006 | |
| 2516 #define ShellFolderView_RemoveObject(_hwnd,_pidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_REMOVEOBJECT,(LPARAM)_pidl) | |
| 2517 | |
| 2518 #define SFVM_UPDATEOBJECT 0x00000007 | |
| 2519 #define ShellFolderView_UpdateObject(_hwnd,_ppidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_UPDATEOBJECT,(LPARAM)_ppidl) | |
| 2520 | |
| 2521 #define SFVM_GETSELECTEDOBJECTS 0x00000009 | |
| 2522 #define ShellFolderView_GetSelectedObjects(_hwnd,ppidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_GETSELECTEDOBJECTS,(LPARAM)ppidl) | |
| 2523 typedef struct _SFV_SETITEMPOS { | |
| 2524 LPCITEMIDLIST pidl; | |
| 2525 POINT pt; | |
| 2526 } SFV_SETITEMPOS,*LPSFV_SETITEMPOS; | |
| 2527 | |
| 2528 #define SFVM_SETITEMPOS 0x0000000e | |
| 2529 #define ShellFolderView_SetItemPos(_hwnd,_pidl,_x,_y) { SFV_SETITEMPOS _sip = {_pidl,{_x,_y}}; SHShellFolderView_Message(_hwnd,SFVM_SETITEMPOS,(LPARAM)(LPSFV_SETITEMPOS)&_sip);} | |
| 2530 | |
| 2531 #define SFVM_SETCLIPBOARD 0x00000010 | |
| 2532 #define ShellFolderView_SetClipboard(_hwnd,_dwEffect) (void)SHShellFolderView_Message(_hwnd,SFVM_SETCLIPBOARD,(LPARAM)(DWORD)(_dwEffect)) | |
| 2533 #define SFVM_SETPOINTS 0x00000017 | |
| 2534 #define ShellFolderView_SetPoints(_hwnd,_pdtobj) (void)SHShellFolderView_Message(_hwnd,SFVM_SETPOINTS,(LPARAM)_pdtobj) | |
| 2535 #include <poppack.h> | |
| 2536 SHSTDAPI_(IContextMenu *) SHFind_InitMenuPopup(HMENU hmenu,HWND hwndOwner,UINT idCmdFirst,UINT idCmdLast); | |
| 2537 SHSTDAPI SHCreateShellFolderViewEx(LPCSFV pcsfv,IShellView **ppsv); | |
| 2538 | |
| 2539 #define PID_IS_URL 2 | |
| 2540 #define PID_IS_NAME 4 | |
| 2541 #define PID_IS_WORKINGDIR 5 | |
| 2542 #define PID_IS_HOTKEY 6 | |
| 2543 #define PID_IS_SHOWCMD 7 | |
| 2544 #define PID_IS_ICONINDEX 8 | |
| 2545 #define PID_IS_ICONFILE 9 | |
| 2546 #define PID_IS_WHATSNEW 10 | |
| 2547 #define PID_IS_AUTHOR 11 | |
| 2548 #define PID_IS_DESCRIPTION 12 | |
| 2549 #define PID_IS_COMMENT 13 | |
| 2550 | |
| 2551 #define PID_INTSITE_WHATSNEW 2 | |
| 2552 #define PID_INTSITE_AUTHOR 3 | |
| 2553 #define PID_INTSITE_LASTVISIT 4 | |
| 2554 #define PID_INTSITE_LASTMOD 5 | |
| 2555 #define PID_INTSITE_VISITCOUNT 6 | |
| 2556 #define PID_INTSITE_DESCRIPTION 7 | |
| 2557 #define PID_INTSITE_COMMENT 8 | |
| 2558 #define PID_INTSITE_FLAGS 9 | |
| 2559 #define PID_INTSITE_CONTENTLEN 10 | |
| 2560 #define PID_INTSITE_CONTENTCODE 11 | |
| 2561 #define PID_INTSITE_RECURSE 12 | |
| 2562 #define PID_INTSITE_WATCH 13 | |
| 2563 #define PID_INTSITE_SUBSCRIPTION 14 | |
| 2564 #define PID_INTSITE_URL 15 | |
| 2565 #define PID_INTSITE_TITLE 16 | |
| 2566 #define PID_INTSITE_CODEPAGE 18 | |
| 2567 #define PID_INTSITE_TRACKING 19 | |
| 2568 #define PID_INTSITE_ICONINDEX 20 | |
| 2569 #define PID_INTSITE_ICONFILE 21 | |
| 2570 | |
| 2571 #define PIDISF_RECENTLYCHANGED 0x00000001 | |
| 2572 #define PIDISF_CACHEDSTICKY 0x00000002 | |
| 2573 #define PIDISF_CACHEIMAGES 0x00000010 | |
| 2574 #define PIDISF_FOLLOWALLLINKS 0x00000020 | |
| 2575 | |
| 2576 #define PIDISM_GLOBAL 0 | |
| 2577 #define PIDISM_WATCH 1 | |
| 2578 #define PIDISM_DONTWATCH 2 | |
| 2579 | |
| 2580 typedef struct { | |
| 2581 WINBOOL fShowAllObjects : 1; | |
| 2582 WINBOOL fShowExtensions : 1; | |
| 2583 WINBOOL fNoConfirmRecycle : 1; | |
| 2584 WINBOOL fShowSysFiles : 1; | |
| 2585 WINBOOL fShowCompColor : 1; | |
| 2586 WINBOOL fDoubleClickInWebView : 1; | |
| 2587 WINBOOL fDesktopHTML : 1; | |
| 2588 WINBOOL fWin95Classic : 1; | |
| 2589 WINBOOL fDontPrettyPath : 1; | |
| 2590 WINBOOL fShowAttribCol : 1; | |
| 2591 WINBOOL fMapNetDrvBtn : 1; | |
| 2592 WINBOOL fShowInfoTip : 1; | |
| 2593 WINBOOL fHideIcons : 1; | |
| 2594 WINBOOL fWebView : 1; | |
| 2595 WINBOOL fFilter : 1; | |
| 2596 WINBOOL fShowSuperHidden : 1; | |
| 2597 WINBOOL fNoNetCrawling : 1; | |
| 2598 DWORD dwWin95Unused; | |
| 2599 UINT uWin95Unused; | |
| 2600 LONG lParamSort; | |
| 2601 int iSortDirection; | |
| 2602 UINT version; | |
| 2603 UINT uNotUsed; | |
| 2604 WINBOOL fSepProcess: 1; | |
| 2605 WINBOOL fStartPanelOn: 1; | |
| 2606 WINBOOL fShowStartPage: 1; | |
| 2607 UINT fSpareFlags : 13; | |
| 2608 } SHELLSTATEA,*LPSHELLSTATEA; | |
| 2609 | |
| 2610 typedef struct { | |
| 2611 WINBOOL fShowAllObjects : 1; | |
| 2612 WINBOOL fShowExtensions : 1; | |
| 2613 WINBOOL fNoConfirmRecycle : 1; | |
| 2614 WINBOOL fShowSysFiles : 1; | |
| 2615 WINBOOL fShowCompColor : 1; | |
| 2616 WINBOOL fDoubleClickInWebView : 1; | |
| 2617 WINBOOL fDesktopHTML : 1; | |
| 2618 WINBOOL fWin95Classic : 1; | |
| 2619 WINBOOL fDontPrettyPath : 1; | |
| 2620 WINBOOL fShowAttribCol : 1; | |
| 2621 WINBOOL fMapNetDrvBtn : 1; | |
| 2622 WINBOOL fShowInfoTip : 1; | |
| 2623 WINBOOL fHideIcons : 1; | |
| 2624 WINBOOL fWebView : 1; | |
| 2625 WINBOOL fFilter : 1; | |
| 2626 WINBOOL fShowSuperHidden : 1; | |
| 2627 WINBOOL fNoNetCrawling : 1; | |
| 2628 DWORD dwWin95Unused; | |
| 2629 UINT uWin95Unused; | |
| 2630 LONG lParamSort; | |
| 2631 int iSortDirection; | |
| 2632 UINT version; | |
| 2633 UINT uNotUsed; | |
| 2634 WINBOOL fSepProcess: 1; | |
| 2635 WINBOOL fStartPanelOn: 1; | |
| 2636 WINBOOL fShowStartPage: 1; | |
| 2637 UINT fSpareFlags : 13; | |
| 2638 } SHELLSTATEW,*LPSHELLSTATEW; | |
| 2639 | |
| 2640 #define SHELLSTATEVERSION_IE4 9 | |
| 2641 #define SHELLSTATEVERSION_WIN2K 10 | |
| 2642 | |
| 2643 #ifdef UNICODE | |
| 2644 #define SHELLSTATE SHELLSTATEW | |
| 2645 #define LPSHELLSTATE LPSHELLSTATEW | |
| 2646 #else | |
| 2647 #define SHELLSTATE SHELLSTATEA | |
| 2648 #define LPSHELLSTATE LPSHELLSTATEA | |
| 2649 #endif | |
| 2650 | |
| 2651 #define SHELLSTATE_SIZE_WIN95 FIELD_OFFSET(SHELLSTATE,lParamSort) | |
| 2652 #define SHELLSTATE_SIZE_NT4 FIELD_OFFSET(SHELLSTATE,version) | |
| 2653 #define SHELLSTATE_SIZE_IE4 FIELD_OFFSET(SHELLSTATE,uNotUsed) | |
| 2654 #define SHELLSTATE_SIZE_WIN2K sizeof(SHELLSTATE) | |
| 2655 | |
| 2656 SHSTDAPI_(void) SHGetSetSettings(LPSHELLSTATE lpss,DWORD dwMask,WINBOOL bSet); | |
| 2657 | |
| 2658 typedef struct { | |
| 2659 WINBOOL fShowAllObjects : 1; | |
| 2660 WINBOOL fShowExtensions : 1; | |
| 2661 WINBOOL fNoConfirmRecycle : 1; | |
| 2662 WINBOOL fShowSysFiles : 1; | |
| 2663 WINBOOL fShowCompColor : 1; | |
| 2664 WINBOOL fDoubleClickInWebView : 1; | |
| 2665 WINBOOL fDesktopHTML : 1; | |
| 2666 WINBOOL fWin95Classic : 1; | |
| 2667 WINBOOL fDontPrettyPath : 1; | |
| 2668 WINBOOL fShowAttribCol : 1; | |
| 2669 WINBOOL fMapNetDrvBtn : 1; | |
| 2670 WINBOOL fShowInfoTip : 1; | |
| 2671 WINBOOL fHideIcons : 1; | |
| 2672 UINT fRestFlags : 3; | |
| 2673 } SHELLFLAGSTATE,*LPSHELLFLAGSTATE; | |
| 2674 | |
| 2675 #define SSF_SHOWALLOBJECTS 0x00000001 | |
| 2676 #define SSF_SHOWEXTENSIONS 0x00000002 | |
| 2677 #define SSF_HIDDENFILEEXTS 0x00000004 | |
| 2678 #define SSF_SERVERADMINUI 0x00000004 | |
| 2679 #define SSF_SHOWCOMPCOLOR 0x00000008 | |
| 2680 #define SSF_SORTCOLUMNS 0x00000010 | |
| 2681 #define SSF_SHOWSYSFILES 0x00000020 | |
| 2682 #define SSF_DOUBLECLICKINWEBVIEW 0x00000080 | |
| 2683 #define SSF_SHOWATTRIBCOL 0x00000100 | |
| 2684 #define SSF_DESKTOPHTML 0x00000200 | |
| 2685 #define SSF_WIN95CLASSIC 0x00000400 | |
| 2686 #define SSF_DONTPRETTYPATH 0x00000800 | |
| 2687 #define SSF_SHOWINFOTIP 0x00002000 | |
| 2688 #define SSF_MAPNETDRVBUTTON 0x00001000 | |
| 2689 #define SSF_NOCONFIRMRECYCLE 0x00008000 | |
| 2690 #define SSF_HIDEICONS 0x00004000 | |
| 2691 #define SSF_FILTER 0x00010000 | |
| 2692 #define SSF_WEBVIEW 0x00020000 | |
| 2693 #define SSF_SHOWSUPERHIDDEN 0x00040000 | |
| 2694 #define SSF_SEPPROCESS 0x00080000 | |
| 2695 #define SSF_NONETCRAWLING 0x00100000 | |
| 2696 #define SSF_STARTPANELON 0x00200000 | |
| 2697 #define SSF_SHOWSTARTPAGE 0x00400000 | |
| 2698 | |
| 2699 SHSTDAPI_(void) SHGetSettings(LPSHELLFLAGSTATE lpsfs,DWORD dwMask); | |
| 2700 SHSTDAPI SHBindToParent(LPCITEMIDLIST pidl,REFIID riid,void **ppv,LPCITEMIDLIST *ppidlLast); | |
| 2701 SHSTDAPI SHParseDisplayName(PCWSTR pszName,IBindCtx *pbc,LPITEMIDLIST *ppidl,SFGAOF sfgaoIn,SFGAOF *psfgaoOut); | |
| 2702 | |
| 2703 #define SHPPFW_NONE 0x00000000 | |
| 2704 #define SHPPFW_DEFAULT SHPPFW_DIRCREATE | |
| 2705 #define SHPPFW_DIRCREATE 0x00000001 | |
| 2706 #define SHPPFW_ASKDIRCREATE 0x00000002 | |
| 2707 #define SHPPFW_IGNOREFILENAME 0x00000004 | |
| 2708 #define SHPPFW_NOWRITECHECK 0x00000008 | |
| 2709 #define SHPPFW_MEDIACHECKONLY 0x00000010 | |
| 2710 | |
| 2711 #ifdef UNICODE | |
| 2712 #define SHPathPrepareForWrite SHPathPrepareForWriteW | |
| 2713 #else | |
| 2714 #define SHPathPrepareForWrite SHPathPrepareForWriteA | |
| 2715 #endif | |
| 2716 | |
| 2717 SHSTDAPI SHPathPrepareForWriteA(HWND hwnd,IUnknown *punkEnableModless,LPCSTR pszPath,DWORD dwFlags); | |
| 2718 SHSTDAPI SHPathPrepareForWriteW(HWND hwnd,IUnknown *punkEnableModless,LPCWSTR pszPath,DWORD dwFlags); | |
| 2719 | |
| 2720 | |
| 2721 #undef INTERFACE | |
| 2722 #define INTERFACE INamedPropertyBag | |
| 2723 DECLARE_INTERFACE_(INamedPropertyBag,IUnknown) { | |
| 2724 STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE; | |
| 2725 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 2726 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 2727 STDMETHOD(ReadPropertyNPB) (THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName,PROPVARIANT *pVar) PURE; | |
| 2728 STDMETHOD(WritePropertyNPB)(THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName,PROPVARIANT *pVar) PURE; | |
| 2729 STDMETHOD(RemovePropertyNPB)(THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName) PURE; | |
| 2730 }; | |
| 2731 | |
| 2732 #ifdef __urlmon_h__ | |
| 2733 SHDOCAPI_(DWORD) SoftwareUpdateMessageBox(HWND hWnd,LPCWSTR szDistUnit,DWORD dwFlags,LPSOFTDISTINFO psdi); | |
| 2734 #endif | |
| 2735 | |
| 2736 #ifdef UNICODE | |
| 2737 #define SHCreateFileExtractIcon SHCreateFileExtractIconW | |
| 2738 #else | |
| 2739 #define SHCreateFileExtractIcon SHCreateFileExtractIconA | |
| 2740 #endif | |
| 2741 | |
| 2742 SHSTDAPI SHPropStgCreate(IPropertySetStorage *psstg,REFFMTID fmtid,CLSID *pclsid,DWORD grfFlags,DWORD grfMode,DWORD dwDisposition,IPropertyStorage**ppstg,UINT *puCodePage); | |
| 2743 SHSTDAPI SHPropStgReadMultiple(IPropertyStorage *pps,UINT uCodePage,ULONG cpspec,PROPSPEC const rgpspec[],PROPVARIANT rgvar[]); | |
| 2744 SHSTDAPI SHPropStgWriteMultiple(IPropertyStorage *pps,UINT *puCodePage,ULONG cpspec,PROPSPEC const rgpspec[],PROPVARIANT rgvar[],PROPID propidNameFirst); | |
| 2745 SHSTDAPI SHCreateFileExtractIconA(LPCSTR pszFile,DWORD dwFileAttributes,REFIID riid,void **ppv); | |
| 2746 SHSTDAPI SHCreateFileExtractIconW(LPCWSTR pszFile,DWORD dwFileAttributes,REFIID riid,void **ppv); | |
| 2747 | |
| 2748 #include <pshpack8.h> | |
| 2749 SHSTDAPI SHLimitInputEdit(HWND hwndEdit,IShellFolder *psf); | |
| 2750 SHSTDAPI SHMultiFileProperties(IDataObject *pdtobj,DWORD dwFlags); | |
| 2751 | |
| 2752 #if (_WIN32_IE >= 0x0600) | |
| 2753 typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl,LPVOID pvData,LPVOID pvHint,INT iIconIndex,INT iOpenIconIndex); | |
| 2754 SHSTDAPI SHMapIDListToImageListIndexAsync(IShellTaskScheduler *pts,IShellFolder *psf,LPCITEMIDLIST pidl,UINT flags,PFNASYNCICONTASKBALLBACK pfn,LPVOID pvData,LPVOID pvHint,int *piIndex,int *piIndexSel); | |
| 2755 #endif | |
| 2756 | |
| 2757 SHSTDAPI_(int) SHMapPIDLToSystemImageListIndex(IShellFolder *pshf,LPCITEMIDLIST pidl,int *piIndexSel); | |
| 2758 STDAPI SHCLSIDFromString(PCWSTR lpsz,CLSID *pclsid); | |
| 2759 STDAPI SHFlushClipboard(void); | |
| 2760 STDAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker**ppmoniker); | |
| 2761 HINSTANCE WINAPI SHGetShellStyleHInstance(void); | |
| 2762 STDAPI_(void) PerUserInit(void); | |
| 2763 WINSHELLAPI WINBOOL WINAPI SHRunControlPanel(LPCWSTR lpcszCmdLine,HWND hwndMsgParent); | |
| 2764 WINSHELLAPI int WINAPI PickIconDlg(HWND hwnd,LPWSTR pszIconPath,UINT cbIconPath,int *piIconIndex); | |
| 2765 | |
| 2766 typedef struct tagAAMENUFILENAME { | |
| 2767 SHORT cbTotal; | |
| 2768 BYTE rgbReserved[12]; | |
| 2769 WCHAR szFileName[1]; | |
| 2770 } AASHELLMENUFILENAME,*LPAASHELLMENUFILENAME; | |
| 2771 | |
| 2772 typedef struct tagAASHELLMENUITEM { | |
| 2773 void *lpReserved1; | |
| 2774 int iReserved; | |
| 2775 UINT uiReserved; | |
| 2776 LPAASHELLMENUFILENAME lpName; | |
| 2777 LPWSTR psz; | |
| 2778 } AASHELLMENUITEM,*LPAASHELLMENUITEM; | |
| 2779 | |
| 2780 STDAPI SHGetAttributesFromDataObject(IDataObject *pdo,DWORD dwAttributeMask,DWORD *pdwAttributes,UINT *pcItems); | |
| 2781 | |
| 2782 #include <poppack.h> | |
| 2783 | |
| 2784 #ifdef __cplusplus | |
| 2785 } | |
| 2786 #endif | |
| 2787 | |
| 2788 #include <poppack.h> | |
| 2789 | |
| 2790 SHDOCAPI_(WINBOOL) ImportPrivacySettings(LPCWSTR szFilename,WINBOOL *pfParsePrivacyPreferences,WINBOOL *pfParsePerSiteRules); | |
| 2791 #ifndef IEnumPrivacyRecords | |
| 2792 typedef struct IEnumPrivacyRecords IEnumPrivacyRecords; | |
| 2793 #endif | |
| 2794 SHDOCAPI DoPrivacyDlg(HWND hwndParent,LPOLESTR pszUrl,IEnumPrivacyRecords *pPrivacyEnum,WINBOOL fReportAllSites); | |
| 2795 #endif |
