1cpp_quote("/**") 2cpp_quote(" * This file is part of the mingw-w64 runtime package.") 3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") 4cpp_quote(" */") 5cpp_quote("") 6cpp_quote("#include <winapifamily.h>") 7cpp_quote("") 8cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") 9cpp_quote("") 10cpp_quote("#include <_mingw_unicode.h>") 11cpp_quote("") 12 13import "objidl.idl"; 14import "oleidl.idl"; 15import "oaidl.idl"; 16import "docobj.idl"; 17import "shtypes.idl"; 18import "servprov.idl"; 19import "comcat.idl"; 20import "propidl.idl"; 21import "prsht.idl"; 22import "msxml.idl"; 23import "wtypes.idl"; 24import "propsys.idl"; 25import "objectarray.idl"; 26import "structuredquerycondition.idl"; 27 28cpp_quote("") 29cpp_quote("#include <sherrors.h>") 30cpp_quote("") 31cpp_quote("#ifndef SHSTDAPI") 32cpp_quote("#ifdef _SHELL32_") 33cpp_quote("#define SHSTDAPI STDAPI") 34cpp_quote("#define SHSTDAPI_(type) STDAPI_(type)") 35cpp_quote("#else") 36cpp_quote("#define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE") 37cpp_quote("#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE") 38cpp_quote("#endif") 39cpp_quote("#endif") 40 41cpp_quote("") 42cpp_quote("#define CMF_NORMAL 0x0") 43cpp_quote("#define CMF_DEFAULTONLY 0x1") 44cpp_quote("#define CMF_VERBSONLY 0x2") 45cpp_quote("#define CMF_EXPLORE 0x4") 46cpp_quote("#define CMF_NOVERBS 0x8") 47cpp_quote("#define CMF_CANRENAME 0x10") 48cpp_quote("#define CMF_NODEFAULT 0x20") 49cpp_quote("#if NTDDI_VERSION < NTDDI_VISTA") 50cpp_quote("#define CMF_INCLUDESTATIC 0x40") 51cpp_quote("#endif") 52cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 53cpp_quote("#define CMF_ITEMMENU 0x80") 54cpp_quote("#endif") 55cpp_quote("#define CMF_EXTENDEDVERBS 0x100") 56cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 57cpp_quote("#define CMF_DISABLEDVERBS 0x200") 58cpp_quote("#endif") 59cpp_quote("#define CMF_ASYNCVERBSTATE 0x400") 60cpp_quote("#define CMF_OPTIMIZEFORINVOKE 0x800") 61cpp_quote("#define CMF_SYNCCASCADEMENU 0x1000") 62cpp_quote("#define CMF_DONOTPICKDEFAULT 0x2000") 63cpp_quote("#define CMF_RESERVED 0xffff0000") 64cpp_quote("") 65cpp_quote("#define GCS_VERBA 0x0") 66cpp_quote("#define GCS_HELPTEXTA 0x1") 67cpp_quote("#define GCS_VALIDATEA 0x2") 68cpp_quote("#define GCS_VERBW 0x4") 69cpp_quote("#define GCS_HELPTEXTW 0x5") 70cpp_quote("#define GCS_VALIDATEW 0x6") 71cpp_quote("#define GCS_VERBICONW 0x14") 72cpp_quote("#define GCS_UNICODE 0x4") 73cpp_quote("") 74cpp_quote("#define GCS_VERB __MINGW_NAME_AW(GCS_VERB)") 75cpp_quote("#define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT)") 76cpp_quote("#define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE)") 77cpp_quote("") 78cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"") 79cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"") 80cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"") 81cpp_quote("#define CMDSTR_NEWFOLDERW L\"NewFolder\"") 82cpp_quote("#define CMDSTR_VIEWLISTW L\"ViewList\"") 83cpp_quote("#define CMDSTR_VIEWDETAILSW L\"ViewDetails\"") 84cpp_quote("") 85cpp_quote("#define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER)") 86cpp_quote("#define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST)") 87cpp_quote("#define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS)") 88cpp_quote("") 89cpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY") 90cpp_quote("#define CMIC_MASK_ICON SEE_MASK_ICON") 91cpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI") 92cpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE") 93cpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE") 94cpp_quote("#if NTDDI_VERSION < NTDDI_VISTA") 95cpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME") 96cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE") 97cpp_quote("#endif") 98cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM") 99cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK") 100cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 101cpp_quote("#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC") 102cpp_quote("#endif") 103cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000") 104cpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000") 105cpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE") 106cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS") 107cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000") 108cpp_quote("") 109cpp_quote("#include <pshpack8.h>") 110typedef struct _CMINVOKECOMMANDINFO { 111 DWORD cbSize; 112 DWORD fMask; 113 HWND hwnd; 114 LPCSTR lpVerb; 115 LPCSTR lpParameters; 116 LPCSTR lpDirectory; 117 int nShow; 118 DWORD dwHotKey; 119 HANDLE hIcon; 120} CMINVOKECOMMANDINFO; 121 122cpp_quote("") 123typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO; 124typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO; 125 126cpp_quote("") 127typedef struct _CMINVOKECOMMANDINFOEX { 128 DWORD cbSize; 129 DWORD fMask; 130 HWND hwnd; 131 LPCSTR lpVerb; 132 LPCSTR lpParameters; 133 LPCSTR lpDirectory; 134 int nShow; 135 DWORD dwHotKey; 136 HANDLE hIcon; 137 LPCSTR lpTitle; 138 LPCWSTR lpVerbW; 139 LPCWSTR lpParametersW; 140 LPCWSTR lpDirectoryW; 141 LPCWSTR lpTitleW; 142 POINT ptInvoke; 143} CMINVOKECOMMANDINFOEX; 144 145cpp_quote("") 146typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX; 147typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX; 148cpp_quote("#include <poppack.h>") 149 150cpp_quote("") 151[local, uuid (000214e4-0000-0000-c000-000000000046), pointer_default (unique)] 152interface IContextMenu : IUnknown { 153 HRESULT QueryContextMenu ([in] HMENU hmenu,[in] UINT indexMenu,[in] UINT idCmdFirst,[in] UINT idCmdLast,[in] UINT uFlags); 154 HRESULT InvokeCommand ([in] CMINVOKECOMMANDINFO *pici); 155 HRESULT GetCommandString ([in] UINT_PTR idCmd,[in] UINT uType,[in] UINT *pReserved,[out] CHAR *pszName,[in] UINT cchMax); 156} 157typedef IContextMenu *LPCONTEXTMENU; 158 159cpp_quote("") 160[local, uuid (000214f4-0000-0000-c000-000000000046), pointer_default (unique)] 161interface IContextMenu2 : IContextMenu { 162 HRESULT HandleMenuMsg ([in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam); 163} 164typedef IContextMenu2 *LPCONTEXTMENU2; 165 166cpp_quote("") 167[local, uuid (BCFCE0A0-EC17-11d0-8d10-00a0c90f2719), pointer_default (unique),] 168interface IContextMenu3 : IContextMenu2 { 169 HRESULT HandleMenuMsg2 ([in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult); 170} 171typedef IContextMenu3 *LPCONTEXTMENU3; 172 173cpp_quote("") 174[object, uuid (7f9185b0-CB92-43c5-80a9-92277a4f7b54), pointer_default (unique)] 175interface IExecuteCommand : IUnknown { 176 HRESULT SetKeyState ([in] DWORD grfKeyState); 177 HRESULT SetParameters ([in, string] LPCWSTR pszParameters); 178 HRESULT SetPosition ([in] POINT pt); 179 HRESULT SetShowWindow ([in] int nShow); 180 HRESULT SetNoShowUI ([in] BOOL fNoShowUI); 181 HRESULT SetDirectory ([in, string] LPCWSTR pszDirectory); 182 HRESULT Execute (); 183} 184 185cpp_quote("") 186[object, uuid (000214ea-0000-0000-C000-000000000046), pointer_default (unique)] 187interface IPersistFolder : IPersist { 188 HRESULT Initialize ([in] PCIDLIST_ABSOLUTE pidl); 189} 190typedef IPersistFolder *LPPERSISTFOLDER; 191 192cpp_quote("") 193cpp_quote("#define IRTIR_TASK_NOT_RUNNING 0") 194cpp_quote("#define IRTIR_TASK_RUNNING 1") 195cpp_quote("#define IRTIR_TASK_SUSPENDED 2") 196cpp_quote("#define IRTIR_TASK_PENDING 3") 197cpp_quote("#define IRTIR_TASK_FINISHED 4") 198 199cpp_quote("") 200[object, local, uuid (85788d00-6807-11d0-b810-00c04fd706ec)] 201interface IRunnableTask : IUnknown { 202 HRESULT Run (); 203 HRESULT Kill ([in] BOOL bWait); 204 HRESULT Suspend (); 205 HRESULT Resume (); 206 ULONG IsRunning (); 207} 208 209cpp_quote("") 210cpp_quote("#define TOID_NULL GUID_NULL") 211cpp_quote("#define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1)") 212cpp_quote("") 213cpp_quote("#define ITSAT_DEFAULT_PRIORITY 0x10000000") 214cpp_quote("#define ITSAT_MAX_PRIORITY 0x7fffffff") 215cpp_quote("#define ITSAT_MIN_PRIORITY 0x00000000") 216cpp_quote("") 217cpp_quote("#define ITSSFLAG_COMPLETE_ON_DESTROY 0x0") 218cpp_quote("#define ITSSFLAG_KILL_ON_DESTROY 0x1") 219cpp_quote("") 220cpp_quote("#define ITSSFLAG_FLAGS_MASK 0x3") 221cpp_quote("") 222cpp_quote("#define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000)") 223cpp_quote("#define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE)") 224cpp_quote("#define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1)") 225 226cpp_quote("") 227[object, local, uuid (6ccb7be0-6807-11d0-B810-00c04fd706ec)] 228interface IShellTaskScheduler : IUnknown { 229 HRESULT AddTask ([in] IRunnableTask *prt,[in] REFTASKOWNERID rtoid,[in] DWORD_PTR lParam,[in] DWORD dwPriority); 230 HRESULT RemoveTasks ([in] REFTASKOWNERID rtoid,[in] DWORD_PTR lParam,[in] BOOL bWaitIfRunning); 231 UINT CountTasks ([in] REFTASKOWNERID rtoid); 232 HRESULT Status ([in] DWORD dwReleaseStatus,[in] DWORD dwThreadTimeout); 233} 234 235cpp_quote("") 236cpp_quote("#define SID_ShellTaskScheduler IID_IShellTaskScheduler") 237 238cpp_quote("") 239[object, local, uuid ("C7B236CE-EE80-11D0-985F-006008059382"), pointer_default (unique)] 240interface IQueryCodePage : IUnknown { 241 HRESULT GetCodePage ([out] UINT *puiCodePage); 242 HRESULT SetCodePage ([in] UINT uiCodePage); 243}; 244 245cpp_quote("") 246[object, uuid (1ac3d9f0-175c-11d1-95be-00609797ea4f), pointer_default (unique)] 247interface IPersistFolder2 : IPersistFolder { 248 HRESULT GetCurFolder ([out] PIDLIST_ABSOLUTE *ppidl); 249} 250 251cpp_quote("") 252cpp_quote("#define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY") 253 254#ifndef MAX_PATH 255#define MAX_PATH 260 256#endif 257 258cpp_quote("") 259cpp_quote("#include <pshpack8.h>") 260typedef struct _PERSIST_FOLDER_TARGET_INFO { 261 PIDLIST_ABSOLUTE pidlTargetFolder; 262 WCHAR szTargetParsingName[MAX_PATH]; 263 WCHAR szNetworkProvider[MAX_PATH]; 264 DWORD dwAttributes; 265 int csidl; 266} PERSIST_FOLDER_TARGET_INFO; 267cpp_quote("#include <poppack.h>") 268 269cpp_quote("") 270[object, uuid (CEF04FDF-FE72-11d2-87a5-00c04f6837cf), pointer_default (unique)] 271interface IPersistFolder3 : IPersistFolder2 { 272 HRESULT InitializeEx ([in, unique] IBindCtx *pbc,[in] PCIDLIST_ABSOLUTE pidlRoot,[in, unique] const PERSIST_FOLDER_TARGET_INFO *ppfti); 273 HRESULT GetFolderTargetInfo ([out] PERSIST_FOLDER_TARGET_INFO *ppfti); 274} 275 276cpp_quote("") 277[object, uuid (1079acfc-29bd-11d3-8e0d-00c04f6837d5), pointer_default (unique),] 278interface IPersistIDList : IPersist { 279 HRESULT SetIDList ([in] PCIDLIST_ABSOLUTE pidl); 280 HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl); 281} 282 283cpp_quote("") 284[object, uuid (000214f2-0000-0000-C000-000000000046), pointer_default (unique)] 285interface IEnumIDList : IUnknown { 286 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PITEMID_CHILD *rgelt,[out] ULONG *pceltFetched); 287 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PITEMID_CHILD *rgelt,[out] ULONG *pceltFetched); 288 HRESULT Skip ([in] ULONG celt); 289 HRESULT Reset (); 290 HRESULT Clone ([out] IEnumIDList **ppenum); 291} 292typedef IEnumIDList *LPENUMIDLIST; 293 294cpp_quote("") 295[object, uuid (d0191542-7954-4908-bc06-b2360bbe45ba), pointer_default (unique)] 296interface IEnumFullIDList : IUnknown { 297 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PIDLIST_ABSOLUTE *rgelt,[out] ULONG *pceltFetched); 298 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PIDLIST_ABSOLUTE *rgelt,[out] ULONG *pceltFetched); 299 HRESULT Skip ([in] ULONG celt); 300 HRESULT Reset (); 301 HRESULT Clone ([out] IEnumFullIDList **ppenum); 302} 303 304cpp_quote("") 305[v1_enum] enum _SHGDNF { 306 SHGDN_NORMAL = 0x0000, 307 SHGDN_INFOLDER = 0x0001, 308 SHGDN_FOREDITING = 0x1000, 309 SHGDN_FORADDRESSBAR = 0x4000, 310 SHGDN_FORPARSING = 0x8000, 311}; 312 313cpp_quote("") 314typedef DWORD SHGDNF; 315 316cpp_quote("") 317[v1_enum] enum _SHCONTF { 318 SHCONTF_CHECKING_FOR_CHILDREN = 0x00010, 319 SHCONTF_FOLDERS = 0x00020, 320 SHCONTF_NONFOLDERS = 0x00040, 321 SHCONTF_INCLUDEHIDDEN = 0x00080, 322 SHCONTF_INIT_ON_FIRST_NEXT = 0x00100, 323 SHCONTF_NETPRINTERSRCH = 0x00200, 324 SHCONTF_SHAREABLE = 0x00400, 325 SHCONTF_STORAGE = 0x00800, 326 SHCONTF_NAVIGATION_ENUM = 0x01000, 327 SHCONTF_FASTITEMS = 0x02000, 328 SHCONTF_FLATLIST = 0x04000, 329 SHCONTF_ENABLE_ASYNC = 0x08000, 330 SHCONTF_INCLUDESUPERHIDDEN = 0x10000 331}; 332 333cpp_quote("") 334typedef DWORD SHCONTF; 335 336cpp_quote("") 337cpp_quote("#define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000)") 338cpp_quote("#define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000)") 339cpp_quote("#define SHCIDS_BITMASK __MSABI_LONG(0xffff0000)") 340cpp_quote("#define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff)") 341cpp_quote("") 342cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY") 343cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE") 344cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK") 345cpp_quote("#define SFGAO_STORAGE __MSABI_LONG(0x8)") 346cpp_quote("#define SFGAO_CANRENAME __MSABI_LONG(0x10)") 347cpp_quote("#define SFGAO_CANDELETE __MSABI_LONG(0x20)") 348cpp_quote("#define SFGAO_HASPROPSHEET __MSABI_LONG(0x40)") 349cpp_quote("#define SFGAO_DROPTARGET __MSABI_LONG(0x100)") 350cpp_quote("") 351cpp_quote("#define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177)") 352cpp_quote("") 353cpp_quote("#define SFGAO_SYSTEM __MSABI_LONG(0x1000)") 354cpp_quote("#define SFGAO_ENCRYPTED __MSABI_LONG(0x2000)") 355cpp_quote("#define SFGAO_ISSLOW __MSABI_LONG(0x4000)") 356cpp_quote("#define SFGAO_GHOSTED __MSABI_LONG(0x8000)") 357cpp_quote("#define SFGAO_LINK __MSABI_LONG(0x10000)") 358cpp_quote("#define SFGAO_SHARE __MSABI_LONG(0x20000)") 359cpp_quote("#define SFGAO_READONLY __MSABI_LONG(0x40000)") 360cpp_quote("#define SFGAO_HIDDEN __MSABI_LONG(0x80000)") 361cpp_quote("") 362cpp_quote("#define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000)") 363cpp_quote("") 364cpp_quote("#define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000)") 365cpp_quote("#define SFGAO_FOLDER __MSABI_LONG(0x20000000)") 366cpp_quote("#define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000)") 367cpp_quote("#define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000)") 368cpp_quote("") 369cpp_quote("#define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000)") 370cpp_quote("") 371cpp_quote("#define SFGAO_VALIDATE __MSABI_LONG(0x1000000)") 372cpp_quote("#define SFGAO_REMOVABLE __MSABI_LONG(0x2000000)") 373cpp_quote("#define SFGAO_COMPRESSED __MSABI_LONG(0x4000000)") 374cpp_quote("#define SFGAO_BROWSABLE __MSABI_LONG(0x8000000)") 375cpp_quote("#define SFGAO_NONENUMERATED __MSABI_LONG(0x100000)") 376cpp_quote("#define SFGAO_NEWCONTENT __MSABI_LONG(0x200000)") 377cpp_quote("#define SFGAO_CANMONIKER __MSABI_LONG(0x400000)") 378cpp_quote("#define SFGAO_HASSTORAGE __MSABI_LONG(0x400000)") 379cpp_quote("#define SFGAO_STREAM __MSABI_LONG(0x400000)") 380cpp_quote("#define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000)") 381cpp_quote("") 382cpp_quote("#define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008)") 383cpp_quote("#define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000)") 384 385cpp_quote("") 386typedef ULONG SFGAOF; 387 388cpp_quote("") 389cpp_quote("#define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L\"Force Folder Shortcut Resolve\"") 390cpp_quote("#define STR_AVOID_DRIVE_RESTRICTION_POLICY L\"Avoid Drive Restriction Policy\"") 391cpp_quote("#define STR_AVOID_DRIVE_RESTRICTION_POLICY L\"Avoid Drive Restriction Policy\"") 392cpp_quote("#define STR_SKIP_BINDING_CLSID L\"Skip Binding CLSID\"") 393cpp_quote("#define STR_PARSE_PREFER_FOLDER_BROWSING L\"Parse Prefer Folder Browsing\"") 394cpp_quote("#define STR_DONT_PARSE_RELATIVE L\"Don't Parse Relative\"") 395cpp_quote("#define STR_PARSE_TRANSLATE_ALIASES L\"Parse Translate Aliases\"") 396cpp_quote("#define STR_PARSE_SKIP_NET_CACHE L\"Skip Net Resource Cache\"") 397cpp_quote("#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L\"Parse Shell Protocol To File Objects\"") 398cpp_quote("#if _WIN32_IE >= 0x0700") 399cpp_quote("#define STR_TRACK_CLSID L\"Track the CLSID\"") 400cpp_quote("#define STR_INTERNAL_NAVIGATE L\"Internal Navigation\"") 401cpp_quote("#define STR_PARSE_PROPERTYSTORE L\"DelegateNamedProperties\"") 402cpp_quote("#define STR_NO_VALIDATE_FILENAME_CHARS L\"NoValidateFilenameChars\"") 403cpp_quote("#define STR_BIND_DELEGATE_CREATE_OBJECT L\"Delegate Object Creation\"") 404cpp_quote("#define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L\"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING\"") 405cpp_quote("#define STR_PARSE_PREFER_WEB_BROWSING L\"Do not bind to Internet shell folder handlers\"") 406cpp_quote("#define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L\"Show network diagnostics UI\"") 407cpp_quote("#define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L\"Do not require validated URLs\"") 408cpp_quote("#define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L\"Validate URL\"") 409cpp_quote("#endif") 410 411cpp_quote("") 412cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 413cpp_quote("#define BIND_INTERRUPTABLE 0xffffffff") 414cpp_quote("#endif") 415cpp_quote("") 416cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 417cpp_quote("#define STR_BIND_FOLDERS_READ_ONLY L\"Folders As Read Only\"") 418cpp_quote("#define STR_BIND_FOLDER_ENUM_MODE L\"Folder Enum Mode\"") 419 420cpp_quote("") 421typedef [v1_enum] enum FOLDER_ENUM_MODE { 422 FEM_VIEWRESULT = 0, 423 FEM_NAVIGATION = 1, 424} FOLDER_ENUM_MODE; 425 426cpp_quote("") 427[object, uuid (6a9d9026-0e6e-464c-b000-42ecc07de673), pointer_default (unique)] 428interface IObjectWithFolderEnumMode : IUnknown { 429 HRESULT SetMode ([in] FOLDER_ENUM_MODE feMode); 430 HRESULT GetMode ([out] FOLDER_ENUM_MODE *pfeMode); 431} 432 433cpp_quote("") 434cpp_quote("#define STR_PARSE_WITH_EXPLICIT_PROGID L\"ExplicitProgid\"") 435cpp_quote("#define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L\"ExplicitAssociationApp\"") 436cpp_quote("#define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L\"ExplicitAssociationSuccessful\"") 437cpp_quote("#define STR_PARSE_AND_CREATE_ITEM L\"ParseAndCreateItem\"") 438cpp_quote("#define STR_PROPERTYBAG_PARAM L\"SHBindCtxPropertyBag\"") 439cpp_quote("#define STR_ENUM_ITEMS_FLAGS L\"SHCONTF\"") 440 441cpp_quote("") 442interface IShellItem; 443 444cpp_quote("") 445[object, local, uuid (67efed0e-e827-4408-b493-78f3982b685c), pointer_default (unique)] 446interface IParseAndCreateItem : IUnknown { 447 HRESULT SetItem ([in] IShellItem *psi); 448 HRESULT GetItem ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 449} 450 451cpp_quote("") 452cpp_quote("#define STR_ITEM_CACHE_CONTEXT L\"ItemCacheContext\"") 453cpp_quote("#endif") 454 455cpp_quote("") 456interface IShellFolder; 457 458cpp_quote("") 459[object, uuid (000214e6-0000-0000-C000-000000000046), pointer_default (unique)] 460interface IShellFolder : IUnknown { 461 HRESULT ParseDisplayName ([in, unique] HWND hwnd,[in, unique] IBindCtx *pbc,[in, string] LPWSTR pszDisplayName,[in, out, unique] ULONG *pchEaten,[out] PIDLIST_RELATIVE *ppidl,[in, out, unique] ULONG *pdwAttributes); 462 HRESULT EnumObjects ([in, unique] HWND hwnd,[in] SHCONTF grfFlags,[out] IEnumIDList **ppenumIDList); 463 HRESULT BindToObject ([in] PCUIDLIST_RELATIVE pidl,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 464 HRESULT BindToStorage ([in] PCUIDLIST_RELATIVE pidl,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 465 HRESULT CompareIDs ([in] LPARAM lParam,[in] PCUIDLIST_RELATIVE pidl1,[in] PCUIDLIST_RELATIVE pidl2); 466 HRESULT CreateViewObject ([in, unique] HWND hwndOwner,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 467 HRESULT GetAttributesOf ([in] UINT cidl,[in, size_is (cidl), unique] PCUITEMID_CHILD_ARRAY apidl,[in, out] SFGAOF *rgfInOut); 468 HRESULT GetUIObjectOf ([in, unique] HWND hwndOwner,[in] UINT cidl,[in, size_is (cidl), unique] PCUITEMID_CHILD_ARRAY apidl,[in] REFIID riid,[in, out, unique] UINT *rgfReserved,[out, iid_is (riid)] void **ppv); 469 HRESULT GetDisplayNameOf ([in, unique] PCUITEMID_CHILD pidl,[in] SHGDNF uFlags,[out] STRRET *pName); 470 [local] HRESULT SetNameOf ([in, unique] HWND hwnd,[in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszName,[in] SHGDNF uFlags,[out] PITEMID_CHILD *ppidlOut); 471 [call_as (SetNameOf)] HRESULT RemoteSetNameOf ([in, unique] HWND hwnd,[in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszName,[in] SHGDNF uFlags,[out] PITEMID_CHILD *ppidlOut); 472} 473typedef IShellFolder *LPSHELLFOLDER; 474 475cpp_quote("") 476typedef struct EXTRASEARCH { 477 GUID guidSearch; 478 WCHAR wszFriendlyName[80]; 479 WCHAR wszUrl[2084]; 480} EXTRASEARCH,*LPEXTRASEARCH; 481 482cpp_quote("") 483[object, uuid (0e700be1-9db6-11d1-A1CE-00c04fd75d13), pointer_default (unique)] 484interface IEnumExtraSearch : IUnknown { 485 HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] EXTRASEARCH *rgelt,[out] ULONG *pceltFetched); 486 HRESULT Skip ([in] ULONG celt); 487 HRESULT Reset (); 488 HRESULT Clone ([out] IEnumExtraSearch **ppenum); 489} 490typedef IEnumExtraSearch *LPENUMEXTRASEARCH; 491 492cpp_quote("") 493[object, uuid (93f2f68c-1d1b-11d3-A30E-00c04f79abd1), pointer_default (unique)] 494interface IShellFolder2 : IShellFolder { 495 HRESULT GetDefaultSearchGUID ([out] GUID *pguid); 496 HRESULT EnumSearches ([out] IEnumExtraSearch **ppenum); 497 HRESULT GetDefaultColumn ([in] DWORD dwRes,[out] ULONG *pSort,[out] ULONG *pDisplay); 498 HRESULT GetDefaultColumnState ([in] UINT iColumn,[out] SHCOLSTATEF *pcsFlags); 499 HRESULT GetDetailsEx ([in, unique] PCUITEMID_CHILD pidl,[in] const SHCOLUMNID *pscid,[out] VARIANT *pv); 500 HRESULT GetDetailsOf ([in, unique] PCUITEMID_CHILD pidl,[in] UINT iColumn,[out] SHELLDETAILS *psd); 501 HRESULT MapColumnToSCID ([in] UINT iColumn,[out] SHCOLUMNID *pscid); 502} 503typedef char *LPVIEWSETTINGS; 504 505cpp_quote("") 506typedef [v1_enum] enum FOLDERFLAGS { 507 FWF_NONE = 0x00000000, 508 FWF_AUTOARRANGE = 0x00000001, 509 FWF_ABBREVIATEDNAMES = 0x00000002, 510 FWF_SNAPTOGRID = 0x00000004, 511 FWF_OWNERDATA = 0x00000008, 512 FWF_BESTFITWINDOW = 0x00000010, 513 FWF_DESKTOP = 0x00000020, 514 FWF_SINGLESEL = 0x00000040, 515 FWF_NOSUBFOLDERS = 0x00000080, 516 FWF_TRANSPARENT = 0x00000100, 517 FWF_NOCLIENTEDGE = 0x00000200, 518 FWF_NOSCROLL = 0x00000400, 519 FWF_ALIGNLEFT = 0x00000800, 520 FWF_NOICONS = 0x00001000, 521 FWF_SHOWSELALWAYS = 0x00002000, 522 FWF_NOVISIBLE = 0x00004000, 523 FWF_SINGLECLICKACTIVATE = 0x00008000, 524 FWF_NOWEBVIEW = 0x00010000, 525 FWF_HIDEFILENAMES = 0x00020000, 526 FWF_CHECKSELECT = 0x00040000, 527 FWF_NOENUMREFRESH = 0x00080000, 528 FWF_NOGROUPING = 0x00100000, 529 FWF_FULLROWSELECT = 0x00200000, 530 FWF_NOFILTERS = 0x00400000, 531 FWF_NOCOLUMNHEADER = 0x00800000, 532 FWF_NOHEADERINALLVIEWS = 0x01000000, 533 FWF_EXTENDEDTILES = 0x02000000, 534 FWF_TRICHECKSELECT = 0x04000000, 535 FWF_AUTOCHECKSELECT = 0x08000000, 536 FWF_NOBROWSERVIEWSTATE = 0x10000000, 537 FWF_SUBSETGROUPS = 0x20000000, 538 FWF_USESEARCHFOLDER = 0x40000000, 539 FWF_ALLOWRTLREADING = 0x80000000, 540} FOLDERFLAGS; 541cpp_quote("") 542cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS)") 543 544cpp_quote("") 545typedef [v1_enum] enum FOLDERVIEWMODE { 546 FVM_AUTO = -1, 547 FVM_FIRST = 1, 548 FVM_ICON = 1, 549 FVM_SMALLICON = 2, 550 FVM_LIST = 3, 551 FVM_DETAILS = 4, 552 FVM_THUMBNAIL = 5, 553 FVM_TILE = 6, 554 FVM_THUMBSTRIP = 7, 555 FVM_CONTENT = 8, 556 FVM_LAST = 8, 557} FOLDERVIEWMODE; 558 559cpp_quote("") 560cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 561typedef [v1_enum] enum FOLDERLOGICALVIEWMODE { 562 FLVM_UNSPECIFIED = -1, 563 FLVM_FIRST = 1, 564 FLVM_DETAILS = 1, 565 FLVM_TILES = 2, 566 FLVM_ICONS = 3, 567 FLVM_LIST = 4, 568 FLVM_CONTENT = 5, 569 FLVM_LAST = 5 570} FOLDERLOGICALVIEWMODE; 571cpp_quote("#endif") 572 573typedef struct FOLDERSETTINGS { 574 UINT ViewMode; 575 UINT fFlags; 576} FOLDERSETTINGS; 577 578cpp_quote("") 579typedef FOLDERSETTINGS *LPFOLDERSETTINGS; 580typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; 581typedef FOLDERSETTINGS *PFOLDERSETTINGS; 582 583cpp_quote("") 584[object, uuid (3cc974d2-b302-4d36-ad3e-06d93f695d3f), pointer_default (unique)] 585interface IFolderViewOptions : IUnknown { 586 typedef [v1_enum] enum FOLDERVIEWOPTIONS { 587 FVO_DEFAULT = 0x00000000, 588 FVO_VISTALAYOUT = 0x00000001, 589 FVO_CUSTOMPOSITION = 0x00000002, 590 FVO_CUSTOMORDERING = 0x00000004, 591 FVO_SUPPORTHYPERLINKS = 0x00000008, 592 FVO_NOANIMATIONS = 0x00000010, 593 FVO_NOSCROLLTIPS = 0x00000020, 594 } FOLDERVIEWOPTIONS; 595cpp_quote("") 596 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS)") 597cpp_quote("") 598 HRESULT SetFolderViewOptions ([in] FOLDERVIEWOPTIONS fvoMask,[in] FOLDERVIEWOPTIONS fvoFlags); 599 HRESULT GetFolderViewOptions ([out] FOLDERVIEWOPTIONS *pfvoFlags); 600} 601 602typedef [v1_enum] enum _SVSIF { 603 SVSI_DESELECT = 0x00000000, 604 SVSI_SELECT = 0x00000001, 605 SVSI_EDIT = 0x00000003, 606 SVSI_DESELECTOTHERS = 0x00000004, 607 SVSI_ENSUREVISIBLE = 0x00000008, 608 SVSI_FOCUSED = 0x00000010, 609 SVSI_TRANSLATEPT = 0x00000020, 610 SVSI_SELECTIONMARK = 0x00000040, 611 SVSI_POSITIONITEM = 0x00000080, 612 SVSI_CHECK = 0x00000100, 613 SVSI_CHECK2 = 0x00000200, 614 SVSI_KEYBOARDSELECT = 0x00000401, 615 SVSI_NOTAKEFOCUS = 0x40000000 616} _SVSIF; 617cpp_quote("") 618cpp_quote("#define SVSI_NOSTATECHANGE ((UINT)0x80000000)") 619 620cpp_quote("") 621typedef UINT SVSIF; 622 623cpp_quote("") 624typedef [v1_enum] enum _SVGIO { 625 SVGIO_BACKGROUND = 0x00000000, 626 SVGIO_SELECTION = 0x00000001, 627 SVGIO_ALLVIEW = 0x00000002, 628 SVGIO_CHECKED = 0x00000003, 629 SVGIO_TYPE_MASK = 0x0000000f, 630 SVGIO_FLAG_VIEWORDER = 0x80000000 631} _SVGIO; 632 633cpp_quote("") 634cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(_SVGIO)") 635 636cpp_quote("") 637typedef int SVGIO; 638 639cpp_quote("") 640typedef [v1_enum] enum SVUIA_STATUS { 641 SVUIA_DEACTIVATE = 0, 642 SVUIA_ACTIVATE_NOFOCUS = 1, 643 SVUIA_ACTIVATE_FOCUS = 2, 644 SVUIA_INPLACEACTIVATE = 3 645} SVUIA_STATUS; 646 647cpp_quote("") 648cpp_quote("#ifdef _FIX_ENABLEMODELESS_CONFLICT") 649cpp_quote("#define EnableModeless EnableModelessSV") 650cpp_quote("#endif") 651cpp_quote("") 652cpp_quote("#if 0") 653typedef LPARAM LPFNSVADDPROPSHEETPAGE; 654cpp_quote("#else") 655cpp_quote("#include <prsht.h>") 656cpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;") 657cpp_quote("#endif") 658 659cpp_quote("") 660interface IShellBrowser; 661 662cpp_quote("") 663[object, uuid (000214e3-0000-0000-C000-000000000046), pointer_default (unique)] 664interface IShellView : IOleWindow { 665 HRESULT TranslateAccelerator ([in] MSG *pmsg); 666 HRESULT EnableModeless ([in] BOOL fEnable); 667 HRESULT UIActivate ([in] UINT uState); 668 HRESULT Refresh (); 669 HRESULT CreateViewWindow ([in, unique] IShellView *psvPrevious,[in] LPCFOLDERSETTINGS pfs,[in] IShellBrowser *psb,[in] RECT *prcView,[out] HWND *phWnd); 670 HRESULT DestroyViewWindow (); 671 HRESULT GetCurrentInfo ([out] LPFOLDERSETTINGS pfs); 672 [local] HRESULT AddPropertySheetPages ([in] DWORD dwReserved,[in] LPFNSVADDPROPSHEETPAGE pfn,[in] LPARAM lparam); 673 HRESULT SaveViewState (); 674 HRESULT SelectItem ([in, unique] PCUITEMID_CHILD pidlItem,[in] SVSIF uFlags); 675 HRESULT GetItemObject ([in] UINT uItem,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 676} 677typedef IShellView *LPSHELLVIEW; 678 679cpp_quote("") 680[object, uuid (88e39e80-3578-11cf-AE69-08002b2e1262), pointer_default (unique)] 681interface IShellView2 : IShellView { 682 typedef GUID SHELLVIEWID; 683cpp_quote("") 684cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)") 685cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)") 686cpp_quote("") 687cpp_quote("#include <pshpack8.h>") 688 typedef struct _SV2CVW2_PARAMS { 689 DWORD cbSize; 690 IShellView *psvPrev; 691 LPCFOLDERSETTINGS pfs; 692 IShellBrowser *psbOwner; 693 RECT *prcView; 694 SHELLVIEWID const *pvid; 695 HWND hwndView; 696 } SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS; 697cpp_quote("#include <poppack.h>") 698cpp_quote("") 699 HRESULT GetView ([in, out] SHELLVIEWID *pvid,[in] ULONG uView); 700 HRESULT CreateViewWindow2 ([in] LPSV2CVW2_PARAMS lpParams); 701 HRESULT HandleRename ([in, unique] PCUITEMID_CHILD pidlNew); 702 HRESULT SelectAndPositionItem ([in, unique] PCUITEMID_CHILD pidlItem,[in] UINT uFlags,[in, unique] POINT *ppt); 703} 704 705cpp_quote("") 706cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 707[object, uuid (ec39fa88-f8af-41c5-8421-38bed28f4673), pointer_default (unique)] 708interface IShellView3 : IShellView2 { 709 [v1_enum] enum _SV3CVW3_FLAGS { 710 SV3CVW3_DEFAULT = 0x00000000, 711 SV3CVW3_NONINTERACTIVE = 0x00000001, 712 SV3CVW3_FORCEVIEWMODE = 0x00000002, 713 SV3CVW3_FORCEFOLDERFLAGS = 0x00000004, 714 }; 715cpp_quote("") 716 typedef DWORD SV3CVW3_FLAGS; 717cpp_quote("") 718 HRESULT CreateViewWindow3 ([in] IShellBrowser *psbOwner,[in, unique] IShellView *psvPrev,[in] SV3CVW3_FLAGS dwViewFlags,[in] FOLDERFLAGS dwMask,[in] FOLDERFLAGS dwFlags,[in] FOLDERVIEWMODE fvMode,[in, unique] const SHELLVIEWID *pvid,[in] const RECT *prcView,[out] HWND *phwndView); 719} 720cpp_quote("#endif") 721 722cpp_quote("#ifdef _FIX_ENABLEMODELESS_CONFLICT") 723cpp_quote("#undef EnableModeless") 724cpp_quote("#endif") 725 726cpp_quote("") 727[object, uuid (cde725b0-ccc9-4519-917e-325d72fab4ce), pointer_default (unique)] 728interface IFolderView : IUnknown { 729 HRESULT GetCurrentViewMode ([out] UINT *pViewMode); 730 HRESULT SetCurrentViewMode ([in] UINT ViewMode); 731 HRESULT GetFolder ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 732 HRESULT Item ([in] int iItemIndex,[out] PITEMID_CHILD *ppidl); 733 HRESULT ItemCount ([in] UINT uFlags,[out] int *pcItems); 734 HRESULT Items ([in] UINT uFlags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 735 HRESULT GetSelectionMarkedItem ([out] int *piItem); 736 HRESULT GetFocusedItem ([out] int *piItem); 737 HRESULT GetItemPosition ([in] PCUITEMID_CHILD pidl,[out] POINT *ppt); 738 HRESULT GetSpacing ([in, out, unique] POINT *ppt); 739 HRESULT GetDefaultSpacing ([out] POINT *ppt); 740 HRESULT GetAutoArrange (); 741 HRESULT SelectItem ([in] int iItem,[in] DWORD dwFlags); 742 HRESULT SelectAndPositionItems ([in] UINT cidl,[in, size_is (cidl)] PCUITEMID_CHILD_ARRAY apidl,[in, unique, size_is (cidl)] POINT *apt,[in] DWORD dwFlags); 743} 744cpp_quote("") 745cpp_quote("#define SID_SFolderView IID_IFolderView") 746cpp_quote("") 747cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 748[object, uuid (6af6e03f-d664-4ef4-9626-f7e0ed36755e)] 749interface ISearchBoxInfo : IUnknown { 750 HRESULT GetCondition ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 751 HRESULT GetText ([out, string] LPWSTR *ppsz); 752} 753cpp_quote("#endif") 754cpp_quote("") 755cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70") 756cpp_quote("#ifndef NO_SHOBJIDL_SORTDIRECTION") 757[v1_enum] enum tagSORTDIRECTION { 758 SORT_DESCENDING = -1, 759 SORT_ASCENDING = 1 760}; 761cpp_quote("#endif") 762cpp_quote("") 763typedef int SORTDIRECTION; 764cpp_quote("") 765typedef struct SORTCOLUMN { 766 PROPERTYKEY propkey; 767 SORTDIRECTION direction; 768} SORTCOLUMN; 769 770cpp_quote("") 771typedef [v1_enum] enum FVTEXTTYPE { 772 FVST_EMPTYTEXT = 0, 773} FVTEXTTYPE; 774 775cpp_quote("") 776interface IShellItemArray; 777cpp_quote("") 778typedef HRESULT DEPRECATED_HRESULT; 779cpp_quote("") 780cpp_quote("#ifdef __cplusplus") 781cpp_quote("#define DEPRECATED_HRESULT HRESULT") 782cpp_quote("#endif") 783 784cpp_quote("") 785[object, uuid (1af3a467-214f-4298-908e-06b03e0b39f9), pointer_default (unique)] 786interface IFolderView2 : IFolderView { 787 HRESULT SetGroupBy ([in] REFPROPERTYKEY key,[in] BOOL fAscending); 788 [local] HRESULT GetGroupBy ([out] PROPERTYKEY *pkey,[out] BOOL *pfAscending); 789 [call_as (GetGroupBy)] HRESULT RemoteGetGroupBy ([out] PROPERTYKEY *pkey,[out] BOOL *pfAscending); 790 HRESULT SetViewProperty ([in] PCUITEMID_CHILD pidl,[in] REFPROPERTYKEY propkey,[in] REFPROPVARIANT propvar); 791 HRESULT GetViewProperty ([in] PCUITEMID_CHILD pidl,[in] REFPROPERTYKEY propkey,[out] PROPVARIANT *ppropvar); 792 HRESULT SetTileViewProperties ([in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszPropList); 793 HRESULT SetExtendedTileViewProperties ([in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszPropList); 794 HRESULT SetText ([in] FVTEXTTYPE iType,[in] LPCWSTR pwszText); 795 HRESULT SetCurrentFolderFlags ([in] DWORD dwMask,[in] DWORD dwFlags); 796 HRESULT GetCurrentFolderFlags ([out] DWORD *pdwFlags); 797 HRESULT GetSortColumnCount ([out] int *pcColumns); 798 HRESULT SetSortColumns ([in, size_is (cColumns)] const SORTCOLUMN *rgSortColumns,[in] int cColumns); 799 HRESULT GetSortColumns ([out, size_is (cColumns)] SORTCOLUMN *rgSortColumns,[in] int cColumns); 800 HRESULT GetItem ([in] int iItem,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 801 HRESULT GetVisibleItem ([in] int iStart,[in] BOOL fPrevious,[out] int *piItem); 802 HRESULT GetSelectedItem ([in] int iStart,[out] int *piItem); 803 HRESULT GetSelection ([in] BOOL fNoneImpliesFolder,[out] IShellItemArray **ppsia); 804 HRESULT GetSelectionState ([in] PCUITEMID_CHILD pidl,[out] DWORD *pdwFlags); 805 HRESULT InvokeVerbOnSelection ([in, unique, string] LPCSTR pszVerb); 806 HRESULT SetViewModeAndIconSize ([in] FOLDERVIEWMODE uViewMode,[in] int iImageSize); 807 HRESULT GetViewModeAndIconSize ([out] FOLDERVIEWMODE *puViewMode,[out] int *piImageSize); 808 HRESULT SetGroupSubsetCount ([in] UINT cVisibleRows); 809 HRESULT GetGroupSubsetCount ([out] UINT *pcVisibleRows); 810 HRESULT SetRedraw ([in] BOOL fRedrawOn); 811 HRESULT IsMoveInSameFolder (); 812 HRESULT DoRename (); 813} 814 815cpp_quote("") 816cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 817[object, uuid (ae8c987d-8797-4ed3-be72-2a47dd938db0)] 818interface IFolderViewSettings : IUnknown { 819 HRESULT GetColumnPropertyList ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 820 HRESULT GetGroupByProperty ([out] PROPERTYKEY *pkey,[out] BOOL *pfGroupAscending); 821 HRESULT GetViewMode ([out] FOLDERLOGICALVIEWMODE *plvm); 822 HRESULT GetIconSize ([out] UINT *puIconSize); 823 HRESULT GetFolderFlags ([out] FOLDERFLAGS *pfolderMask,[out] FOLDERFLAGS *pfolderFlags); 824 HRESULT GetSortColumns ([out, size_is (cColumnsIn), length_is (*pcColumnsOut)] SORTCOLUMN *rgSortColumns,[in] UINT cColumnsIn,[out] UINT *pcColumnsOut); 825 HRESULT GetGroupSubsetCount ([out] UINT *pcVisibleRows); 826} 827cpp_quote("#endif") 828cpp_quote("#endif") 829 830cpp_quote("") 831cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 832[object, uuid (196bf9a5-b346-4ef0-aa1e-5dcdb76768b1), pointer_default (unique)] 833interface IPreviewHandlerVisuals : IUnknown { 834 HRESULT SetBackgroundColor ([in] COLORREF color); 835 HRESULT SetFont ([in] const LOGFONTW *plf); 836 HRESULT SetTextColor ([in] COLORREF color); 837} 838 839cpp_quote("") 840[object, uuid (e693cf68-d967-4112-8763-99172aee5e5a), pointer_default (unique)] 841interface IVisualProperties : IUnknown { 842 typedef [v1_enum] enum VPWATERMARKFLAGS { 843 VPWF_DEFAULT = 0x0, 844 VPWF_ALPHABLEND = 0x1 845 } VPWATERMARKFLAGS; 846cpp_quote("") 847 typedef [v1_enum] enum VPCOLORFLAGS { 848 VPCF_TEXT = 1, 849 VPCF_BACKGROUND = 2, 850 VPCF_SORTCOLUMN = 3, 851 VPCF_SUBTEXT = 4, 852 VPCF_TEXTBACKGROUND = 5 853 } VPCOLORFLAGS; 854cpp_quote("") 855cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS)") 856cpp_quote("") 857 HRESULT SetWatermark ([in, unique] HBITMAP hbmp,[in] VPWATERMARKFLAGS vpwf); 858 HRESULT SetColor ([in] VPCOLORFLAGS vpcf,[in] COLORREF cr); 859 HRESULT GetColor ([in] VPCOLORFLAGS vpcf,[out] COLORREF *pcr); 860 HRESULT SetItemHeight ([in] int cyItemInPixels); 861 HRESULT GetItemHeight ([out] int *cyItemInPixels); 862 HRESULT SetFont ([in] const LOGFONTW *plf,[in] BOOL bRedraw); 863 HRESULT GetFont ([out] LOGFONTW *plf); 864 HRESULT SetTheme ([in, unique, string] LPCWSTR pszSubAppName,[in, unique, string] LPCWSTR pszSubIdList); 865} 866cpp_quote("#endif") 867 868cpp_quote("") 869cpp_quote("#define CDBOSC_SETFOCUS 0x00000000") 870cpp_quote("#define CDBOSC_KILLFOCUS 0x00000001") 871cpp_quote("#define CDBOSC_SELCHANGE 0x00000002") 872cpp_quote("#define CDBOSC_RENAME 0x00000003") 873cpp_quote("#define CDBOSC_STATECHANGE 0x00000004") 874 875cpp_quote("") 876[object, uuid (000214f1-0000-0000-C000-000000000046), pointer_default (unique)] 877interface ICommDlgBrowser : IUnknown { 878 HRESULT OnDefaultCommand ([in] IShellView *ppshv); 879 HRESULT OnStateChange ([in] IShellView *ppshv,[in] ULONG uChange); 880 HRESULT IncludeObject ([in, unique] IShellView *ppshv,[in] PCUITEMID_CHILD pidl); 881} 882typedef ICommDlgBrowser *LPCOMMDLGBROWSER; 883 884cpp_quote("") 885cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser") 886cpp_quote("") 887cpp_quote("#define CDB2N_CONTEXTMENU_DONE 0x00000001") 888cpp_quote("#define CDB2N_CONTEXTMENU_START 0x00000002") 889cpp_quote("") 890cpp_quote("#define CDB2GVF_SHOWALLFILES 0x1") 891cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 892cpp_quote("#define CDB2GVF_ISFILESAVE 0x2") 893cpp_quote("#define CDB2GVF_ALLOWPREVIEWPANE 0x4") 894cpp_quote("#define CDB2GVF_NOSELECTVERB 0x8") 895cpp_quote("#define CDB2GVF_NOINCLUDEITEM 0x10") 896cpp_quote("#define CDB2GVF_ISFOLDERPICKER 0x20") 897cpp_quote("#define CDB2GVF_ADDSHIELD 0x40") 898cpp_quote("#endif") 899 900cpp_quote("") 901[object, uuid (10339516-2894-11d2-9039-00c04f8eeb3e), pointer_default (unique)] 902interface ICommDlgBrowser2 : ICommDlgBrowser { 903 HRESULT Notify ([in] IShellView *ppshv,[in] DWORD dwNotifyType); 904 HRESULT GetDefaultMenuText ([in] IShellView *ppshv,[out, string, size_is (cchMax)] LPWSTR pszText,[in] int cchMax); 905 HRESULT GetViewFlags ([out] DWORD *pdwFlags); 906} 907typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2; 908 909cpp_quote("") 910cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 911[object, uuid (c8ad25a1-3294-41ee-8165-71174bd01c57), pointer_default (unique)] 912interface ICommDlgBrowser3 : ICommDlgBrowser2 { 913 HRESULT OnColumnClicked ([in] IShellView *ppshv,[in] int iColumn); 914 HRESULT GetCurrentFilter ([out, string, size_is (cchFileSpec)] LPWSTR pszFileSpec,[in] int cchFileSpec); 915 HRESULT OnPreViewCreated ([in] IShellView *ppshv); 916} 917 918cpp_quote("") 919typedef [v1_enum] enum CM_MASK { 920 CM_MASK_WIDTH = 0x1, 921 CM_MASK_DEFAULTWIDTH = 0x2, 922 CM_MASK_IDEALWIDTH = 0x4, 923 CM_MASK_NAME = 0x8, 924 CM_MASK_STATE = 0x10 925} CM_MASK; 926 927cpp_quote("") 928cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_MASK)") 929 930cpp_quote("") 931typedef [v1_enum] enum CM_STATE { 932 CM_STATE_NONE = 0x0, 933 CM_STATE_VISIBLE = 0x1, 934 CM_STATE_FIXEDWIDTH = 0x2, 935 CM_STATE_NOSORTBYFOLDERNESS = 0x4, 936 CM_STATE_ALWAYSVISIBLE = 0x8 937} CM_STATE; 938 939cpp_quote("") 940cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_STATE)") 941 942cpp_quote("") 943typedef [v1_enum] enum CM_ENUM_FLAGS { 944 CM_ENUM_ALL = 0x1, 945 CM_ENUM_VISIBLE = 0x2 946} CM_ENUM_FLAGS; 947 948cpp_quote("") 949cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS)") 950 951cpp_quote("") 952typedef [v1_enum] enum CM_SET_WIDTH_VALUE { 953 CM_WIDTH_USEDEFAULT = -1, 954 CM_WIDTH_AUTOSIZE = -2 955} CM_SET_WIDTH_VALUE; 956 957#define MAX_COLUMN_NAME_LEN 80 958 959cpp_quote("") 960typedef struct CM_COLUMNINFO { 961 DWORD cbSize; 962 DWORD dwMask; 963 DWORD dwState; 964 UINT uWidth; 965 UINT uDefaultWidth; 966 UINT uIdealWidth; 967 WCHAR wszName[MAX_COLUMN_NAME_LEN]; 968} CM_COLUMNINFO; 969 970cpp_quote("") 971[object, uuid (d8ec27bb-3f3b-4042-b10a-4acfd924d453), pointer_default (unique)] 972interface IColumnManager : IUnknown { 973 HRESULT SetColumnInfo ([in] REFPROPERTYKEY propkey,[in] const CM_COLUMNINFO *pcmci); 974 HRESULT GetColumnInfo ([in] REFPROPERTYKEY propkey,[in, out] CM_COLUMNINFO *pcmci); 975 HRESULT GetColumnCount ([in] CM_ENUM_FLAGS dwFlags,[out] UINT *puCount); 976 HRESULT GetColumns ([in] CM_ENUM_FLAGS dwFlags,[out, size_is (cColumns)] PROPERTYKEY *rgkeyOrder,[in] UINT cColumns); 977 HRESULT SetColumns ([in, size_is (cVisible)] const PROPERTYKEY *rgkeyOrder,[in] UINT cVisible); 978} 979cpp_quote("#endif") 980 981cpp_quote("") 982[object, uuid (C0A651F5-B48B-11d2-B5ED-006097c686f6), pointer_default (unique)] 983interface IFolderFilterSite : IUnknown { 984 HRESULT SetFilter ([in]IUnknown *punk); 985} 986 987cpp_quote("") 988[object, uuid (9cc22886-DC8E-11d2-B1D0-00c04f8eeb3e), pointer_default (unique)] 989interface IFolderFilter : IUnknown { 990 HRESULT ShouldShow ([in] IShellFolder *psf,[in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in] PCUITEMID_CHILD pidlItem); 991 HRESULT GetEnumFlags ([in] IShellFolder *psf,[in] PCIDLIST_ABSOLUTE pidlFolder,[out] HWND *phwnd,[in, out] DWORD *pgrfFlags); 992} 993 994cpp_quote("") 995[object, uuid (F1DB8392-7331-11d0-8c99-00a0c92dbfe8), pointer_default (unique),] 996interface IInputObjectSite: IUnknown { 997 HRESULT OnFocusChangeIS ([in, unique] IUnknown *punkObj,[in] BOOL fSetFocus); 998} 999 1000cpp_quote("") 1001[object, uuid (68284faa-6a48-11d0-8c78-00c04fd918b4), pointer_default (unique)] 1002interface IInputObject: IUnknown { 1003 HRESULT UIActivateIO ([in] BOOL fActivate,[in, unique] MSG *pMsg); 1004 HRESULT HasFocusIO (); 1005 HRESULT TranslateAcceleratorIO ([in] MSG *pMsg); 1006} 1007 1008cpp_quote("") 1009[object, uuid (6915c085-510b-44cd-94af-28dfa56cf92b), pointer_default (unique), local] 1010interface IInputObject2 : IInputObject { 1011 HRESULT TranslateAcceleratorGlobal ([in] MSG *pMsg); 1012} 1013 1014cpp_quote("") 1015[object, uuid (000214e5-0000-0000-C000-000000000046), pointer_default (unique)] 1016interface IShellIcon : IUnknown { 1017 HRESULT GetIconOf ([in] PCUITEMID_CHILD pidl,[in] UINT flags,[out] int *pIconIndex); 1018} 1019 1020cpp_quote("") 1021cpp_quote("#define SBSP_DEFBROWSER 0x0000") 1022cpp_quote("#define SBSP_SAMEBROWSER 0x0001") 1023cpp_quote("#define SBSP_NEWBROWSER 0x0002") 1024cpp_quote("") 1025cpp_quote("#define SBSP_DEFMODE 0x0000") 1026cpp_quote("#define SBSP_OPENMODE 0x0010") 1027cpp_quote("#define SBSP_EXPLOREMODE 0x0020") 1028cpp_quote("#define SBSP_HELPMODE 0x0040") 1029cpp_quote("#define SBSP_NOTRANSFERHIST 0x0080") 1030cpp_quote("") 1031cpp_quote("#define SBSP_ABSOLUTE 0x0000") 1032cpp_quote("#define SBSP_RELATIVE 0x1000") 1033cpp_quote("#define SBSP_PARENT 0x2000") 1034cpp_quote("#define SBSP_NAVIGATEBACK 0x4000") 1035cpp_quote("#define SBSP_NAVIGATEFORWARD 0x8000") 1036cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000") 1037cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1038cpp_quote("#define SBSP_KEEPSAMETEMPLATE 0x00020000") 1039cpp_quote("#define SBSP_KEEPWORDWHEELTEXT 0x00040000") 1040cpp_quote("#define SBSP_ACTIVATE_NOFOCUS 0x00080000") 1041cpp_quote("#define SBSP_CREATENOHISTORY 0x00100000") 1042cpp_quote("#define SBSP_PLAYNOSOUND 0x00200000") 1043cpp_quote("#endif") 1044cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2") 1045cpp_quote("#define SBSP_CALLERUNTRUSTED 0x00800000") 1046cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000") 1047cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000") 1048cpp_quote("#endif") 1049cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000") 1050cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000") 1051cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2") 1052cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000") 1053cpp_quote("#endif") 1054cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1055cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000") 1056cpp_quote("#endif") 1057cpp_quote("#define SBSP_REDIRECT 0x40000000") 1058cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000") 1059cpp_quote("") 1060cpp_quote("#define FCW_STATUS 0x0001") 1061cpp_quote("#define FCW_TOOLBAR 0x0002") 1062cpp_quote("#define FCW_TREE 0x0003") 1063cpp_quote("#define FCW_INTERNETBAR 0x0006") 1064cpp_quote("#define FCW_PROGRESS 0x0008") 1065 1066cpp_quote("") 1067cpp_quote("#define FCT_MERGE 0x0001") 1068cpp_quote("#define FCT_CONFIGABLE 0x0002") 1069cpp_quote("#define FCT_ADDTOEND 0x0004") 1070 1071cpp_quote("") 1072cpp_quote("#if 0") 1073typedef LPARAM LPTBBUTTONSB; 1074cpp_quote("#else") 1075cpp_quote("#include <commctrl.h>") 1076cpp_quote("") 1077cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;") 1078cpp_quote("#endif") 1079 1080cpp_quote("") 1081[object, uuid (000214e2-0000-0000-C000-000000000046), pointer_default (unique)] 1082interface IShellBrowser : IOleWindow { 1083 HRESULT InsertMenusSB ([in] HMENU hmenuShared,[in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths); 1084 HRESULT SetMenuSB ([in, unique] HMENU hmenuShared,[in, unique] HOLEMENU holemenuRes,[in, unique] HWND hwndActiveObject); 1085 HRESULT RemoveMenusSB ([in] HMENU hmenuShared); 1086 HRESULT SetStatusTextSB ([in, unique] LPCWSTR pszStatusText); 1087 HRESULT EnableModelessSB ([in] BOOL fEnable); 1088 HRESULT TranslateAcceleratorSB ([in] MSG *pmsg,[in] WORD wID); 1089 HRESULT BrowseObject ([in, unique] PCUIDLIST_RELATIVE pidl,[in] UINT wFlags); 1090 HRESULT GetViewStateStream ([in] DWORD grfMode,[out] IStream **ppStrm); 1091 HRESULT GetControlWindow ([in] UINT id,[out] HWND *phwnd); 1092 [local] HRESULT SendControlMsg ([in] UINT id,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *pret); 1093 HRESULT QueryActiveShellView ([out] IShellView **ppshv); 1094 HRESULT OnViewWindowActive ([in] IShellView *pshv); 1095 [local] HRESULT SetToolbarItems ([in] LPTBBUTTONSB lpButtons,[in] UINT nButtons,[in] UINT uFlags); 1096} 1097 1098cpp_quote("") 1099typedef IShellBrowser *LPSHELLBROWSER; 1100 1101cpp_quote("") 1102[object, uuid (cb728b20-f786-11ce-92ad-00aa00a74cd0), pointer_default (unique)] 1103interface IProfferService : IUnknown { 1104 HRESULT ProfferService ([in] REFGUID guidService,[in] IServiceProvider *psp,[out] DWORD *pdwCookie); 1105 HRESULT RevokeService ([in] DWORD dwCookie); 1106} 1107 1108cpp_quote("") 1109cpp_quote("#define SID_SProfferService IID_IProfferService") 1110cpp_quote("#define STR_DONT_RESOLVE_LINK L\"Don't Resolve Link\"") 1111cpp_quote("#define STR_GET_ASYNC_HANDLER L\"GetAsyncHandler\"") 1112 1113cpp_quote("") 1114[object, uuid (43826d1e-e718-42ee-bc55-a1e261c37bfe), pointer_default (unique)] 1115interface IShellItem : IUnknown { 1116 typedef [v1_enum] enum _SIGDN { 1117 SIGDN_NORMALDISPLAY = 0x00000000, 1118 SIGDN_PARENTRELATIVEPARSING = (int) 0x80018001, 1119 SIGDN_DESKTOPABSOLUTEPARSING = (int) 0x80028000, 1120 SIGDN_PARENTRELATIVEEDITING = (int) 0x80031001, 1121 SIGDN_DESKTOPABSOLUTEEDITING = (int) 0x8004c000, 1122 SIGDN_FILESYSPATH = (int) 0x80058000, 1123 SIGDN_URL = (int) 0x80068000, 1124 SIGDN_PARENTRELATIVEFORADDRESSBAR = (int) 0x8007c001, 1125 SIGDN_PARENTRELATIVE = (int) 0x80080001, 1126 SIGDN_PARENTRELATIVEFORUI = (int) 0x80094001, 1127 } SIGDN; 1128 1129cpp_quote("") 1130 [v1_enum] enum _SICHINTF { 1131 SICHINT_DISPLAY = 0x00000000, 1132 SICHINT_ALLFIELDS = (int) 0x80000000, 1133 SICHINT_CANONICAL = 0x10000000, 1134 SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, 1135 }; 1136 1137cpp_quote("") 1138 typedef DWORD SICHINTF; 1139cpp_quote("") 1140 HRESULT BindToHandler ([in, unique] IBindCtx *pbc,[in] REFGUID bhid,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1141 HRESULT GetParent ([out] IShellItem **ppsi); 1142 HRESULT GetDisplayName ([in] SIGDN sigdnName,[out, string] LPWSTR *ppszName); 1143 HRESULT GetAttributes ([in] SFGAOF sfgaoMask,[out] SFGAOF *psfgaoAttribs); 1144 HRESULT Compare ([in] IShellItem *psi,[in] SICHINTF hint,[out] int *piOrder); 1145} 1146 1147cpp_quote("") 1148cpp_quote("SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath);") 1149 1150cpp_quote("") 1151cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1152cpp_quote(" SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);") 1153cpp_quote(" SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);") 1154cpp_quote(" SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem);") 1155cpp_quote(" SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv);") 1156cpp_quote("#endif") 1157cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1158cpp_quote(" SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv);") 1159cpp_quote(" SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);") 1160cpp_quote(" SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);") 1161cpp_quote(" SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);") 1162cpp_quote(" SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);") 1163cpp_quote(" SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);") 1164cpp_quote("#endif") 1165cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 1166typedef [v1_enum] enum DATAOBJ_GET_ITEM_FLAGS { 1167 DOGIF_DEFAULT = 0x0000, 1168 DOGIF_TRAVERSE_LINK = 0x0001, 1169 DOGIF_NO_HDROP = 0x0002, 1170 DOGIF_NO_URL = 0x0004, 1171 DOGIF_ONLY_IF_ONE = 0x0008, 1172} DATAOBJ_GET_ITEM_FLAGS; 1173 1174cpp_quote("") 1175cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)") 1176cpp_quote("") 1177cpp_quote(" STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);") 1178cpp_quote("#endif") 1179 1180cpp_quote("") 1181cpp_quote("#define STR_GPS_HANDLERPROPERTIESONLY L\"GPS_HANDLERPROPERTIESONLY\"") 1182cpp_quote("#define STR_GPS_FASTPROPERTIESONLY L\"GPS_FASTPROPERTIESONLY\"") 1183cpp_quote("#define STR_GPS_OPENSLOWITEM L\"GPS_OPENSLOWITEM\"") 1184cpp_quote("#define STR_GPS_DELAYCREATION L\"GPS_DELAYCREATION\"") 1185cpp_quote("#define STR_GPS_BESTEFFORT L\"GPS_BESTEFFORT\"") 1186cpp_quote("#define STR_GPS_NO_OPLOCK L\"GPS_NO_OPLOCK\"") 1187 1188cpp_quote("") 1189[object, uuid (7e9fb0d3-919f-4307-ab2e-9b1860310c93), pointer_default (unique)] 1190interface IShellItem2 : IShellItem { 1191 HRESULT GetPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1192 HRESULT GetPropertyStoreWithCreateObject ([in] GETPROPERTYSTOREFLAGS flags,[in] IUnknown *punkCreateObject,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1193 HRESULT GetPropertyStoreForKeys ([in, size_is (cKeys)] const PROPERTYKEY *rgKeys,[in] UINT cKeys,[in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1194 HRESULT GetPropertyDescriptionList ([in] REFPROPERTYKEY keyType,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1195 HRESULT Update ([in, unique] IBindCtx *pbc); 1196 HRESULT GetProperty ([in] REFPROPERTYKEY key,[out] PROPVARIANT *ppropvar); 1197 HRESULT GetCLSID ([in] REFPROPERTYKEY key,[out] CLSID *pclsid); 1198 HRESULT GetFileTime ([in] REFPROPERTYKEY key,[out] FILETIME *pft); 1199 HRESULT GetInt32 ([in] REFPROPERTYKEY key,[out] int *pi); 1200 HRESULT GetString ([in] REFPROPERTYKEY key,[out, string] LPWSTR *ppsz); 1201 HRESULT GetUInt32 ([in] REFPROPERTYKEY key,[out] ULONG *pui); 1202 HRESULT GetUInt64 ([in] REFPROPERTYKEY key,[out] ULONGLONG *pull); 1203 HRESULT GetBool ([in] REFPROPERTYKEY key,[out] BOOL *pf); 1204} 1205 1206cpp_quote("") 1207[v1_enum] enum _SIIGBF { 1208 SIIGBF_RESIZETOFIT = 0x00000000, 1209 SIIGBF_BIGGERSIZEOK = 0x00000001, 1210 SIIGBF_MEMORYONLY = 0x00000002, 1211 SIIGBF_ICONONLY = 0x00000004, 1212 SIIGBF_THUMBNAILONLY = 0x00000008, 1213 SIIGBF_INCACHEONLY = 0x00000010, 1214 SIIGBF_CROPTOSQUARE = 0x00000020, 1215 SIIGBF_WIDETHUMBNAILS = 0x00000040, 1216 SIIGBF_ICONBACKGROUND = 0x00000080, 1217 SIIGBF_SCALEUP = 0x00000100, 1218}; 1219 1220cpp_quote("") 1221typedef int SIIGBF; 1222 1223cpp_quote("") 1224[object, uuid (bcc18b79-ba16-442f-80c4-8a59c30c463b), pointer_default (unique)] 1225interface IShellItemImageFactory : IUnknown { 1226 HRESULT GetImage ([in] SIZE size,[in] SIIGBF flags,[out] HBITMAP *phbm); 1227} 1228 1229cpp_quote("") 1230[object, uuid (a561e69a-b4b8-4113-91a5-64c6bcca3430), version (1.0)] 1231interface IUserAccountChangeCallback : IUnknown { 1232 HRESULT OnPictureChange ([in, string] LPCWSTR pszUserName); 1233} 1234 1235cpp_quote("") 1236[object, uuid (70629033-e363-4a28-a567-0db78006e6d7), pointer_default (unique)] 1237interface IEnumShellItems : IUnknown { 1238 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IShellItem **rgelt,[out] ULONG *pceltFetched); 1239 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IShellItem **rgelt,[out] ULONG *pceltFetched); 1240 HRESULT Skip ([in] ULONG celt); 1241 HRESULT Reset (); 1242 HRESULT Clone ([out] IEnumShellItems **ppenum); 1243} 1244 1245cpp_quote("") 1246typedef GUID STGTRANSCONFIRMATION,*LPSTGTRANSCONFIRMATION; 1247 1248cpp_quote("") 1249typedef [v1_enum] enum STGOP { 1250 STGOP_MOVE = 1, 1251 STGOP_COPY = 2, 1252 STGOP_SYNC = 3, 1253 STGOP_REMOVE = 5, 1254 STGOP_RENAME = 6, 1255 STGOP_APPLYPROPERTIES = 8, 1256 STGOP_NEW = 10 1257} STGOP; 1258 1259 cpp_quote("") 1260[v1_enum] enum _TRANSFER_SOURCE_FLAGS { 1261 TSF_NORMAL = 0x0000, 1262 TSF_FAIL_EXIST = 0x0000, 1263 TSF_RENAME_EXIST = 0x0001, 1264 TSF_OVERWRITE_EXIST = 0x0002, 1265 TSF_ALLOW_DECRYPTION = 0x0004, 1266 TSF_NO_SECURITY = 0x0008, 1267 TSF_COPY_CREATION_TIME = 0x0010, 1268 TSF_COPY_WRITE_TIME = 0x0020, 1269 TSF_USE_FULL_ACCESS = 0x0040, 1270 TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x0080, 1271 TSF_COPY_HARD_LINK = 0x0100, 1272 TSF_COPY_LOCALIZED_NAME = 0x0200, 1273 TSF_MOVE_AS_COPY_DELETE = 0x0400, 1274 TSF_SUSPEND_SHELLEVENTS = 0x0800, 1275}; 1276cpp_quote("") 1277typedef DWORD TRANSFER_SOURCE_FLAGS; 1278cpp_quote("") 1279cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1280[uuid (d594d0d8-8da7-457b-b3b4-ce5dbaac0b88), pointer_default (unique), local] 1281interface ITransferAdviseSink : IUnknown { 1282 [v1_enum] enum _TRANSFER_ADVISE_STATE { 1283 TS_NONE = 0x00000000, 1284 TS_PERFORMING = 0x00000001, 1285 TS_PREPARING = 0x00000002, 1286 TS_INDETERMINATE = 0x00000004 1287 }; 1288cpp_quote("") 1289 typedef DWORD TRANSFER_ADVISE_STATE; 1290cpp_quote("") 1291 HRESULT UpdateProgress ([in] ULONGLONG ullSizeCurrent,[in] ULONGLONG ullSizeTotal,[in] int nFilesCurrent,[in] int nFilesTotal,[in] int nFoldersCurrent,[in] int nFoldersTotal); 1292 HRESULT UpdateTransferState ([in] TRANSFER_ADVISE_STATE ts); 1293 HRESULT ConfirmOverwrite ([in] IShellItem *psiSource,[in] IShellItem *psiDestParent,[in, string] LPCWSTR pszName); 1294 HRESULT ConfirmEncryptionLoss ([in] IShellItem *psiSource); 1295 HRESULT FileFailure ([in] IShellItem *psi,[in, unique, string] LPCWSTR pszItem,[in] HRESULT hrError,[out, unique, size_is (cchRename)] LPWSTR pszRename,[in] ULONG cchRename); 1296 HRESULT SubStreamFailure ([in] IShellItem *psi,[in, string] LPCWSTR pszStreamName,[in] HRESULT hrError); 1297 HRESULT PropertyFailure ([in] IShellItem *psi,[in, unique] const PROPERTYKEY *pkey,[in] HRESULT hrError); 1298} 1299cpp_quote("#endif") 1300 1301cpp_quote("") 1302cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1303[object, uuid (00adb003-bde9-45c6-8e29-d09f9353e108), pointer_default (unique), local] 1304interface ITransferSource : IUnknown { 1305 HRESULT Advise ([in] ITransferAdviseSink *psink,[out] DWORD *pdwCookie); 1306 HRESULT Unadvise ([in] DWORD dwCookie); 1307 HRESULT SetProperties ([in] IPropertyChangeArray *pproparray); 1308 HRESULT OpenItem ([in] IShellItem *psi,[in] TRANSFER_SOURCE_FLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1309 HRESULT MoveItem ([in] IShellItem *psi,[in] IShellItem *psiParentDst,[in, string] LPCWSTR pszNameDst,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNew); 1310 HRESULT RecycleItem ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest); 1311 HRESULT RemoveItem ([in] IShellItem *psiSource,[in] TRANSFER_SOURCE_FLAGS flags); 1312 HRESULT RenameItem ([in] IShellItem *psiSource,[in, string] LPCWSTR pszNewName,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest); 1313 HRESULT LinkItem ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[in, unique, string] LPCWSTR pszNewName,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest); 1314 HRESULT ApplyPropertiesToItem ([in] IShellItem *psiSource,[out] IShellItem **ppsiNew); 1315 HRESULT GetDefaultDestinationName ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[out, string] LPWSTR *ppszDestinationName); 1316 HRESULT EnterFolder ([in] IShellItem *psiChildFolderDest); 1317 HRESULT LeaveFolder ([in] IShellItem *psiChildFolderDest); 1318} 1319cpp_quote("#endif") 1320 1321cpp_quote("") 1322typedef struct SHELL_ITEM_RESOURCE { 1323 GUID guidType; 1324 WCHAR szName[260]; 1325} SHELL_ITEM_RESOURCE; 1326 1327cpp_quote("") 1328[object, uuid (2dd81fe3-a83c-4da9-a330-47249d345ba1), pointer_default (unique)] 1329interface IEnumResources : IUnknown { 1330 HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] SHELL_ITEM_RESOURCE *psir,[out] ULONG *pceltFetched); 1331 HRESULT Skip ([in] ULONG celt); 1332 HRESULT Reset (); 1333 HRESULT Clone ([out] IEnumResources **ppenumr); 1334} 1335 1336cpp_quote("") 1337[object, uuid (ff5693be-2ce0-4d48-b5c5-40817d1acdb9), pointer_default (unique)] 1338interface IShellItemResources : IUnknown { 1339 HRESULT GetAttributes ([out] DWORD *pdwAttributes); 1340 HRESULT GetSize ([out] ULONGLONG *pullSize); 1341 HRESULT GetTimes ([out] FILETIME *pftCreation,[out] FILETIME *pftWrite,[out] FILETIME *pftAccess); 1342 HRESULT SetTimes ([in, unique] const FILETIME *pftCreation,[in, unique] const FILETIME *pftWrite,[in, unique] const FILETIME *pftAccess); 1343 HRESULT GetResourceDescription ([in] const SHELL_ITEM_RESOURCE *pcsir,[out, string] LPWSTR *ppszDescription); 1344 HRESULT EnumResources ([out] IEnumResources **ppenumr); 1345 HRESULT SupportsResource ([in] const SHELL_ITEM_RESOURCE *pcsir); 1346 HRESULT OpenResource ([in] const SHELL_ITEM_RESOURCE *pcsir,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1347 HRESULT CreateResource ([in] const SHELL_ITEM_RESOURCE *pcsir,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1348 HRESULT MarkForDelete (); 1349} 1350 1351cpp_quote("") 1352[object, uuid (48addd32-3ca5-4124-abe3-b5a72531b207), pointer_default (unique), local] 1353interface ITransferDestination : IUnknown { 1354 HRESULT Advise ([in] ITransferAdviseSink *psink,[out] DWORD *pdwCookie); 1355 HRESULT Unadvise ([in] DWORD dwCookie); 1356 HRESULT CreateItem ([in, string] LPCWSTR pszName,[in] DWORD dwAttributes,[in] ULONGLONG ullSize,[in] TRANSFER_SOURCE_FLAGS flags,[in] REFIID riidItem,[out, iid_is (riidItem)] void **ppvItem,[in] REFIID riidResources,[out, iid_is (riidResources)] void **ppvResources); 1357} 1358cpp_quote("#if 0") 1359typedef struct _OVERLAPPED { 1360 ULONG_PTR Internal; 1361 ULONG_PTR InternalHigh; 1362 union { 1363 struct { 1364 DWORD Offset; 1365 DWORD OffsetHigh; 1366 }; 1367 PVOID Pointer; 1368 }; 1369 HANDLE hEvent; 1370} OVERLAPPED,*LPOVERLAPPED; 1371cpp_quote("#endif") 1372 1373cpp_quote("") 1374[object, uuid (fe0b6665-e0ca-49b9-a178-2b5cb48d92a5), pointer_default (unique), local] 1375interface IStreamAsync : IStream { 1376 HRESULT ReadAsync ([out, size_is (cb), length_is (*pcbRead)] void *pv,[in] DWORD cb,[out] LPDWORD pcbRead,[in] LPOVERLAPPED lpOverlapped); 1377 HRESULT WriteAsync ([in, size_is (cb)] void const *lpBuffer,[in] DWORD cb,[out] LPDWORD pcbWritten,[in] LPOVERLAPPED lpOverlapped); 1378 HRESULT OverlappedResult ([in] LPOVERLAPPED lpOverlapped,[out] LPDWORD lpNumberOfBytesTransferred,[in] BOOL bWait); 1379 HRESULT CancelIo (); 1380} 1381 1382cpp_quote("") 1383[object, uuid (8a68fdda-1fdc-4c20-8ceb-416643b5a625), pointer_default (unique), local] 1384interface IStreamUnbufferedInfo : IUnknown { 1385 HRESULT GetSectorSize ([out] ULONG *pcbSectorSize); 1386} 1387 1388cpp_quote("") 1389cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1390[object, uuid (04b0f1a7-9490-44bc-96e1-4296a31252e2), pointer_default (unique),] 1391interface IFileOperationProgressSink : IUnknown { 1392 HRESULT StartOperations (); 1393 HRESULT FinishOperations ([in] HRESULT hrResult); 1394 HRESULT PreRenameItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in, unique, string] LPCWSTR pszNewName); 1395 HRESULT PostRenameItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in, string] LPCWSTR pszNewName,[in] HRESULT hrRename,[in] IShellItem *psiNewlyCreated); 1396 HRESULT PreMoveItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName); 1397 HRESULT PostMoveItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in] HRESULT hrMove,[in] IShellItem *psiNewlyCreated); 1398 HRESULT PreCopyItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName); 1399 HRESULT PostCopyItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in] HRESULT hrCopy,[in] IShellItem *psiNewlyCreated); 1400 HRESULT PreDeleteItem ([in] DWORD dwFlags,[in] IShellItem *psiItem); 1401 HRESULT PostDeleteItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] HRESULT hrDelete,[in] IShellItem *psiNewlyCreated); 1402 HRESULT PreNewItem ([in] DWORD dwFlags,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName); 1403 HRESULT PostNewItem ([in] DWORD dwFlags,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in, unique, string] LPCWSTR pszTemplateName,[in] DWORD dwFileAttributes,[in] HRESULT hrNew,[in] IShellItem *psiNewItem); 1404 HRESULT UpdateProgress ([in] UINT iWorkTotal,[in] UINT iWorkSoFar); 1405 HRESULT ResetTimer (); 1406 HRESULT PauseTimer (); 1407 HRESULT ResumeTimer (); 1408} 1409cpp_quote("#endif") 1410 1411cpp_quote("") 1412[object, uuid (b63ea76d-1f85-456f-a19c-48159efa858b), pointer_default (unique)] 1413interface IShellItemArray : IUnknown { 1414 typedef [v1_enum] enum SIATTRIBFLAGS { 1415 SIATTRIBFLAGS_AND = 0x00000001, 1416 SIATTRIBFLAGS_OR = 0x00000002, 1417 SIATTRIBFLAGS_APPCOMPAT = 0x00000003, 1418 SIATTRIBFLAGS_MASK = 0x00000003, 1419 SIATTRIBFLAGS_ALLITEMS = 0x00004000 1420 } SIATTRIBFLAGS; 1421cpp_quote("") 1422cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)") 1423cpp_quote("") 1424 HRESULT BindToHandler ([in, unique] IBindCtx *pbc,[in] REFGUID bhid,[in] REFIID riid,[out, iid_is (riid)] void **ppvOut); 1425 HRESULT GetPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1426 HRESULT GetPropertyDescriptionList ([in] REFPROPERTYKEY keyType,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1427 HRESULT GetAttributes ([in] SIATTRIBFLAGS AttribFlags,[in] SFGAOF sfgaoMask,[out] SFGAOF *psfgaoAttribs); 1428 HRESULT GetCount ([out] DWORD *pdwNumItems); 1429 HRESULT GetItemAt ([in] DWORD dwIndex,[out] IShellItem **ppsi); 1430 HRESULT EnumItems ([out] IEnumShellItems **ppenumShellItems); 1431} 1432 1433cpp_quote("") 1434cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1435cpp_quote(" SHSTDAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);") 1436cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);") 1437cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY rgpidl, IShellItemArray **ppsiItemArray);") 1438cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);") 1439cpp_quote("#endif") 1440 1441cpp_quote("") 1442[object, uuid (7f73be3f-fb79-493c-a6c7-7ee14e245841), pointer_default (unique)] 1443interface IInitializeWithItem : IUnknown { 1444 HRESULT Initialize ([in] IShellItem *psi,[in] DWORD grfMode); 1445} 1446 1447cpp_quote("") 1448[object, uuid (1c9cd5bb-98e9-4491-a60f-31aacc72b83c), pointer_default (unique)] 1449interface IObjectWithSelection : IUnknown { 1450 HRESULT SetSelection ([in] IShellItemArray *psia); 1451 HRESULT GetSelection ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 1452} 1453 1454cpp_quote("") 1455[object, uuid (321a6a6a-d61f-4bf3-97ae-14be2986bb36), pointer_default (unique)] 1456interface IObjectWithBackReferences : IUnknown { 1457 HRESULT RemoveBackReferences (); 1458} 1459 1460cpp_quote("") 1461[v1_enum] enum _PROPERTYUI_NAME_FLAGS { 1462 PUIFNF_DEFAULT = 0x00000000, 1463 PUIFNF_MNEMONIC = 0x00000001, 1464}; 1465 1466cpp_quote("") 1467typedef DWORD PROPERTYUI_NAME_FLAGS; 1468 1469cpp_quote("") 1470[v1_enum] enum _PROPERTYUI_FLAGS { 1471 PUIF_DEFAULT = 0x00000000, 1472 PUIF_RIGHTALIGN = 0x00000001, 1473 PUIF_NOLABELININFOTIP = 0x00000002, 1474}; 1475 1476cpp_quote("") 1477typedef DWORD PROPERTYUI_FLAGS; 1478 1479cpp_quote("") 1480[v1_enum] enum _PROPERTYUI_FORMAT_FLAGS { 1481 PUIFFDF_DEFAULT = 0x00000000, 1482 PUIFFDF_RIGHTTOLEFT = 0x00000001, 1483 PUIFFDF_SHORTFORMAT = 0x00000002, 1484 PUIFFDF_NOTIME = 0x00000004, 1485 PUIFFDF_FRIENDLYDATE = 0x00000008 1486}; 1487 1488cpp_quote("") 1489typedef DWORD PROPERTYUI_FORMAT_FLAGS; 1490 1491cpp_quote("") 1492[object, uuid (757a7d9f-919a-4118-99d7-dbb208c8cc66), pointer_default (unique)] 1493interface IPropertyUI : IUnknown { 1494 HRESULT ParsePropertyName ([in, string] LPCWSTR pszName,[out] FMTID *pfmtid,[out] PROPID *ppid,[in, out] ULONG *pchEaten); 1495 HRESULT GetCannonicalName ([in] REFFMTID fmtid,[in] PROPID pid,[out, string, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText); 1496 HRESULT GetDisplayName ([in] REFFMTID fmtid,[in] PROPID pid,[in] PROPERTYUI_NAME_FLAGS flags,[out, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText); 1497 HRESULT GetPropertyDescription ([in] REFFMTID fmtid,[in] PROPID pid,[out, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText); 1498 HRESULT GetDefaultWidth ([in] REFFMTID fmtid,[in] PROPID pid,[out] ULONG *pcxChars); 1499 HRESULT GetFlags ([in] REFFMTID fmtid,[in] PROPID pid,[out] PROPERTYUI_FLAGS *pflags); 1500 HRESULT FormatForDisplay ([in] REFFMTID fmtid,[in] PROPID pid,[in] const PROPVARIANT *ppropvar,[in] PROPERTYUI_FORMAT_FLAGS puiff,[out, string, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText); 1501 HRESULT GetHelpInfo ([in] REFFMTID fmtid,[in] PROPID pid,[out, string, size_is (cch)] LPWSTR pwszHelpFile,[in] DWORD cch,[out] UINT *puHelpID); 1502} 1503 1504cpp_quote("") 1505cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 1506cpp_quote(" SHSTDAPI SHRemovePersonalPropertyValues(IShellItemArray *psia);") 1507cpp_quote(" SHSTDAPI SHAddDefaultPropertiesByExt(PCWSTR pszExt, IPropertyStore *pPropStore);") 1508cpp_quote(" SHSTDAPI SHCreateDefaultPropertiesOp(IShellItem *psi, IFileOperation **ppFileOp);") 1509cpp_quote(" SHSTDAPI SHSetDefaultProperties(HWND hwnd, IShellItem *psi, DWORD dwFileOpFlags, IFileOperationProgressSink *pfops);") 1510cpp_quote("#endif") 1511 1512cpp_quote("") 1513[object, uuid (9af64809-5864-4c26-a720-c1f78c086ee3), pointer_default (unique)] 1514interface ICategoryProvider : IUnknown { 1515 HRESULT CanCategorizeOnSCID ([in] const SHCOLUMNID *pscid); 1516 HRESULT GetDefaultCategory ([out] GUID *pguid,[out] SHCOLUMNID *pscid); 1517 HRESULT GetCategoryForSCID ([in] const SHCOLUMNID *pscid,[out] GUID *pguid); 1518 HRESULT EnumCategories ([out] IEnumGUID **penum); 1519 HRESULT GetCategoryName ([in] const GUID *pguid,[out, string, size_is (cch)] LPWSTR pszName,[in] UINT cch); 1520 HRESULT CreateCategory ([in] const GUID *pguid,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1521} 1522 1523cpp_quote("") 1524typedef [v1_enum] enum CATEGORYINFO_FLAGS { 1525 CATINFO_NORMAL = 0x00000000, 1526 CATINFO_COLLAPSED = 0x00000001, 1527 CATINFO_HIDDEN = 0x00000002, 1528 CATINFO_EXPANDED = 0x00000004, 1529 CATINFO_NOHEADER = 0x00000008, 1530 CATINFO_NOTCOLLAPSIBLE = 0x00000010, 1531 CATINFO_NOHEADERCOUNT = 0x00000020, 1532 CATINFO_SUBSETTED = 0x00000040 1533} CATEGORYINFO_FLAGS; 1534 1535cpp_quote("") 1536cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CATEGORYINFO_FLAGS)") 1537 1538cpp_quote("") 1539typedef [v1_enum] enum CATSORT_FLAGS { 1540 CATSORT_DEFAULT = 0x00000000, 1541 CATSORT_NAME = 0x00000001, 1542} CATSORT_FLAGS; 1543cpp_quote("") 1544cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CATSORT_FLAGS)") 1545 1546cpp_quote("") 1547typedef struct CATEGORY_INFO { 1548 CATEGORYINFO_FLAGS cif; 1549 WCHAR wszName[260]; 1550} CATEGORY_INFO; 1551 1552cpp_quote("") 1553[object, uuid (a3b14589-9174-49a8-89a3-06a1ae2b9ba7), pointer_default (unique)] 1554interface ICategorizer : IUnknown { 1555 HRESULT GetDescription ([out, string, size_is (cch)] LPWSTR pszDesc,[in] UINT cch); 1556 HRESULT GetCategory ([in] UINT cidl,[in, size_is (cidl)] PCUITEMID_CHILD_ARRAY apidl,[out, size_is (cidl)] DWORD *rgCategoryIds); 1557 HRESULT GetCategoryInfo ([in] DWORD dwCategoryId,[out] CATEGORY_INFO *pci); 1558 HRESULT CompareCategory ([in] CATSORT_FLAGS csfFlags,[in] DWORD dwCategoryId1,[in] DWORD dwCategoryId2); 1559} 1560 1561cpp_quote("") 1562cpp_quote("#include <pshpack8.h>") 1563typedef struct SHDRAGIMAGE { 1564 SIZE sizeDragImage; 1565 POINT ptOffset; 1566 HBITMAP hbmpDragImage; 1567 COLORREF crColorKey; 1568} SHDRAGIMAGE,*LPSHDRAGIMAGE; 1569cpp_quote("#include <poppack.h>") 1570 1571cpp_quote("") 1572cpp_quote("#define DI_GETDRAGIMAGE TEXT(\"ShellGetDragImage\")") 1573 1574cpp_quote("") 1575[local, uuid (4657278b-411b-11d2-839a-00c04fd918d0), pointer_default (unique)] 1576interface IDropTargetHelper : IUnknown { 1577 HRESULT DragEnter ([in] HWND hwndTarget,[in] IDataObject *pDataObject,[in] POINT *ppt,[in] DWORD dwEffect); 1578 HRESULT DragLeave (); 1579 HRESULT DragOver ([in] POINT *ppt,[in] DWORD dwEffect); 1580 HRESULT Drop ([in] IDataObject *pDataObject,[in] POINT *ppt,[in] DWORD dwEffect); 1581 HRESULT Show ([in] BOOL fShow); 1582} 1583 1584cpp_quote("") 1585[local, uuid (DE5BF786-477a-11d2-839d-00c04fd918d0), pointer_default (unique)] 1586interface IDragSourceHelper: IUnknown { 1587 HRESULT InitializeFromBitmap ([in] LPSHDRAGIMAGE pshdi,[in] IDataObject *pDataObject); 1588 HRESULT InitializeFromWindow ([in, unique] HWND hwnd,[in, unique] POINT *ppt,[in] IDataObject *pDataObject); 1589} 1590 1591cpp_quote("") 1592cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1593typedef [v1_enum] enum DSH_FLAGS { 1594 DSH_ALLOWDROPDESCRIPTIONTEXT = 0x0001, 1595} DSH_FLAGS; 1596cpp_quote("") 1597cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DSH_FLAGS)") 1598 1599cpp_quote("") 1600[uuid (83e07d0d-0c5f-4163-BF1A-60b274051e40), local, pointer_default (unique)] 1601interface IDragSourceHelper2 : IDragSourceHelper { 1602 HRESULT SetFlags ([in] DWORD dwFlags); 1603} 1604cpp_quote("#endif") 1605 1606cpp_quote("") 1607cpp_quote("#define IShellLink __MINGW_NAME_AW(IShellLink)") 1608 1609cpp_quote("") 1610typedef [v1_enum] enum SLR_FLAGS { 1611 SLR_NO_UI = 0x0001, 1612 SLR_ANY_MATCH = 0x0002, 1613 SLR_UPDATE = 0x0004, 1614 SLR_NOUPDATE = 0x0008, 1615 SLR_NOSEARCH = 0x0010, 1616 SLR_NOTRACK = 0x0020, 1617 SLR_NOLINKINFO = 0x0040, 1618 SLR_INVOKE_MSI = 0x0080, 1619 SLR_NO_UI_WITH_MSG_PUMP = 0x0101, 1620 SLR_OFFER_DELETE_WITHOUT_FILE = 0x0200, 1621 SLR_KNOWNFOLDER = 0x0400, 1622 SLR_MACHINE_IN_LOCAL_TARGET = 0x0800, 1623 SLR_UPDATE_MACHINE_AND_SID = 0x1000 1624} SLR_FLAGS; 1625cpp_quote("") 1626cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SLR_FLAGS)") 1627 1628cpp_quote("") 1629typedef [v1_enum] enum SLGP_FLAGS { 1630 SLGP_SHORTPATH = 0x0001, 1631 SLGP_UNCPRIORITY = 0x0002, 1632 SLGP_RAWPATH = 0x0004, 1633 SLGP_RELATIVEPRIORITY = 0x0008 1634} SLGP_FLAGS; 1635cpp_quote("") 1636cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SLGP_FLAGS)") 1637 1638cpp_quote("") 1639[object, uuid (000214ee-0000-0000-C000-000000000046), pointer_default (unique)] 1640interface IShellLinkA : IUnknown { 1641 HRESULT GetPath ([out, string, size_is (cch)] LPSTR pszFile,[in] int cch,[in, out, unique] WIN32_FIND_DATAA *pfd,[in] DWORD fFlags); 1642 HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl); 1643 HRESULT SetIDList ([in] PCIDLIST_ABSOLUTE pidl); 1644 HRESULT GetDescription ([out, string, size_is (cch)] LPSTR pszName,[in] int cch); 1645 HRESULT SetDescription ([in, string] LPCSTR pszName); 1646 HRESULT GetWorkingDirectory ([out, string, size_is (cch)] LPSTR pszDir,[in] int cch); 1647 HRESULT SetWorkingDirectory ([in, string] LPCSTR pszDir); 1648 HRESULT GetArguments ([out, string, size_is (cch)] LPSTR pszArgs,[in] int cch); 1649 HRESULT SetArguments ([in, string] LPCSTR pszArgs); 1650 HRESULT GetHotkey ([out] WORD *pwHotkey); 1651 HRESULT SetHotkey ([in] WORD wHotkey); 1652 HRESULT GetShowCmd ([out] int *piShowCmd); 1653 HRESULT SetShowCmd ([in] int iShowCmd); 1654 HRESULT GetIconLocation ([out, string, size_is (cch)] LPSTR pszIconPath,[in] int cch,[out] int *piIcon); 1655 HRESULT SetIconLocation ([in, string] LPCSTR pszIconPath,[in] int iIcon); 1656 HRESULT SetRelativePath ([in, string] LPCSTR pszPathRel,[in] DWORD dwReserved); 1657 HRESULT Resolve ([in, unique] HWND hwnd,[in] DWORD fFlags); 1658 HRESULT SetPath ([in, string] LPCSTR pszFile); 1659} 1660 1661cpp_quote("") 1662[object, uuid (000214f9-0000-0000-C000-000000000046), pointer_default (unique)] 1663interface IShellLinkW : IUnknown { 1664 HRESULT GetPath ([out, string, size_is (cch)] LPWSTR pszFile,[in] int cch,[in, out, unique] WIN32_FIND_DATAW *pfd,[in] DWORD fFlags); 1665 HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl); 1666 HRESULT SetIDList ([in, unique] PCIDLIST_ABSOLUTE pidl); 1667 HRESULT GetDescription ([out, string, size_is (cch)] LPWSTR pszName, int cch); 1668 HRESULT SetDescription ([in, string] LPCWSTR pszName); 1669 HRESULT GetWorkingDirectory ([out, string, size_is (cch)] LPWSTR pszDir, int cch); 1670 HRESULT SetWorkingDirectory ([in, string] LPCWSTR pszDir); 1671 HRESULT GetArguments ([out, string, size_is (cch)] LPWSTR pszArgs,[in] int cch); 1672 HRESULT SetArguments ([in, string] LPCWSTR pszArgs); 1673 HRESULT GetHotkey ([out] WORD *pwHotkey); 1674 HRESULT SetHotkey ([in] WORD wHotkey); 1675 HRESULT GetShowCmd ([out] int *piShowCmd); 1676 HRESULT SetShowCmd ([in] int iShowCmd); 1677 HRESULT GetIconLocation ([out, string, size_is (cch)] LPWSTR pszIconPath,[in] int cch,[out] int *piIcon); 1678 HRESULT SetIconLocation ([in, string] LPCWSTR pszIconPath,[in] int iIcon); 1679 HRESULT SetRelativePath ([in, string] LPCWSTR pszPathRel,[in] DWORD dwReserved); 1680 HRESULT Resolve ([in, unique] HWND hwnd,[in] DWORD fFlags); 1681 HRESULT SetPath ([in, string] LPCWSTR pszFile); 1682} 1683 1684cpp_quote("") 1685[object, uuid (45e2b4ae-b1c3-11d0-b92f-00a0c90312e1), pointer_default (unique)] 1686interface IShellLinkDataList : IUnknown { 1687 [local] HRESULT AddDataBlock ([in] void *pDataBlock); 1688 [local] HRESULT CopyDataBlock ([in] DWORD dwSig,[out] void **ppDataBlock); 1689 HRESULT RemoveDataBlock ([in] DWORD dwSig); 1690 HRESULT GetFlags ([out] DWORD *pdwFlags); 1691 HRESULT SetFlags ([in] DWORD dwFlags); 1692} 1693 1694cpp_quote("") 1695[object, uuid (5cd52983-9449-11d2-963a-00c04f79adf0), pointer_default (unique)] 1696interface IResolveShellLink : IUnknown { 1697 HRESULT ResolveShellLink ([in] IUnknown *punkLink,[in, unique] HWND hwnd,[in] DWORD fFlags); 1698} 1699 1700cpp_quote("") 1701[object, uuid (49ff1172-eadc-446d-9285-156453a6431c), pointer_default (unique)] 1702interface IActionProgressDialog : IUnknown { 1703 [v1_enum] enum _SPINITF { 1704 SPINITF_NORMAL = 0x00000000, 1705 SPINITF_MODAL = 0x00000001, 1706 SPINITF_NOMINIMIZE = 0x00000008, 1707 }; 1708cpp_quote("") 1709 typedef DWORD SPINITF; 1710cpp_quote("") 1711 HRESULT Initialize ([in] SPINITF flags,[in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszCancel); 1712 HRESULT Stop (); 1713} 1714 1715cpp_quote("") 1716[object, uuid (C1FB73D0-EC3A-4ba2-B512-8cdb9187b6d1), pointer_default (unique)] 1717interface IHWEventHandler : IUnknown { 1718 HRESULT Initialize ([in, string] LPCWSTR pszParams); 1719 HRESULT HandleEvent ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType); 1720 HRESULT HandleEventWithContent ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType,[in, string] LPCWSTR pszContentTypeHandler,[in] IDataObject *pdataobject); 1721} 1722 1723cpp_quote("") 1724[object, uuid (CFCC809F-295d-42e8-9ffc-424b33c487e6), pointer_default (unique)] 1725interface IHWEventHandler2 : IHWEventHandler { 1726 HRESULT HandleEventWithHWND ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType,[in] HWND hwndOwner); 1727} 1728 1729cpp_quote("") 1730cpp_quote("#define ARCONTENT_AUTORUNINF 0x00000002") 1731cpp_quote("#define ARCONTENT_AUDIOCD 0x00000004") 1732cpp_quote("#define ARCONTENT_DVDMOVIE 0x00000008") 1733cpp_quote("#define ARCONTENT_BLANKCD 0x00000010") 1734cpp_quote("#define ARCONTENT_BLANKDVD 0x00000020") 1735cpp_quote("#define ARCONTENT_UNKNOWNCONTENT 0x00000040") 1736cpp_quote("#define ARCONTENT_AUTOPLAYPIX 0x00000080") 1737cpp_quote("#define ARCONTENT_AUTOPLAYMUSIC 0x00000100") 1738cpp_quote("#define ARCONTENT_AUTOPLAYVIDEO 0x00000200") 1739 1740cpp_quote("") 1741cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1742cpp_quote("#define ARCONTENT_VCD 0x00000400") 1743cpp_quote("#define ARCONTENT_SVCD 0x00000800") 1744cpp_quote("#define ARCONTENT_DVDAUDIO 0x00001000") 1745cpp_quote("#define ARCONTENT_BLANKBD 0x00002000") 1746cpp_quote("#define ARCONTENT_BLURAY 0x00004000") 1747cpp_quote("#define ARCONTENT_CAMERASTORAGE 0x00008000") 1748cpp_quote("#define ARCONTENT_CUSTOMEVENT 0x00010000") 1749cpp_quote("#define ARCONTENT_NONE 0x00000000") 1750cpp_quote("#define ARCONTENT_MASK 0x0001FFFE") 1751cpp_quote("") 1752cpp_quote("#define ARCONTENT_PHASE_UNKNOWN 0x00000000") 1753cpp_quote("#define ARCONTENT_PHASE_PRESNIFF 0x10000000") 1754cpp_quote("#define ARCONTENT_PHASE_SNIFFING 0x20000000") 1755cpp_quote("#define ARCONTENT_PHASE_FINAL 0x40000000") 1756cpp_quote("#define ARCONTENT_PHASE_MASK 0x70000000") 1757cpp_quote("#endif") 1758 1759cpp_quote("") 1760[object, uuid (DDEFE873-6997-4e68-BE26-39b633adbe12), pointer_default (unique)] 1761interface IQueryCancelAutoPlay : IUnknown { 1762 HRESULT AllowAutoPlay ([in, string] LPCWSTR pszPath,[in] DWORD dwContentType,[in, string] LPCWSTR pszLabel,[in] DWORD dwSerialNumber); 1763} 1764 1765cpp_quote("") 1766cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1767[object, uuid (DC2601D7-059e-42fc-A09D-2afd21b6d5f7), pointer_default (unique)] 1768interface IDynamicHWHandler : IUnknown { 1769 HRESULT GetDynamicInfo ([in, string] LPCWSTR pszDeviceID,[in] DWORD dwContentType,[out, string] LPWSTR *ppszAction); 1770} 1771cpp_quote("#endif") 1772 1773cpp_quote("") 1774[object, uuid (49ff1173-eadc-446d-9285-156453a6431c), pointer_default (unique)] 1775interface IActionProgress : IUnknown { 1776 [v1_enum] enum _SPBEGINF { 1777 SPBEGINF_NORMAL = 0x00000000, 1778 SPBEGINF_AUTOTIME = 0x00000002, 1779 SPBEGINF_NOPROGRESSBAR = 0x00000010, 1780 SPBEGINF_MARQUEEPROGRESS = 0x00000020, 1781 SPBEGINF_NOCANCELBUTTON = 0x00000040 1782 }; 1783cpp_quote("") 1784 typedef DWORD SPBEGINF; 1785cpp_quote("") 1786 typedef [v1_enum] enum _SPACTION { 1787 SPACTION_NONE = 0, 1788 SPACTION_MOVING, 1789 SPACTION_COPYING, 1790 SPACTION_RECYCLING, 1791 SPACTION_APPLYINGATTRIBS, 1792 SPACTION_DOWNLOADING, 1793 SPACTION_SEARCHING_INTERNET, 1794 SPACTION_CALCULATING, 1795 SPACTION_UPLOADING, 1796 SPACTION_SEARCHING_FILES, 1797 SPACTION_DELETING, 1798 SPACTION_RENAMING, 1799 SPACTION_FORMATTING, 1800 SPACTION_COPY_MOVING 1801 } SPACTION; 1802cpp_quote("") 1803 typedef [v1_enum] enum _SPTEXT { 1804 SPTEXT_ACTIONDESCRIPTION = 1, 1805 SPTEXT_ACTIONDETAIL 1806 } SPTEXT; 1807cpp_quote("") 1808 HRESULT Begin ([in] SPACTION action,[in] SPBEGINF flags); 1809 HRESULT UpdateProgress ([in] ULONGLONG ulCompleted,[in] ULONGLONG ulTotal); 1810 HRESULT UpdateText ([in] SPTEXT sptext,[in, string] LPCWSTR pszText,[in] BOOL fMayCompact); 1811 HRESULT QueryCancel ([out] BOOL *pfCancelled); 1812 HRESULT ResetCancel (); 1813 HRESULT End (); 1814} 1815 1816cpp_quote("") 1817[object, local, uuid (000214e8-0000-0000-c000-000000000046), pointer_default (unique)] 1818interface IShellExtInit : IUnknown { 1819 HRESULT Initialize ([in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in, unique] IDataObject *pdtobj,[in, unique] HKEY hkeyProgID); 1820} 1821typedef IShellExtInit *LPSHELLEXTINIT; 1822 1823cpp_quote("") 1824[object, local, uuid (000214e9-0000-0000-c000-000000000046), pointer_default (unique)] 1825interface IShellPropSheetExt : IUnknown { 1826 [v1_enum] enum _EXPPS { 1827 EXPPS_FILETYPES = 0x00000001, 1828 }; 1829cpp_quote("") 1830 typedef UINT EXPPS; 1831cpp_quote("") 1832 HRESULT AddPages ([in] LPFNSVADDPROPSHEETPAGE pfnAddPage,[in] LPARAM lParam); 1833 HRESULT ReplacePage ([in] EXPPS uPageID,[in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith,[in] LPARAM lParam); 1834} 1835typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; 1836 1837cpp_quote("") 1838[object, uuid (000214fe-0000-0000-C000-000000000046), pointer_default (unique)] 1839interface IRemoteComputer : IUnknown { 1840 HRESULT Initialize ([in, string] LPCWSTR pszMachine,[in] BOOL bEnumerating); 1841} 1842 1843cpp_quote("") 1844[object, uuid (7307055c-b24a-486b-9f25-163e597a28a9), pointer_default (unique)] 1845interface IQueryContinue : IUnknown { 1846 HRESULT QueryContinue (); 1847} 1848 1849cpp_quote("") 1850[object, local, uuid (F279B885-0ae9-4b85-ac06-ddecf9408941), pointer_default (unique)] 1851interface IObjectWithCancelEvent : IUnknown { 1852 HRESULT GetCancelEvent ([out] HANDLE *phEvent); 1853} 1854 1855cpp_quote("") 1856[object, uuid (ba9711ba-5893-4787-a7e1-41277151550b), pointer_default (unique)] 1857interface IUserNotification : IUnknown { 1858 HRESULT SetBalloonInfo ([in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszText,[in] DWORD dwInfoFlags); 1859 HRESULT SetBalloonRetry ([in] DWORD dwShowTime,[in] DWORD dwInterval,[in] UINT cRetryCount); 1860 HRESULT SetIconInfo ([in, unique] HICON hIcon,[in, unique, string] LPCWSTR pszToolTip); 1861 HRESULT Show ([in, unique] IQueryContinue *pqc,[in] DWORD dwContinuePollInterval); 1862 HRESULT PlaySound ([in, string] LPCWSTR pszSoundName); 1863} 1864 1865cpp_quote("") 1866[object, uuid (19108294-0441-4aff-8013-FA0A730B0BEA)] 1867interface IUserNotificationCallback : IUnknown { 1868 HRESULT OnBalloonUserClick ([in] POINT *pt); 1869 HRESULT OnLeftClick ([in] POINT *pt); 1870 HRESULT OnContextMenu ([in] POINT *pt); 1871} 1872 1873cpp_quote("") 1874[object, uuid (215913cc-57eb-4fab-AB5A-E5FA7BEA2A6C), pointer_default (unique)] 1875interface IUserNotification2 : IUnknown { 1876 HRESULT SetBalloonInfo ([in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszText,[in] DWORD dwInfoFlags); 1877 HRESULT SetBalloonRetry ([in] DWORD dwShowTime,[in] DWORD dwInterval,[in] UINT cRetryCount); 1878 HRESULT SetIconInfo ([in, unique] HICON hIcon,[in, unique, string] LPCWSTR pszToolTip); 1879 HRESULT Show ([in, unique] IQueryContinue *pqc,[in] DWORD dwContinuePollInterval,[in, unique] IUserNotificationCallback *pSink); 1880 HRESULT PlaySound ([in, string] LPCWSTR pszSoundName); 1881} 1882 1883cpp_quote("") 1884[uuid (1df0d7f1-b267-4d28-8b10-12e23202a5c4)] 1885interface IItemNameLimits : IUnknown { 1886 HRESULT GetValidCharacters ([out, string] LPWSTR *ppwszValidChars,[out, string] LPWSTR *ppwszInvalidChars); 1887 HRESULT GetMaxLength ([in, string] LPCWSTR pszName,[out] int *piMaxNameLen); 1888} 1889 1890cpp_quote("") 1891cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 1892 1893interface ICondition; 1894 1895cpp_quote("") 1896[object, uuid (a0ffbc28-5482-4366-be27-3e81e78e06c2), pointer_default (unique)] 1897interface ISearchFolderItemFactory : IUnknown { 1898 HRESULT SetDisplayName ([in, string] LPCWSTR pszDisplayName); 1899 HRESULT SetFolderTypeID ([in] FOLDERTYPEID ftid); 1900 HRESULT SetFolderLogicalViewMode ([in] FOLDERLOGICALVIEWMODE flvm); 1901 HRESULT SetIconSize ([in] int iIconSize); 1902 HRESULT SetVisibleColumns ([in] UINT cVisibleColumns,[in, size_is (cVisibleColumns)] PROPERTYKEY *rgKey); 1903 HRESULT SetSortColumns ([in] UINT cSortColumns,[in, size_is (cSortColumns)] SORTCOLUMN *rgSortColumns); 1904 HRESULT SetGroupColumn ([in] REFPROPERTYKEY keyGroup); 1905 HRESULT SetStacks ([in] UINT cStackKeys,[in, size_is (cStackKeys)] PROPERTYKEY *rgStackKeys); 1906 HRESULT SetScope ([in] IShellItemArray *psiaScope); 1907 HRESULT SetCondition ([in] ICondition *pCondition); 1908 HRESULT GetShellItem ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 1909 HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl); 1910} 1911cpp_quote("#endif") 1912 1913cpp_quote("") 1914cpp_quote("#define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY") 1915cpp_quote("#define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY") 1916cpp_quote("#define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY") 1917cpp_quote("") 1918cpp_quote("#define IEIFLAG_ASYNC 0x0001") 1919cpp_quote("#define IEIFLAG_CACHE 0x0002") 1920cpp_quote("#define IEIFLAG_ASPECT 0x0004") 1921cpp_quote("#define IEIFLAG_OFFLINE 0x0008") 1922cpp_quote("#define IEIFLAG_GLEAM 0x0010") 1923cpp_quote("#define IEIFLAG_SCREEN 0x0020") 1924cpp_quote("#define IEIFLAG_ORIGSIZE 0x0040") 1925cpp_quote("#define IEIFLAG_NOSTAMP 0x0080") 1926cpp_quote("#define IEIFLAG_NOBORDER 0x0100") 1927cpp_quote("#define IEIFLAG_QUALITY 0x0200") 1928cpp_quote("#define IEIFLAG_REFRESH 0x0400") 1929 1930cpp_quote("") 1931[object, uuid (bb2E617c-0920-11d1-9a0b-00c04fc2d6c1), pointer_default (unique)] 1932interface IExtractImage : IUnknown { 1933 HRESULT GetLocation ([out, string, size_is (cch)] LPWSTR pszPathBuffer,[in] DWORD cch,[in, out, unique] DWORD *pdwPriority,[in] const SIZE *prgSize,[in] DWORD dwRecClrDepth,[in, out] DWORD *pdwFlags); 1934 HRESULT Extract ([out] HBITMAP *phBmpThumbnail); 1935} 1936typedef IExtractImage *LPEXTRACTIMAGE; 1937 1938cpp_quote("") 1939[object, uuid (953bb1ee-93b4-11d1-98a3-00c04fb687da), pointer_default (unique)] 1940interface IExtractImage2 : IExtractImage { 1941 HRESULT GetDateStamp ([out] FILETIME *pDateStamp); 1942} 1943typedef IExtractImage2 *LPEXTRACTIMAGE2; 1944 1945cpp_quote("") 1946[object, uuid (e35b4b2e-00da-4bc1-9f13-38bc11f5d417), pointer_default (unique)] 1947interface IThumbnailHandlerFactory : IUnknown { 1948 HRESULT GetThumbnailHandler ([in] PCUITEMID_CHILD pidlChild,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 1949} 1950 1951cpp_quote("") 1952[object, uuid (b3a4b685-b685-4805-99d9-5dead2873236), pointer_default (unique)] 1953interface IParentAndItem : IUnknown { 1954 HRESULT SetParentAndItem ([in, unique] PCIDLIST_ABSOLUTE pidlParent,[in, unique] IShellFolder *psf,[in] PCUITEMID_CHILD pidlChild); 1955 [local] 1956 HRESULT GetParentAndItem ([out] PIDLIST_ABSOLUTE *ppidlParent,[out] IShellFolder **ppsf,[out] PITEMID_CHILD *ppidlChild); 1957 [call_as (GetParentAndItem)] 1958 HRESULT RemoteGetParentAndItem ([out] PIDLIST_ABSOLUTE *ppidlParent,[out] IShellFolder **ppsf,[out] PITEMID_CHILD *ppidlChild); 1959} 1960 1961cpp_quote("") 1962[object, uuid (012dd920-7b26-11d0-8ca9-00a0c92dbfe8)] 1963interface IDockingWindow : IOleWindow { 1964 HRESULT ShowDW ([in] BOOL fShow); 1965 HRESULT CloseDW ([in] DWORD dwReserved); 1966 HRESULT ResizeBorderDW ([in, unique] LPCRECT prcBorder,[in, unique] IUnknown *punkToolbarSite,[in] BOOL fReserved); 1967} 1968 1969cpp_quote("") 1970cpp_quote("#define DBIM_MINSIZE 0x0001") 1971cpp_quote("#define DBIM_MAXSIZE 0x0002") 1972cpp_quote("#define DBIM_INTEGRAL 0x0004") 1973cpp_quote("#define DBIM_ACTUAL 0x0008") 1974cpp_quote("#define DBIM_TITLE 0x0010") 1975cpp_quote("#define DBIM_MODEFLAGS 0x0020") 1976cpp_quote("#define DBIM_BKCOLOR 0x0040") 1977 1978cpp_quote("") 1979cpp_quote("#include <pshpack8.h>") 1980typedef struct DESKBANDINFO { 1981 DWORD dwMask; 1982 POINTL ptMinSize; 1983 POINTL ptMaxSize; 1984 POINTL ptIntegral; 1985 POINTL ptActual; 1986 WCHAR wszTitle[256]; 1987 DWORD dwModeFlags; 1988 COLORREF crBkgnd; 1989} DESKBANDINFO; 1990cpp_quote("#include <poppack.h>") 1991 1992cpp_quote("") 1993cpp_quote("#define DBIMF_NORMAL 0x0000") 1994cpp_quote("#define DBIMF_FIXED 0x0001") 1995cpp_quote("#define DBIMF_FIXEDBMP 0x0004") 1996cpp_quote("#define DBIMF_VARIABLEHEIGHT 0x0008") 1997cpp_quote("#define DBIMF_UNDELETEABLE 0x0010") 1998cpp_quote("#define DBIMF_DEBOSSED 0x0020") 1999cpp_quote("#define DBIMF_BKCOLOR 0x0040") 2000cpp_quote("#define DBIMF_USECHEVRON 0x0080") 2001cpp_quote("#define DBIMF_BREAK 0x0100") 2002cpp_quote("#define DBIMF_ADDTOFRONT 0x0200") 2003cpp_quote("#define DBIMF_TOPALIGN 0x0400") 2004cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 2005cpp_quote("#define DBIMF_NOGRIPPER 0x0800") 2006cpp_quote("#define DBIMF_ALWAYSGRIPPER 0x1000") 2007cpp_quote("#define DBIMF_NOMARGINS 0x2000") 2008cpp_quote("#endif") 2009cpp_quote("") 2010cpp_quote("#define DBIF_VIEWMODE_NORMAL 0x0000") 2011cpp_quote("#define DBIF_VIEWMODE_VERTICAL 0x0001") 2012cpp_quote("#define DBIF_VIEWMODE_FLOATING 0x0002") 2013cpp_quote("#define DBIF_VIEWMODE_TRANSPARENT 0x0004") 2014 2015cpp_quote("") 2016enum tagDESKBANDCID { 2017 DBID_BANDINFOCHANGED = 0, 2018 DBID_SHOWONLY = 1, 2019 DBID_MAXIMIZEBAND = 2, 2020 DBID_PUSHCHEVRON = 3, 2021 DBID_DELAYINIT = 4, 2022 DBID_FINISHINIT = 5, 2023 DBID_SETWINDOWTHEME = 6, 2024 DBID_PERMITAUTOHIDE = 7, 2025}; 2026 2027cpp_quote("") 2028cpp_quote("#define DBPC_SELECTFIRST (DWORD)-1") 2029cpp_quote("#define DBPC_SELECTLAST (DWORD)-2") 2030cpp_quote("") 2031cpp_quote("#define CGID_DeskBand IID_IDeskBand") 2032 2033cpp_quote("") 2034[object, uuid (EB0FE172-1a3a-11d0-89b3-00a0c90a90ac)] 2035interface IDeskBand : IDockingWindow { 2036 HRESULT GetBandInfo ([in] DWORD dwBandID,[in] DWORD dwViewMode,[in, out] DESKBANDINFO *pdbi); 2037} 2038 2039cpp_quote("") 2040cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 2041[object, uuid (77e425fc-CBF9-4307-BA6A-BB5727745661)] 2042interface IDeskBandInfo : IUnknown { 2043 HRESULT GetDefaultBandWidth ([in] DWORD dwBandID,[in] DWORD dwViewMode,[out] int *pnWidth); 2044} 2045 2046cpp_quote("") 2047[object, uuid (79d16de4-ABEE-4021-8d9d-9169b261d657)] 2048interface IDeskBand2 : IDeskBand { 2049 HRESULT CanRenderComposited ([out] BOOL *pfCanRenderComposited); 2050 HRESULT SetCompositionState ([in] BOOL fCompositionEnabled); 2051 HRESULT GetCompositionState ([out] BOOL *pfCompositionEnabled); 2052} 2053cpp_quote("#endif") 2054 2055cpp_quote("") 2056[object, uuid (56fdf342-FD6D-11d0-958a-006097c9a090)] 2057interface ITaskbarList : IUnknown { 2058 HRESULT HrInit (); 2059 HRESULT AddTab ([in] HWND hwnd); 2060 HRESULT DeleteTab ([in] HWND hwnd); 2061 HRESULT ActivateTab ([in] HWND hwnd); 2062 HRESULT SetActiveAlt ([in] HWND hwnd); 2063} 2064 2065cpp_quote("") 2066[object, uuid (602d4995-B13A-429b-A66E-1935e44f4317)] 2067interface ITaskbarList2 : ITaskbarList { 2068 HRESULT MarkFullscreenWindow ([in] HWND hwnd,[in] BOOL fFullscreen); 2069} 2070 2071cpp_quote("") 2072cpp_quote("#if 0") 2073typedef IUnknown *HIMAGELIST; 2074cpp_quote("#endif") 2075 2076cpp_quote("") 2077typedef [v1_enum] enum THUMBBUTTONFLAGS { 2078 THBF_ENABLED = 0x00000000, 2079 THBF_DISABLED = 0x00000001, 2080 THBF_DISMISSONCLICK = 0x00000002, 2081 THBF_NOBACKGROUND = 0x00000004, 2082 THBF_HIDDEN = 0x00000008, 2083 THBF_NONINTERACTIVE = 0x00000010, 2084} THUMBBUTTONFLAGS; 2085cpp_quote("") 2086cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)") 2087cpp_quote("") 2088 2089cpp_quote("") 2090typedef [v1_enum] enum THUMBBUTTONMASK { 2091 THB_BITMAP = 0x00000001, 2092 THB_ICON = 0x00000002, 2093 THB_TOOLTIP = 0x00000004, 2094 THB_FLAGS = 0x00000008, 2095} THUMBBUTTONMASK; 2096cpp_quote("") 2097cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)") 2098 2099cpp_quote("") 2100cpp_quote("#include <pshpack8.h>") 2101typedef struct THUMBBUTTON { 2102 THUMBBUTTONMASK dwMask; 2103 UINT iId; 2104 UINT iBitmap; 2105 HICON hIcon; 2106 WCHAR szTip[260]; 2107 THUMBBUTTONFLAGS dwFlags; 2108} THUMBBUTTON,*LPTHUMBBUTTON; 2109cpp_quote("#include <poppack.h>") 2110 2111cpp_quote("") 2112cpp_quote("#define THBN_CLICKED 0x1800") 2113 2114cpp_quote("") 2115[object, uuid (ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf)] 2116interface ITaskbarList3 : ITaskbarList2 { 2117 typedef [v1_enum] enum TBPFLAG { 2118 TBPF_NOPROGRESS = 0x00000000, 2119 TBPF_INDETERMINATE = 0x00000001, 2120 TBPF_NORMAL = 0x00000002, 2121 TBPF_ERROR = 0x00000004, 2122 TBPF_PAUSED = 0x00000008 2123 } TBPFLAG; 2124cpp_quote("") 2125cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)") 2126 2127cpp_quote("") 2128 HRESULT SetProgressValue ([in] HWND hwnd,[in] ULONGLONG ullCompleted,[in] ULONGLONG ullTotal); 2129 HRESULT SetProgressState ([in] HWND hwnd,[in] TBPFLAG tbpFlags); 2130 HRESULT RegisterTab ([in] HWND hwndTab,[in] HWND hwndMDI); 2131 HRESULT UnregisterTab ([in] HWND hwndTab); 2132 HRESULT SetTabOrder ([in] HWND hwndTab,[in] HWND hwndInsertBefore); 2133 HRESULT SetTabActive ([in] HWND hwndTab,[in] HWND hwndMDI,[in] DWORD dwReserved); 2134 HRESULT ThumbBarAddButtons ([in] HWND hwnd,[in] UINT cButtons,[in, size_is (cButtons)] LPTHUMBBUTTON pButton); 2135 HRESULT ThumbBarUpdateButtons ([in] HWND hwnd,[in] UINT cButtons,[in, size_is (cButtons)] LPTHUMBBUTTON pButton); 2136 HRESULT ThumbBarSetImageList ([in] HWND hwnd,[in] HIMAGELIST himl); 2137 HRESULT SetOverlayIcon ([in] HWND hwnd,[in] HICON hIcon,[in, unique, string] LPCWSTR pszDescription); 2138 HRESULT SetThumbnailTooltip ([in] HWND hwnd,[in, unique, string] LPCWSTR pszTip); 2139 HRESULT SetThumbnailClip ([in] HWND hwnd,[in] RECT *prcClip); 2140} 2141 2142cpp_quote("") 2143[object, uuid (c43dc798-95d1-4bea-9030-bb99e2983a1a)] 2144interface ITaskbarList4 : ITaskbarList3 { 2145 typedef [v1_enum] enum STPFLAG { 2146 STPF_NONE = 0x00000000, 2147 STPF_USEAPPTHUMBNAILALWAYS = 0x00000001, 2148 STPF_USEAPPTHUMBNAILWHENACTIVE = 0x00000002, 2149 STPF_USEAPPPEEKALWAYS = 0x00000004, 2150 STPF_USEAPPPEEKWHENACTIVE = 0x00000008, 2151 } STPFLAG; 2152cpp_quote("") 2153cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)") 2154cpp_quote("") 2155 HRESULT SetTabProperties ([in] HWND hwndTab,[in] STPFLAG stpFlags); 2156} 2157 2158cpp_quote("") 2159[object, uuid (4cd19ada-25a5-4a32-B3B7-347bee5be36b)] 2160interface IStartMenuPinnedList : IUnknown { 2161 HRESULT RemoveFromList ([in] IShellItem *pitem); 2162} 2163 2164cpp_quote("") 2165[object, uuid (3d73a659-e5d0-4d42-afc0-5121ba425c8d), pointer_default (unique)] 2166interface ICDBurn : IUnknown { 2167 HRESULT GetRecorderDriveLetter ([out, string, size_is (cch)] LPWSTR pszDrive,[in] UINT cch); 2168 HRESULT Burn ([in] HWND hwnd); 2169 HRESULT HasRecordableDrive ([out] BOOL *pfHasRecorder); 2170} 2171 2172cpp_quote("") 2173cpp_quote("#define IDD_WIZEXTN_FIRST 0x5000") 2174cpp_quote("#define IDD_WIZEXTN_LAST 0x5100") 2175 2176cpp_quote("") 2177[local, uuid (88960f5b-422f-4e7b-8013-73415381c3c3)] 2178interface IWizardSite : IUnknown { 2179 HRESULT GetPreviousPage ([out] HPROPSHEETPAGE *phpage); 2180 HRESULT GetNextPage ([out] HPROPSHEETPAGE *phpage); 2181 HRESULT GetCancelledPage ([out] HPROPSHEETPAGE *phpage); 2182} 2183 2184cpp_quote("") 2185cpp_quote("#define SID_WizardSite IID_IWizardSite") 2186 2187cpp_quote("") 2188[local, uuid (c02ea696-86cc-491e-9b23-74394a0444a8)] 2189interface IWizardExtension : IUnknown { 2190 HRESULT AddPages ([out, size_is (cPages)] HPROPSHEETPAGE *aPages,[in] UINT cPages,[out] UINT *pnPagesAdded); 2191 HRESULT GetFirstPage ([out] HPROPSHEETPAGE *phpage); 2192 HRESULT GetLastPage ([out] HPROPSHEETPAGE *phpage); 2193} 2194 2195cpp_quote("") 2196[local, uuid (0e6b3f66-98d1-48c0-a222-fbde74e2fbc5), pointer_default (unique)] 2197interface IWebWizardExtension : IWizardExtension { 2198 HRESULT SetInitialURL ([in, string] LPCWSTR pszURL); 2199 HRESULT SetErrorURL ([in, string] LPCWSTR pszErrorURL); 2200} 2201 2202cpp_quote("") 2203cpp_quote("#define SID_WebWizardHost IID_IWebWizardExtension") 2204cpp_quote("") 2205cpp_quote("#define SHPWHF_NORECOMPRESS 0x00000001") 2206cpp_quote("#define SHPWHF_NONETPLACECREATE 0x00000002") 2207cpp_quote("#define SHPWHF_NOFILESELECTOR 0x00000004") 2208cpp_quote("#define SHPWHF_USEMRU 0x00000008") 2209cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 2210cpp_quote("#define SHPWHF_ANYLOCATION 0x00000100") 2211cpp_quote("#endif") 2212cpp_quote("#define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000") 2213 2214cpp_quote("") 2215interface IXMLDOMDocument; 2216 2217cpp_quote("") 2218[local, uuid (aa9198bb-ccec-472d-beed-19a4f6733f7a), pointer_default (unique)] 2219interface IPublishingWizard : IWizardExtension { 2220 HRESULT Initialize ([in, unique] IDataObject *pdo,[in] DWORD dwOptions,[in, string] LPCWSTR pszServiceScope); 2221 HRESULT GetTransferManifest ([out] HRESULT *phrFromTransfer,[out] IXMLDOMDocument **pdocManifest); 2222} 2223 2224cpp_quote("") 2225[local, uuid (1ea58f02-d55a-411d-b09e-9e65ac21605b)] 2226interface IFolderViewHost : IUnknown { 2227 HRESULT Initialize ([in] HWND hwndParent,[in] IDataObject *pdo,[in] RECT *prc); 2228} 2229 2230cpp_quote("") 2231cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 2232[object, uuid (361bbdc7-e6ee-4e13-be58-58e2240c810f)] 2233interface IExplorerBrowserEvents : IUnknown { 2234 HRESULT OnNavigationPending ([in] PCIDLIST_ABSOLUTE pidlFolder); 2235 HRESULT OnViewCreated ([in] IShellView *psv); 2236 HRESULT OnNavigationComplete ([in] PCIDLIST_ABSOLUTE pidlFolder); 2237 HRESULT OnNavigationFailed ([in] PCIDLIST_ABSOLUTE pidlFolder); 2238} 2239 2240cpp_quote("") 2241typedef [v1_enum] enum EXPLORER_BROWSER_OPTIONS { 2242 EBO_NONE = 0x00000000, 2243 EBO_NAVIGATEONCE = 0x00000001, 2244 EBO_SHOWFRAMES = 0x00000002, 2245 EBO_ALWAYSNAVIGATE = 0x00000004, 2246 EBO_NOTRAVELLOG = 0x00000008, 2247 EBO_NOWRAPPERWINDOW = 0x00000010, 2248 EBO_HTMLSHAREPOINTVIEW = 0x00000020, 2249 EBO_NOBORDER = 0x00000040, 2250 EBO_NOPERSISTVIEWSTATE = 0x00000080, 2251} EXPLORER_BROWSER_OPTIONS; 2252 2253cpp_quote("") 2254cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_OPTIONS)") 2255 2256cpp_quote("") 2257typedef [v1_enum] enum EXPLORER_BROWSER_FILL_FLAGS { 2258 EBF_NONE = 0x0000000, 2259 EBF_SELECTFROMDATAOBJECT = 0x0000100, 2260 EBF_NODROPTARGET = 0x0000200 2261} EXPLORER_BROWSER_FILL_FLAGS; 2262 2263cpp_quote("") 2264cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_FILL_FLAGS)") 2265 2266cpp_quote("") 2267[object, uuid (dfd3b6b5-c10c-4be9-85f6-a66969f402f6)] 2268interface IExplorerBrowser : IUnknown { 2269 [local] HRESULT Initialize ([in] HWND hwndParent,[in] const RECT *prc,[in, unique] const FOLDERSETTINGS *pfs); 2270 HRESULT Destroy (); 2271 [local] HRESULT SetRect ([in, out, unique] HDWP *phdwp,[in] RECT rcBrowser); 2272 HRESULT SetPropertyBag ([in, string] LPCWSTR pszPropertyBag); 2273 HRESULT SetEmptyText ([in, string] LPCWSTR pszEmptyText); 2274 HRESULT SetFolderSettings ([in] const FOLDERSETTINGS *pfs); 2275 HRESULT Advise ([in] IExplorerBrowserEvents *psbe,[out] DWORD *pdwCookie); 2276 HRESULT Unadvise ([in] DWORD dwCookie); 2277 HRESULT SetOptions ([in] EXPLORER_BROWSER_OPTIONS dwFlag); 2278 HRESULT GetOptions ([out] EXPLORER_BROWSER_OPTIONS *pdwFlag); 2279 HRESULT BrowseToIDList ([in] PCUIDLIST_RELATIVE pidl,[in] UINT uFlags); 2280 HRESULT BrowseToObject ([in] IUnknown *punk,[in] UINT uFlags); 2281 HRESULT FillFromObject ([in, unique] IUnknown *punk,[in] EXPLORER_BROWSER_FILL_FLAGS dwFlags); 2282 HRESULT RemoveAll (); 2283 HRESULT GetCurrentView ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 2284} 2285 2286cpp_quote("") 2287[object, uuid (95a391c5-9ed4-4c28-8401-AB9E06719E11)] 2288interface IAccessibleObject : IUnknown { 2289 HRESULT SetAccessibleName ([in, string] LPCWSTR pszName); 2290} 2291cpp_quote("#endif") 2292 2293cpp_quote("") 2294[object, uuid (96e5ae6d-6ae1-4b1c-900c-C6480EAA8828), pointer_default (unique)] 2295interface IResultsFolder : IUnknown { 2296 HRESULT AddItem ([in] IShellItem *psi); 2297 [local] HRESULT AddIDList ([in] PCIDLIST_ABSOLUTE pidl,[out] PITEMID_CHILD *ppidlAdded); 2298 [call_as (AddIDList)] HRESULT RemoteAddIDList ([in] PCIDLIST_ABSOLUTE pidl,[out] PITEMID_CHILD *ppidlAdded); 2299 HRESULT RemoveItem ([in] IShellItem *psi); 2300 HRESULT RemoveIDList ([in] PCIDLIST_ABSOLUTE pidl); 2301 HRESULT RemoveAll (); 2302} 2303 2304cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 2305[object, uuid (2c1c7e2e-2d0e-4059-831e-1e6f82335c2e), pointer_default (unique)] 2306interface IEnumObjects : IUnknown { 2307 [local] HRESULT Next ([in] ULONG celt,[in] REFIID riid,[out, size_is (celt), length_is (*pceltFetched), iid_is (riid)] void **rgelt,[out] ULONG *pceltFetched); 2308 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[in] REFIID riid,[out, size_is (celt), length_is (*pceltFetched), iid_is (riid)] void **rgelt,[out] ULONG *pceltFetched); 2309 HRESULT Skip ([in] ULONG celt); 2310 HRESULT Reset (); 2311 HRESULT Clone ([out] IEnumObjects **ppenum); 2312} 2313 2314cpp_quote("") 2315[v1_enum] enum _OPPROGDLGF { 2316 OPPROGDLG_DEFAULT = 0x00000000, 2317 OPPROGDLG_ENABLEPAUSE = 0x00000080, 2318 OPPROGDLG_ALLOWUNDO = 0x00000100, 2319 OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x00000200, 2320 OPPROGDLG_DONTDISPLAYDESTPATH = 0x00000400, 2321 OPPROGDLG_NOMULTIDAYESTIMATES = 0x00000800, 2322 OPPROGDLG_DONTDISPLAYLOCATIONS = 0x00001000, 2323}; 2324 2325cpp_quote("") 2326typedef DWORD OPPROGDLGF; 2327 2328cpp_quote("") 2329[object, uuid (0c9fb851-E5C9-43eb-A370-F0677B13874C), pointer_default (unique)] 2330interface IOperationsProgressDialog : IUnknown { 2331 [v1_enum] enum _PDMODE { 2332 PDM_DEFAULT = 0x00000000, 2333 PDM_RUN = 0x00000001, 2334 PDM_PREFLIGHT = 0x00000002, 2335 PDM_UNDOING = 0x00000004, 2336 PDM_ERRORSBLOCKING = 0x00000008, 2337 PDM_INDETERMINATE = 0x00000010, 2338 }; 2339cpp_quote("") 2340 typedef DWORD PDMODE; 2341cpp_quote("") 2342 typedef [v1_enum] enum PDOPSTATUS { 2343 PDOPS_RUNNING = 1, 2344 PDOPS_PAUSED = 2, 2345 PDOPS_CANCELLED = 3, 2346 PDOPS_STOPPED = 4, 2347 PDOPS_ERRORS = 5, 2348 } PDOPSTATUS; 2349cpp_quote("") 2350 HRESULT StartProgressDialog ([in, unique] HWND hwndOwner,[in] OPPROGDLGF flags); 2351 HRESULT StopProgressDialog (); 2352 HRESULT SetOperation ([in] SPACTION action); 2353 HRESULT SetMode ([in] PDMODE mode); 2354 HRESULT UpdateProgress ([in] ULONGLONG ullPointsCurrent,[in] ULONGLONG ullPointsTotal,[in] ULONGLONG ullSizeCurrent,[in] ULONGLONG ullSizeTotal,[in] ULONGLONG ullItemsCurrent,[in] ULONGLONG ullItemsTotal); 2355 HRESULT UpdateLocations ([in, unique] IShellItem *psiSource,[in, unique] IShellItem *psiTarget,[in, unique] IShellItem *psiItem); 2356 HRESULT ResetTimer (); 2357 HRESULT PauseTimer (); 2358 HRESULT ResumeTimer (); 2359 HRESULT GetMilliseconds ([out] ULONGLONG *pullElapsed,[out] ULONGLONG *pullRemaining); 2360 HRESULT GetOperationStatus ([out] PDOPSTATUS *popstatus); 2361} 2362 2363cpp_quote("") 2364[object, local, uuid (f5b0bf81-8cb5-4b1b-9449-1a159e0c733c), pointer_default (unique)] 2365interface IIOCancelInformation : IUnknown { 2366 HRESULT SetCancelInformation ([in] DWORD dwThreadID,[in] UINT uMsgCancel); 2367 HRESULT GetCancelInformation ([out] DWORD *pdwThreadID,[out] UINT *puMsgCancel); 2368} 2369 2370cpp_quote("") 2371cpp_quote("#define FOFX_NOSKIPJUNCTIONS 0x00010000") 2372cpp_quote("#define FOFX_PREFERHARDLINK 0x00020000") 2373cpp_quote("#define FOFX_SHOWELEVATIONPROMPT 0x00040000") 2374cpp_quote("#define FOFX_RECYCLEONDELETE 0x00080000") 2375cpp_quote("#define FOFX_EARLYFAILURE 0x00100000") 2376cpp_quote("#define FOFX_PRESERVEFILEEXTENSIONS 0x00200000") 2377cpp_quote("#define FOFX_KEEPNEWERFILE 0x00400000") 2378cpp_quote("#define FOFX_NOCOPYHOOKS 0x00800000") 2379cpp_quote("#define FOFX_NOMINIMIZEBOX 0x01000000") 2380cpp_quote("#define FOFX_MOVEACLSACROSSVOLUMES 0x02000000") 2381cpp_quote("#define FOFX_DONTDISPLAYSOURCEPATH 0x04000000") 2382cpp_quote("#define FOFX_DONTDISPLAYDESTPATH 0x08000000") 2383cpp_quote("#define FOFX_REQUIREELEVATION 0x10000000") 2384cpp_quote("#define FOFX_ADDUNDORECORD 0x20000000") 2385cpp_quote("#define FOFX_COPYASDOWNLOAD 0x40000000") 2386cpp_quote("#define FOFX_DONTDISPLAYLOCATIONS 0x80000000") 2387 2388cpp_quote("") 2389[object, uuid (947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8), pointer_default (unique)] 2390interface IFileOperation : IUnknown { 2391 HRESULT Advise ([in] IFileOperationProgressSink *pfops,[out] DWORD *pdwCookie); 2392 HRESULT Unadvise ([in] DWORD dwCookie); 2393 HRESULT SetOperationFlags ([in] DWORD dwOperationFlags); 2394 HRESULT SetProgressMessage ([in, string] LPCWSTR pszMessage); 2395 HRESULT SetProgressDialog ([in] IOperationsProgressDialog *popd); 2396 HRESULT SetProperties ([in] IPropertyChangeArray *pproparray); 2397 HRESULT SetOwnerWindow ([in] HWND hwndOwner); 2398 HRESULT ApplyPropertiesToItem ([in] IShellItem *psiItem); 2399 HRESULT ApplyPropertiesToItems ([in] IUnknown *punkItems); 2400 HRESULT RenameItem ([in] IShellItem *psiItem,[in, string] LPCWSTR pszNewName,[in, unique] IFileOperationProgressSink *pfopsItem); 2401 HRESULT RenameItems ([in] IUnknown *pUnkItems,[in, string] LPCWSTR pszNewName); 2402 HRESULT MoveItem ([in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in, unique] IFileOperationProgressSink *pfopsItem); 2403 HRESULT MoveItems ([in] IUnknown *punkItems,[in] IShellItem *psiDestinationFolder); 2404 HRESULT CopyItem ([in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszCopyName,[in, unique] IFileOperationProgressSink *pfopsItem); 2405 HRESULT CopyItems ([in] IUnknown *punkItems,[in] IShellItem *psiDestinationFolder); 2406 HRESULT DeleteItem ([in] IShellItem *psiItem,[in, unique] IFileOperationProgressSink *pfopsItem); 2407 HRESULT DeleteItems ([in] IUnknown *punkItems); 2408 HRESULT NewItem ([in] IShellItem *psiDestinationFolder,[in] DWORD dwFileAttributes,[in, string] LPCWSTR pszName,[in, unique, string] LPCWSTR pszTemplateName,[in, unique] IFileOperationProgressSink *pfopsItem); 2409 HRESULT PerformOperations (); 2410 HRESULT GetAnyOperationsAborted ([out] BOOL *pfAnyOperationsAborted); 2411} 2412 2413cpp_quote("") 2414[object, uuid (a6087428-3be3-4d73-b308-7c04a540bf1a), pointer_default (unique)] 2415interface IObjectProvider : IUnknown { 2416 HRESULT QueryObject ([in] REFGUID guidObject,[in] REFIID riid,[out, iid_is (riid)] void **ppvOut); 2417} 2418cpp_quote("#endif") 2419 2420cpp_quote("") 2421[uuid (d92995f8-cf5e-4a76-bf59-ead39ea2b97e)] 2422interface INamespaceWalkCB : IUnknown { 2423 HRESULT FoundItem ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl); 2424 HRESULT EnterFolder ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl); 2425 HRESULT LeaveFolder ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl); 2426 HRESULT InitializeProgressDialog ([out, string] LPWSTR *ppszTitle,[out, string] LPWSTR *ppszCancel); 2427} 2428 2429cpp_quote("") 2430cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 2431[uuid (7ac7492b-c38e-438a-87db-68737844ff70)] 2432interface INamespaceWalkCB2 : INamespaceWalkCB { 2433 HRESULT WalkComplete ([in] HRESULT hr); 2434} 2435cpp_quote("#endif") 2436 2437cpp_quote("") 2438[uuid (57ced8a7-3f4a-432c-9350-30f24483f74f)] 2439interface INamespaceWalk : IUnknown { 2440 typedef [v1_enum] enum NAMESPACEWALKFLAG { 2441 NSWF_DEFAULT = 0x00000000, 2442 NSWF_NONE_IMPLIES_ALL = 0x00000001, 2443 NSWF_ONE_IMPLIES_ALL = 0x00000002, 2444 NSWF_DONT_TRAVERSE_LINKS = 0x00000004, 2445 NSWF_DONT_ACCUMULATE_RESULT = 0x00000008, 2446 NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x00000010, 2447 NSWF_FILESYSTEM_ONLY = 0x00000020, 2448 NSWF_SHOW_PROGRESS = 0x00000040, 2449 NSWF_FLAG_VIEWORDER = 0x00000080, 2450 NSWF_IGNORE_AUTOPLAY_HIDA = 0x00000100, 2451 NSWF_ASYNC = 0x00000200, 2452 NSWF_DONT_RESOLVE_LINKS = 0x00000400, 2453 NSWF_ACCUMULATE_FOLDERS = 0x00000800, 2454 NSWF_DONT_SORT = 0x00001000, 2455 NSWF_USE_TRANSFER_MEDIUM = 0x00002000, 2456 NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS = 0x00004000, 2457 NSWF_ANY_IMPLIES_ALL = 0x00008000, 2458 } NAMESPACEWALKFLAG; 2459 2460cpp_quote("") 2461cpp_quote("#define NSWF_ENUMERATE_BEST_EFFORT 0x00010000") 2462cpp_quote("#define NSWF_TRAVERSE_ONLY_STORAGE 0x00020000") 2463cpp_quote("") 2464cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NAMESPACEWALKFLAG)") 2465cpp_quote("") 2466 HRESULT Walk ([in] IUnknown *punkToWalk,[in] DWORD dwFlags,[in] int cDepth,[in, unique] INamespaceWalkCB *pnswcb); 2467 HRESULT GetIDArrayResult ([out] UINT *pcItems,[out, size_is (,*pcItems)] PIDLIST_ABSOLUTE **prgpidl); 2468} 2469 2470cpp_quote("") 2471cpp_quote(" __forceinline void FreeIDListArray(PIDLIST_RELATIVE *ppidls, UINT cItems) {") 2472cpp_quote(" UINT i;") 2473cpp_quote(" for (i = 0; i < cItems; i++) {") 2474cpp_quote(" CoTaskMemFree(ppidls[i]);") 2475cpp_quote(" }") 2476cpp_quote(" CoTaskMemFree(ppidls);") 2477cpp_quote(" }") 2478cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") 2479cpp_quote(" __forceinline void FreeIDListArrayFull(PIDLIST_ABSOLUTE *ppidls, UINT cItems) {") 2480cpp_quote(" UINT i;") 2481cpp_quote(" for (i = 0; i < cItems; i++)") 2482cpp_quote(" CoTaskMemFree(ppidls[i]);") 2483cpp_quote(" CoTaskMemFree(ppidls);") 2484cpp_quote(" }") 2485cpp_quote(" __forceinline void FreeIDListArrayChild(PITEMID_CHILD *ppidls, UINT cItems) {") 2486cpp_quote(" UINT i;") 2487cpp_quote(" for (i = 0; i < cItems; i++)") 2488cpp_quote(" CoTaskMemFree(ppidls[i]);") 2489cpp_quote(" CoTaskMemFree(ppidls);") 2490cpp_quote(" }") 2491cpp_quote("#else") 2492cpp_quote("#define FreeIDListArrayFull FreeIDListArray") 2493cpp_quote("#define FreeIDListArrayChild FreeIDListArray") 2494cpp_quote("#endif") 2495 2496cpp_quote("") 2497cpp_quote("#define ACDD_VISIBLE 0x1") 2498 2499cpp_quote("") 2500[object, uuid (3cd141f4-3c6a-11d2-BCAA-00c04fd929db), pointer_default (unique)] 2501interface IAutoCompleteDropDown : IUnknown { 2502 HRESULT GetDropDownStatus ([out] DWORD *pdwFlags,[out, string] LPWSTR *ppwszString); 2503 HRESULT ResetEnumerator (); 2504} 2505 2506cpp_quote("") 2507cpp_quote("#include <pshpack8.h>") 2508typedef struct tagBANDSITEINFO { 2509 DWORD dwMask; 2510 DWORD dwState; 2511 DWORD dwStyle; 2512} BANDSITEINFO; 2513cpp_quote("#include <poppack.h>") 2514 2515enum tagBANDSITECID { 2516 BSID_BANDADDED, 2517 BSID_BANDREMOVED, 2518}; 2519 2520cpp_quote("") 2521cpp_quote("#define BSIM_STATE 0x00000001") 2522cpp_quote("#define BSIM_STYLE 0x00000002") 2523cpp_quote("") 2524cpp_quote("#define BSSF_VISIBLE 0x00000001") 2525cpp_quote("#define BSSF_NOTITLE 0x00000002") 2526cpp_quote("#define BSSF_UNDELETEABLE 0x00001000") 2527cpp_quote("") 2528cpp_quote("#define BSIS_AUTOGRIPPER 0x00000000") 2529cpp_quote("#define BSIS_NOGRIPPER 0x00000001") 2530cpp_quote("#define BSIS_ALWAYSGRIPPER 0x00000002") 2531cpp_quote("#define BSIS_LEFTALIGN 0x00000004") 2532cpp_quote("#define BSIS_SINGLECLICK 0x00000008") 2533cpp_quote("#define BSIS_NOCONTEXTMENU 0x00000010") 2534cpp_quote("#define BSIS_NODROPTARGET 0x00000020") 2535cpp_quote("#define BSIS_NOCAPTION 0x00000040") 2536cpp_quote("#define BSIS_PREFERNOLINEBREAK 0x00000080") 2537cpp_quote("#define BSIS_LOCKED 0x00000100") 2538cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 2539cpp_quote("#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200") 2540cpp_quote("#define BSIS_FIXEDORDER 0x00000400") 2541cpp_quote("#endif") 2542 2543cpp_quote("") 2544cpp_quote("#define SID_SBandSite IID_IBandSite") 2545cpp_quote("#define CGID_BandSite IID_IBandSite") 2546 2547cpp_quote("") 2548[object, uuid (4cf504b0-DE96-11d0-8b3f-00a0c911e8e5)] 2549interface IBandSite : IUnknown { 2550 HRESULT AddBand ([in] IUnknown *punk); 2551 HRESULT EnumBands ([in] UINT uBand,[out] DWORD *pdwBandID); 2552 [local] HRESULT QueryBand ([in] DWORD dwBandID,[out] IDeskBand **ppstb,[out] DWORD *pdwState,[out, string, size_is (cchName)] LPWSTR pszName,[in] int cchName); 2553 [call_as (QueryBand)] HRESULT RemoteQueryBand ([in] DWORD dwBandID,[out] IDeskBand **ppstb,[out] DWORD *pdwState,[out, string, size_is (cchName)] LPWSTR pszName,[in] int cchName); 2554 HRESULT SetBandState ([in] DWORD dwBandID,[in] DWORD dwMask,[in] DWORD dwState); 2555 HRESULT RemoveBand ([in] DWORD dwBandID); 2556 HRESULT GetBandObject ([in] DWORD dwBandID,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 2557 HRESULT SetBandSiteInfo ([in] const BANDSITEINFO *pbsinfo); 2558 HRESULT GetBandSiteInfo ([in, out] BANDSITEINFO *pbsinfo); 2559} 2560 2561cpp_quote("") 2562[object, uuid (b4db1657-70d7-485e-8e3e-6fcb5a5c1802), pointer_default (unique)] 2563interface IModalWindow : IUnknown { 2564 [local] HRESULT Show ([in, unique] HWND hwndOwner); 2565 [call_as (Show)] HRESULT RemoteShow ([in, unique] HWND hwndOwner); 2566} 2567 2568cpp_quote("") 2569cpp_quote("#define PROPSTR_EXTENSIONCOMPLETIONSTATE L\"ExtensionCompletionState\"") 2570 2571cpp_quote("") 2572enum tagCDBURNINGEXTENSIONRET { 2573 CDBE_RET_DEFAULT = 0x00000000, 2574 CDBE_RET_DONTRUNOTHEREXTS = 0x00000001, 2575 CDBE_RET_STOPWIZARD = 0x00000002 2576}; 2577 2578cpp_quote("") 2579cpp_quote("#define SID_CDWizardHost IID_ICDBurnExt") 2580 2581cpp_quote("") 2582[v1_enum] enum _CDBE_ACTIONS { 2583 CDBE_TYPE_MUSIC = 0x00000001, 2584 CDBE_TYPE_DATA = 0x00000002, 2585 CDBE_TYPE_ALL = (int) 0xffffffff 2586}; 2587 2588cpp_quote("") 2589typedef DWORD CDBE_ACTIONS; 2590 2591cpp_quote("") 2592[uuid (2271dcca-74fc-4414-8fb7-c56b05ace2d7)] 2593interface ICDBurnExt : IUnknown { 2594 HRESULT GetSupportedActionTypes ([out] CDBE_ACTIONS *pdwActions); 2595} 2596 2597cpp_quote("") 2598[object, uuid (0811aebe-0b87-4c54-9e72-548cf649016b), pointer_default (unique)] 2599interface IContextMenuSite : IUnknown { 2600 HRESULT DoContextMenuPopup ([in] IUnknown *punkContextMenu,[in] UINT fFlags,[in] POINT pt); 2601} 2602 2603cpp_quote("") 2604[object, local, uuid (61e00d45-8fff-4e60-924e-6537b61612dd), pointer_default (unique)] 2605interface IEnumReadyCallback : IUnknown { 2606 HRESULT EnumReady (); 2607} 2608 2609cpp_quote("") 2610[uuid (8c8bf236-1aec-495f-9894-91d57c3c686f), local] 2611interface IEnumerableView : IUnknown { 2612 HRESULT SetEnumReadyCallback ([in] IEnumReadyCallback *percb); 2613 HRESULT CreateEnumIDListFromContents ([in] PCIDLIST_ABSOLUTE pidlFolder,[in] DWORD dwEnumFlags,[out] IEnumIDList **ppEnumIDList); 2614} 2615 2616cpp_quote("") 2617cpp_quote("#define SID_EnumerableView IID_IEnumerableView") 2618 2619cpp_quote("") 2620[object, local, uuid (D2B57227-3d23-4b95-93c0-492bd454c356)] 2621interface IInsertItem : IUnknown { 2622 HRESULT InsertItem ([in] PCUIDLIST_RELATIVE pidl); 2623} 2624 2625cpp_quote("") 2626[object, local, uuid (568804cd-CBD7-11d0-9816-00c04fd91972), pointer_default (unique)] 2627interface IMenuBand : IUnknown { 2628 enum tagMENUBANDHANDLERCID { 2629 MBHANDCID_PIDLSELECT = 0, 2630 }; 2631cpp_quote("") 2632 HRESULT IsMenuMessage ([in] MSG *pmsg); 2633 HRESULT TranslateMenuMessage ([in, out] MSG *pmsg,[out] LRESULT *plRet); 2634} 2635 2636cpp_quote("") 2637[object, uuid (47c01f95-e185-412c-b5c5-4f27df965aea), pointer_default (unique)] 2638interface IFolderBandPriv : IUnknown { 2639 HRESULT SetCascade ([in] BOOL fCascade); 2640 HRESULT SetAccelerators ([in] BOOL fAccelerators); 2641 HRESULT SetNoIcons ([in] BOOL fNoIcons); 2642 HRESULT SetNoText ([in] BOOL fNoText); 2643} 2644 2645cpp_quote("") 2646[local, uuid (A9521922-0812-4d44-9ec3-7fd38c726f3d)] 2647interface IRegTreeItem : IUnknown { 2648 HRESULT GetCheckState ([out] BOOL *pbCheck); 2649 HRESULT SetCheckState ([in] BOOL bCheck); 2650} 2651 2652cpp_quote("") 2653[object, uuid (505f1513-6b3e-4892-a272-59f8889a4d3e), pointer_default (unique)] 2654interface IImageRecompress : IUnknown { 2655 HRESULT RecompressImage ([in] IShellItem *psi,[in] int cx,[in] int cy,[in] int iQuality,[in] IStorage *pstg,[out] IStream **ppstrmOut); 2656} 2657 2658cpp_quote("") 2659cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60") 2660[object, local, uuid (EB0FE173-1a3a-11d0-89b3-00a0c90a90ac), pointer_default (unique)] 2661interface IDeskBar : IOleWindow { 2662 HRESULT SetClient ([in, unique] IUnknown *punkClient); 2663 HRESULT GetClient ([out] IUnknown **ppunkClient); 2664 HRESULT OnPosRectChangeDB ([in] RECT *prc); 2665} 2666 2667cpp_quote("") 2668[object, local, uuid (D1E7AFEB-6a2e-11d0-8c78-00c04fd918b4), pointer_default (unique)] 2669interface IMenuPopup : IDeskBar { 2670 enum tagMENUPOPUPSELECT { 2671 MPOS_EXECUTE = 0, 2672 MPOS_FULLCANCEL, 2673 MPOS_CANCELLEVEL, 2674 MPOS_SELECTLEFT, 2675 MPOS_SELECTRIGHT, 2676 MPOS_CHILDTRACKING 2677 }; 2678cpp_quote("") 2679 enum tagMENUPOPUPPOPUPFLAGS { 2680 MPPF_SETFOCUS = 0x00000001, 2681 MPPF_INITIALSELECT = 0x00000002, 2682 MPPF_NOANIMATE = 0x00000004, 2683 MPPF_KEYBOARD = 0x00000010, 2684 MPPF_REPOSITION = 0x00000020, 2685 MPPF_FORCEZORDER = 0x00000040, 2686 MPPF_FINALSELECT = 0x00000080, 2687 MPPF_TOP = 0x20000000, 2688 MPPF_LEFT = 0x40000000, 2689 MPPF_RIGHT = 0x60000000, 2690 MPPF_BOTTOM = (int) 0x80000000, 2691 MPPF_POS_MASK = (int) 0xe0000000, 2692 MPPF_ALIGN_LEFT = 0x02000000, 2693 MPPF_ALIGN_RIGHT = 0x04000000 2694 }; 2695cpp_quote("") 2696 typedef int MP_POPUPFLAGS; 2697cpp_quote("") 2698 HRESULT Popup ([in] POINTL *ppt,[in, unique] RECTL *prcExclude,[in] MP_POPUPFLAGS dwFlags); 2699 HRESULT OnSelect ([in] DWORD dwSelectType); 2700 HRESULT SetSubMenu ([in] IMenuPopup *pmp,[in] BOOL fSet); 2701} 2702 2703cpp_quote("#endif") 2704 2705cpp_quote("") 2706cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 2707typedef [v1_enum] enum FILE_USAGE_TYPE { 2708 FUT_PLAYING, 2709 FUT_EDITING, 2710 FUT_GENERIC 2711} FILE_USAGE_TYPE; 2712 2713cpp_quote("") 2714cpp_quote("#define OF_CAP_CANSWITCHTO 0x0001") 2715cpp_quote("#define OF_CAP_CANCLOSE 0x0002") 2716 2717cpp_quote("") 2718[uuid (64a1cbf0-3a1a-4461-9158-376969693950), pointer_default (unique)] 2719interface IFileIsInUse : IUnknown { 2720 HRESULT GetAppName ([out, string] LPWSTR *ppszName); 2721 HRESULT GetUsage ([out] FILE_USAGE_TYPE *pfut); 2722 HRESULT GetCapabilities ([out] DWORD *pdwCapFlags); 2723 HRESULT GetSwitchToHWND ([out] HWND *phwnd); 2724 HRESULT CloseFile (); 2725} 2726 2727cpp_quote("") 2728interface IFileDialog; 2729 2730cpp_quote("") 2731typedef [v1_enum] enum FDE_OVERWRITE_RESPONSE { 2732 FDEOR_DEFAULT = 0, 2733 FDEOR_ACCEPT = 1, 2734 FDEOR_REFUSE = 2 2735} FDE_OVERWRITE_RESPONSE; 2736 2737cpp_quote("") 2738typedef [v1_enum] enum FDE_SHAREVIOLATION_RESPONSE { 2739 FDESVR_DEFAULT = 0, 2740 FDESVR_ACCEPT = 1, 2741 FDESVR_REFUSE = 2 2742} FDE_SHAREVIOLATION_RESPONSE; 2743 2744cpp_quote("") 2745typedef [v1_enum] enum FDAP { 2746 FDAP_BOTTOM = 0, 2747 FDAP_TOP = 1 2748} FDAP; 2749 2750cpp_quote("") 2751[object, uuid (973510db-7d7f-452b-8975-74a85828d354), pointer_default (unique)] 2752interface IFileDialogEvents : IUnknown { 2753 HRESULT OnFileOk ([in] IFileDialog *pfd); 2754 HRESULT OnFolderChanging ([in] IFileDialog *pfd,[in] IShellItem *psiFolder); 2755 HRESULT OnFolderChange ([in] IFileDialog *pfd); 2756 HRESULT OnSelectionChange ([in] IFileDialog *pfd); 2757 HRESULT OnShareViolation ([in] IFileDialog *pfd,[in] IShellItem *psi,[out] FDE_SHAREVIOLATION_RESPONSE *pResponse); 2758 HRESULT OnTypeChange ([in] IFileDialog *pfd); 2759 HRESULT OnOverwrite ([in] IFileDialog *pfd,[in] IShellItem *psi,[out] FDE_OVERWRITE_RESPONSE *pResponse); 2760} 2761 2762cpp_quote("") 2763interface IShellItemFilter; 2764 2765cpp_quote("") 2766[object, uuid (42f85136-db7e-439c-85f1-e4075d135fc8), pointer_default (unique)] 2767interface IFileDialog : IModalWindow { 2768 [v1_enum] enum _FILEOPENDIALOGOPTIONS { 2769 FOS_OVERWRITEPROMPT = 0x00000002, 2770 FOS_STRICTFILETYPES = 0x00000004, 2771 FOS_NOCHANGEDIR = 0x00000008, 2772 FOS_PICKFOLDERS = 0x00000020, 2773 FOS_FORCEFILESYSTEM = 0x00000040, 2774 FOS_ALLNONSTORAGEITEMS = 0x00000080, 2775 FOS_NOVALIDATE = 0x00000100, 2776 FOS_ALLOWMULTISELECT = 0x00000200, 2777 FOS_PATHMUSTEXIST = 0x00000800, 2778 FOS_FILEMUSTEXIST = 0x00001000, 2779 FOS_CREATEPROMPT = 0x00002000, 2780 FOS_SHAREAWARE = 0x00004000, 2781 FOS_NOREADONLYRETURN = 0x00008000, 2782 FOS_NOTESTFILECREATE = 0x00010000, 2783 FOS_HIDEMRUPLACES = 0x00020000, 2784 FOS_HIDEPINNEDPLACES = 0x00040000, 2785 FOS_NODEREFERENCELINKS = 0x00100000, 2786 FOS_DONTADDTORECENT = 0x02000000, 2787 FOS_FORCESHOWHIDDEN = 0x10000000, 2788 FOS_DEFAULTNOMINIMODE = 0x20000000, 2789 FOS_FORCEPREVIEWPANEON = 0x40000000, 2790 FOS_SUPPORTSTREAMABLEITEMS = 0x80000000 2791 }; 2792cpp_quote("") 2793 typedef DWORD FILEOPENDIALOGOPTIONS; 2794cpp_quote("") 2795 HRESULT SetFileTypes ([in] UINT cFileTypes,[in, size_is (cFileTypes)] const COMDLG_FILTERSPEC *rgFilterSpec); 2796 HRESULT SetFileTypeIndex ([in] UINT iFileType); 2797 HRESULT GetFileTypeIndex ([out] UINT *piFileType); 2798 HRESULT Advise ([in] IFileDialogEvents *pfde,[out] DWORD *pdwCookie); 2799 HRESULT Unadvise ([in] DWORD dwCookie); 2800 HRESULT SetOptions ([in] FILEOPENDIALOGOPTIONS fos); 2801 HRESULT GetOptions ([out] FILEOPENDIALOGOPTIONS *pfos); 2802 HRESULT SetDefaultFolder ([in] IShellItem *psi); 2803 HRESULT SetFolder ([in] IShellItem *psi); 2804 HRESULT GetFolder ([out] IShellItem **ppsi); 2805 HRESULT GetCurrentSelection ([out] IShellItem **ppsi); 2806 HRESULT SetFileName ([in, string] LPCWSTR pszName); 2807 HRESULT GetFileName ([out, string] LPWSTR *pszName); 2808 HRESULT SetTitle ([in, string] LPCWSTR pszTitle); 2809 HRESULT SetOkButtonLabel ([in, string] LPCWSTR pszText); 2810 HRESULT SetFileNameLabel ([in, string] LPCWSTR pszLabel); 2811 HRESULT GetResult ([out] IShellItem **ppsi); 2812 HRESULT AddPlace ([in] IShellItem *psi,[in] FDAP fdap); 2813 HRESULT SetDefaultExtension ([in, string] LPCWSTR pszDefaultExtension); 2814 HRESULT Close ([in] HRESULT hr); 2815 HRESULT SetClientGuid ([in] REFGUID guid); 2816 HRESULT ClearClientData (); 2817 HRESULT SetFilter ([in] IShellItemFilter *pFilter); 2818} 2819 2820cpp_quote("") 2821[object, uuid (84bccd23-5fde-4cdb-aea4-af64b83d78ab), pointer_default (unique)] 2822interface IFileSaveDialog : IFileDialog { 2823 HRESULT SetSaveAsItem ([in] IShellItem *psi); 2824 HRESULT SetProperties ([in] IPropertyStore *pStore); 2825 HRESULT SetCollectedProperties ([in] IPropertyDescriptionList *pList,[in] BOOL fAppendDefault); 2826 HRESULT GetProperties ([out] IPropertyStore **ppStore); 2827 HRESULT ApplyProperties ([in] IShellItem *psi,[in] IPropertyStore *pStore,[in, unique] HWND hwnd,[in, unique] IFileOperationProgressSink *pSink); 2828} 2829 2830cpp_quote("") 2831[object, uuid (d57c7288-d4ad-4768-be02-9d969532d960), pointer_default (unique)] 2832interface IFileOpenDialog : IFileDialog { 2833 HRESULT GetResults ([out] IShellItemArray **ppenum); 2834 HRESULT GetSelectedItems ([out] IShellItemArray **ppsai); 2835} 2836 2837cpp_quote("") 2838typedef [v1_enum] enum CDCONTROLSTATEF { 2839 CDCS_INACTIVE = 0x00000000, 2840 CDCS_ENABLED = 0x00000001, 2841 CDCS_VISIBLE = 0x00000002, 2842 CDCS_ENABLEDVISIBLE = 0x00000003, 2843} CDCONTROLSTATEF; 2844 2845cpp_quote("") 2846cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF)") 2847 2848cpp_quote("") 2849[object, uuid (e6fdd21a-163f-4975-9c8c-a69f1ba37034), pointer_default (unique)] 2850interface IFileDialogCustomize : IUnknown { 2851 HRESULT EnableOpenDropDown ([in] DWORD dwIDCtl); 2852 HRESULT AddMenu ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszLabel); 2853 HRESULT AddPushButton ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszLabel); 2854 HRESULT AddComboBox ([in] DWORD dwIDCtl); 2855 HRESULT AddRadioButtonList ([in] DWORD dwIDCtl); 2856 HRESULT AddCheckButton ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszLabel,[in] BOOL bChecked); 2857 HRESULT AddEditBox ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszText); 2858 HRESULT AddSeparator ([in] DWORD dwIDCtl); 2859 HRESULT AddText ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszText); 2860 HRESULT SetControlLabel ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszLabel); 2861 HRESULT GetControlState ([in] DWORD dwIDCtl,[out] CDCONTROLSTATEF *pdwState); 2862 HRESULT SetControlState ([in] DWORD dwIDCtl,[in] CDCONTROLSTATEF dwState); 2863 HRESULT GetEditBoxText ([in] DWORD dwIDCtl,[out, string] WCHAR **ppszText); 2864 HRESULT SetEditBoxText ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszText); 2865 HRESULT GetCheckButtonState ([in] DWORD dwIDCtl,[out] BOOL *pbChecked); 2866 HRESULT SetCheckButtonState ([in] DWORD dwIDCtl,[in] BOOL bChecked); 2867 HRESULT AddControlItem ([in] DWORD dwIDCtl,[in] DWORD dwIDItem,[in] LPCWSTR pszLabel); 2868 HRESULT RemoveControlItem ([in] DWORD dwIDCtl,[in] DWORD dwIDItem); 2869 HRESULT RemoveAllControlItems ([in] DWORD dwIDCtl); 2870 HRESULT GetControlItemState ([in] DWORD dwIDCtl,[in] DWORD dwIDItem,[out] CDCONTROLSTATEF *pdwState); 2871 HRESULT SetControlItemState ([in] DWORD dwIDCtl,[in] DWORD dwIDItem,[in] CDCONTROLSTATEF dwState); 2872 HRESULT GetSelectedControlItem ([in] DWORD dwIDCtl,[out] DWORD *pdwIDItem); 2873 HRESULT SetSelectedControlItem ([in] DWORD dwIDCtl,[in] DWORD dwIDItem); 2874 HRESULT StartVisualGroup ([in] DWORD dwIDCtl,[in, string] LPCWSTR pszLabel); 2875 HRESULT EndVisualGroup (); 2876 HRESULT MakeProminent ([in] DWORD dwIDCtl); 2877 HRESULT SetControlItemText ([in] DWORD dwIDCtl,[in] DWORD dwIDItem,[in, string] LPCWSTR pszLabel); 2878} 2879 2880cpp_quote("") 2881[object, uuid (36116642-D713-4b97-9b83-7484a9d00433), pointer_default (unique)] 2882interface IFileDialogControlEvents : IUnknown { 2883 HRESULT OnItemSelected ([in] IFileDialogCustomize *pfdc,[in] DWORD dwIDCtl,[in] DWORD dwIDItem); 2884 HRESULT OnButtonClicked ([in] IFileDialogCustomize *pfdc,[in] DWORD dwIDCtl); 2885 HRESULT OnCheckButtonToggled ([in] IFileDialogCustomize *pfdc,[in] DWORD dwIDCtl,[in] BOOL bChecked); 2886 HRESULT OnControlActivating ([in] IFileDialogCustomize *pfdc,[in] DWORD dwIDCtl); 2887} 2888 2889cpp_quote("") 2890[object, uuid (61744fc7-85b5-4791-a9b0-272276309b13), pointer_default (unique)] 2891interface IFileDialog2 : IFileDialog { 2892 HRESULT SetCancelButtonLabel ([in] LPCWSTR pszLabel); 2893 HRESULT SetNavigationRoot ([in] IShellItem *psi); 2894} 2895 2896cpp_quote("") 2897typedef [v1_enum] enum ASSOCIATIONLEVEL { 2898 AL_MACHINE, 2899 AL_EFFECTIVE, 2900 AL_USER 2901} ASSOCIATIONLEVEL; 2902 2903cpp_quote("") 2904typedef [v1_enum] enum ASSOCIATIONTYPE { 2905 AT_FILEEXTENSION, 2906 AT_URLPROTOCOL, 2907 AT_STARTMENUCLIENT, 2908 AT_MIMETYPE 2909} ASSOCIATIONTYPE; 2910 2911cpp_quote("") 2912[object, uuid (4e530b0a-e611-4c77-a3ac-9031d022281b), pointer_default (unique)] 2913interface IApplicationAssociationRegistration : IUnknown { 2914 HRESULT QueryCurrentDefault ([in, string] LPCWSTR pszQuery,[in] ASSOCIATIONTYPE atQueryType,[in] ASSOCIATIONLEVEL alQueryLevel,[out, string] LPWSTR *ppszAssociation); 2915 HRESULT QueryAppIsDefault ([in, string] LPCWSTR pszQuery,[in] ASSOCIATIONTYPE atQueryType,[in] ASSOCIATIONLEVEL alQueryLevel,[in, string] LPCWSTR pszAppRegistryName,[out] BOOL *pfDefault); 2916 HRESULT QueryAppIsDefaultAll ([in] ASSOCIATIONLEVEL alQueryLevel,[in, string] LPCWSTR pszAppRegistryName,[out] BOOL *pfDefault); 2917 HRESULT SetAppAsDefault ([in, string] LPCWSTR pszAppRegistryName,[in, string] LPCWSTR pszSet,[in] ASSOCIATIONTYPE atSetType); 2918 HRESULT SetAppAsDefaultAll ([in, string] LPCWSTR pszAppRegistryName); 2919 HRESULT ClearUserAssociations (); 2920} 2921 2922cpp_quote("") 2923cpp_quote("SHSTDAPI SHCreateAssociationRegistration(REFIID riid, void **ppv);") 2924 2925cpp_quote("") 2926[object, uuid (1f76a169-f994-40ac-8fc8-0959e8874710), pointer_default (unique)] 2927interface IApplicationAssociationRegistrationUI : IUnknown { 2928 HRESULT LaunchAdvancedAssociationUI ([in, string] LPCWSTR pszAppRegistryName); 2929} 2930cpp_quote("#endif") 2931 2932cpp_quote("") 2933cpp_quote("#include <pshpack1.h>") 2934typedef struct DELEGATEITEMID { 2935 WORD cbSize; 2936 WORD wOuter; 2937 WORD cbInner; 2938 BYTE rgb[1]; 2939} DELEGATEITEMID; 2940cpp_quote("#include <poppack.h>") 2941 2942cpp_quote("") 2943cpp_quote("typedef const UNALIGNED DELEGATEITEMID *PCDELEGATEITEMID;") 2944cpp_quote("typedef UNALIGNED DELEGATEITEMID *PDELEGATEITEMID;") 2945 2946cpp_quote("") 2947[object, local, uuid (ADD8BA80-002b-11d0-8f0f-00c04fd7d062), pointer_default (unique)] 2948interface IDelegateFolder : IUnknown { 2949 HRESULT SetItemAlloc ([in] IMalloc *pmalloc); 2950} 2951 2952cpp_quote("") 2953cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60") 2954[object, local, uuid (10df43c8-1dbe-11d3-8b34-006097df5bd4)] 2955interface IBrowserFrameOptions : IUnknown { 2956 typedef [unique] IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS; 2957cpp_quote("") 2958 [v1_enum] enum _BROWSERFRAMEOPTIONS { 2959 BFO_NONE = 0x00000000, 2960 BFO_BROWSER_PERSIST_SETTINGS = 0x00000001, 2961 BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x00000002, 2962 BFO_BOTH_OPTIONS = 0x00000004, 2963 BIF_PREFER_INTERNET_SHORTCUT = 0x00000008, 2964 BFO_BROWSE_NO_IN_NEW_PROCESS = 0x00000010, 2965 BFO_ENABLE_HYPERLINK_TRACKING = 0x00000020, 2966 BFO_USE_IE_OFFLINE_SUPPORT = 0x00000040, 2967 BFO_SUBSTITUE_INTERNET_START_PAGE = 0x00000080, 2968 BFO_USE_IE_LOGOBANDING = 0x00000100, 2969 BFO_ADD_IE_TOCAPTIONBAR = 0x00000200, 2970 BFO_USE_DIALUP_REF = 0x00000400, 2971 BFO_USE_IE_TOOLBAR = 0x00000800, 2972 BFO_NO_PARENT_FOLDER_SUPPORT = 0x00001000, 2973 BFO_NO_REOPEN_NEXT_RESTART = 0x00002000, 2974 BFO_GO_HOME_PAGE = 0x00004000, 2975 BFO_PREFER_IEPROCESS = 0x00008000, 2976 BFO_SHOW_NAVIGATION_CANCELLED = 0x00010000, 2977 BFO_USE_IE_STATUSBAR = 0x00020000, 2978 BFO_QUERY_ALL = (int) 0xffffffff 2979 }; 2980cpp_quote("") 2981 typedef DWORD BROWSERFRAMEOPTIONS; 2982cpp_quote("") 2983 HRESULT GetFrameOptions ([in] BROWSERFRAMEOPTIONS dwMask,[out] BROWSERFRAMEOPTIONS *pdwOptions); 2984} 2985cpp_quote("#endif") 2986 2987cpp_quote("") 2988cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2") 2989typedef [v1_enum] enum NWMF { 2990 NWMF_UNLOADING = 0x00000001, 2991 NWMF_USERINITED = 0x00000002, 2992 NWMF_FIRST = 0x00000004, 2993 NWMF_OVERRIDEKEY = 0x00000008, 2994 NWMF_SHOWHELP = 0x00000010, 2995 NWMF_HTMLDIALOG = 0x00000020, 2996 NWMF_FROMDIALOGCHILD = 0x00000040, 2997 NWMF_USERREQUESTED = 0x00000080, 2998 NWMF_USERALLOWED = 0x00000100, 2999 NWMF_FORCEWINDOW = 0x00010000, 3000 NWMF_FORCETAB = 0x00020000, 3001 NWMF_SUGGESTWINDOW = 0x00040000, 3002 NWMF_SUGGESTTAB = 0x00080000, 3003 NWMF_INACTIVETAB = 0x00100000 3004} NWMF; 3005 3006cpp_quote("") 3007cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NWMF)") 3008 3009cpp_quote("") 3010cpp_quote("#define SID_SNewWindowManager IID_INewWindowManager") 3011 3012cpp_quote("") 3013[object, uuid (D2BC4C84-3f72-4a52-A604-7bcbf3982cbb), pointer_default (unique)] 3014interface INewWindowManager : IUnknown { 3015 HRESULT EvaluateNewWindow ([in, string] LPCWSTR pszUrl,[in, string] LPCWSTR pszName,[in, string] LPCWSTR pszUrlContext,[in, string] LPCWSTR pszFeatures,[in] BOOL fReplace,[in] DWORD dwFlags,[in] DWORD dwUserActionTime); 3016} 3017 3018cpp_quote("") 3019[object, local, uuid (73db1241-1e85-4581-8e4f-a81e1d0f8c57), pointer_default (unique)] 3020interface IAttachmentExecute : IUnknown { 3021 typedef [v1_enum] enum ATTACHMENT_PROMPT { 3022 ATTACHMENT_PROMPT_NONE = 0x0000, 3023 ATTACHMENT_PROMPT_SAVE = 0x0001, 3024 ATTACHMENT_PROMPT_EXEC = 0x0002, 3025 ATTACHMENT_PROMPT_EXEC_OR_SAVE = 0x0003 3026 } ATTACHMENT_PROMPT; 3027 3028cpp_quote("") 3029 typedef [v1_enum] enum ATTACHMENT_ACTION { 3030 ATTACHMENT_ACTION_CANCEL = 0x0000, 3031 ATTACHMENT_ACTION_SAVE = 0x0001, 3032 ATTACHMENT_ACTION_EXEC = 0x0002 3033 } ATTACHMENT_ACTION; 3034cpp_quote("") 3035 HRESULT SetClientTitle ([in, string] LPCWSTR pszTitle); 3036 HRESULT SetClientGuid ([in] REFGUID guid); 3037 HRESULT SetLocalPath ([in, string] LPCWSTR pszLocalPath); 3038 HRESULT SetFileName ([in, string] LPCWSTR pszFileName); 3039 HRESULT SetSource ([in, string] LPCWSTR pszSource); 3040 HRESULT SetReferrer ([in, string] LPCWSTR pszReferrer); 3041 HRESULT CheckPolicy (); 3042 HRESULT Prompt ([in] HWND hwnd,[in] ATTACHMENT_PROMPT prompt,[out] ATTACHMENT_ACTION *paction); 3043 HRESULT Save (); 3044 HRESULT Execute ([in] HWND hwnd,[in, string] LPCWSTR pszVerb,[out] HANDLE *phProcess); 3045 HRESULT SaveWithUI ([in] HWND hwnd); 3046 HRESULT ClearClientState (); 3047} 3048cpp_quote("#endif") 3049 3050cpp_quote("") 3051cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60") 3052cpp_quote("") 3053cpp_quote("#include <pshpack8.h>") 3054typedef struct tagSMDATA { 3055 DWORD dwMask; 3056 DWORD dwFlags; 3057 HMENU hmenu; 3058 HWND hwnd; 3059 UINT uId; 3060 UINT uIdParent; 3061 UINT uIdAncestor; 3062 IUnknown *punk; 3063 PIDLIST_ABSOLUTE pidlFolder; 3064 PUITEMID_CHILD pidlItem; 3065 IShellFolder *psf; 3066 void *pvUserData; 3067} SMDATA,*LPSMDATA; 3068cpp_quote("") 3069cpp_quote("#define SMDM_SHELLFOLDER 0x00000001") 3070cpp_quote("#define SMDM_HMENU 0x00000002") 3071cpp_quote("#define SMDM_TOOLBAR 0x00000004") 3072 3073cpp_quote("") 3074typedef struct tagSMINFO { 3075 DWORD dwMask; 3076 DWORD dwType; 3077 DWORD dwFlags; 3078 int iIcon; 3079} SMINFO,*PSMINFO; 3080 3081cpp_quote("") 3082typedef struct SHCSCHANGENOTIFYSTRUCT { 3083 long lEvent; 3084 PCIDLIST_ABSOLUTE pidl1; 3085 PCIDLIST_ABSOLUTE pidl2; 3086} SMCSHCHANGENOTIFYSTRUCT,*PSMCSHCHANGENOTIFYSTRUCT; 3087cpp_quote("#include <poppack.h>") 3088 3089cpp_quote("") 3090enum tagSMINFOMASK { 3091 SMIM_TYPE = 0x00000001, 3092 SMIM_FLAGS = 0x00000002, 3093 SMIM_ICON = 0x00000004 3094}; 3095 3096cpp_quote("") 3097enum tagSMINFOTYPE { 3098 SMIT_SEPARATOR = 0x00000001, 3099 SMIT_STRING = 0x00000002 3100}; 3101 3102cpp_quote("") 3103enum tagSMINFOFLAGS { 3104 SMIF_ICON = 0x00000001, 3105 SMIF_ACCELERATOR = 0x00000002, 3106 SMIF_DROPTARGET = 0x00000004, 3107 SMIF_SUBMENU = 0x00000008, 3108 SMIF_CHECKED = 0x00000020, 3109 SMIF_DROPCASCADE = 0x00000040, 3110 SMIF_HIDDEN = 0x00000080, 3111 SMIF_DISABLED = 0x00000100, 3112 SMIF_TRACKPOPUP = 0x00000200, 3113 SMIF_DEMOTED = 0x00000400, 3114 SMIF_ALTSTATE = 0x00000800, 3115 SMIF_DRAGNDROP = 0x00001000, 3116 SMIF_NEW = 0x00002000 3117}; 3118 3119cpp_quote("") 3120cpp_quote("#define SMC_INITMENU 0x00000001") 3121cpp_quote("#define SMC_CREATE 0x00000002") 3122cpp_quote("#define SMC_EXITMENU 0x00000003") 3123cpp_quote("#define SMC_GETINFO 0x00000005") 3124cpp_quote("#define SMC_GETSFINFO 0x00000006") 3125cpp_quote("#define SMC_GETOBJECT 0x00000007") 3126cpp_quote("#define SMC_GETSFOBJECT 0x00000008") 3127cpp_quote("#define SMC_SFEXEC 0x00000009") 3128cpp_quote("#define SMC_SFSELECTITEM 0x0000000A") 3129cpp_quote("#define SMC_REFRESH 0x00000010") 3130cpp_quote("#define SMC_DEMOTE 0x00000011") 3131cpp_quote("#define SMC_PROMOTE 0x00000012") 3132cpp_quote("#define SMC_DEFAULTICON 0x00000016") 3133cpp_quote("#define SMC_NEWITEM 0x00000017") 3134cpp_quote("#define SMC_CHEVRONEXPAND 0x00000019") 3135cpp_quote("#define SMC_DISPLAYCHEVRONTIP 0x0000002A") 3136cpp_quote("#define SMC_SETSFOBJECT 0x0000002D") 3137cpp_quote("#define SMC_SHCHANGENOTIFY 0x0000002E") 3138cpp_quote("#define SMC_CHEVRONGETTIP 0x0000002F") 3139cpp_quote("#define SMC_SFDDRESTRICTED 0x00000030") 3140cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 3141cpp_quote("#define SMC_SFEXEC_MIDDLE 0x00000031") 3142cpp_quote("#define SMC_GETAUTOEXPANDSTATE 0x00000041") 3143cpp_quote("#define SMC_AUTOEXPANDCHANGE 0x00000042") 3144cpp_quote("#define SMC_GETCONTEXTMENUMODIFIER 0x00000043") 3145cpp_quote("#define SMC_GETBKCONTEXTMENU 0x00000044") 3146cpp_quote("#define SMC_OPEN 0x00000045") 3147 3148cpp_quote("") 3149cpp_quote("#define SMAE_EXPANDED 0x00000001") 3150cpp_quote("#define SMAE_CONTRACTED 0x00000002") 3151cpp_quote("") 3152cpp_quote("#define SMAE_USER 0x00000004") 3153cpp_quote("") 3154cpp_quote("#define SMAE_VALID 0x00000007") 3155cpp_quote("#endif") 3156 3157cpp_quote("") 3158[object, local, uuid (4ca300a1-9b8d-11d1-8b22-00c04fd918d0), pointer_default (unique)] 3159interface IShellMenuCallback : IUnknown { 3160 HRESULT CallbackSM ([in, out] LPSMDATA psmd,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam); 3161} 3162 3163cpp_quote("") 3164cpp_quote("#define SMINIT_DEFAULT 0x00000000") 3165cpp_quote("#define SMINIT_RESTRICT_DRAGDROP 0x00000002") 3166cpp_quote("#define SMINIT_TOPLEVEL 0x00000004") 3167cpp_quote("#define SMINIT_CACHED 0x00000010") 3168cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 3169cpp_quote("#define SMINIT_AUTOEXPAND 0x00000100") 3170cpp_quote("#define SMINIT_AUTOTOOLTIP 0x00000200") 3171cpp_quote("#define SMINIT_DROPONCONTAINER 0x00000400") 3172cpp_quote("#endif") 3173 3174cpp_quote("") 3175cpp_quote("#define SMINIT_VERTICAL 0x10000000") 3176cpp_quote("#define SMINIT_HORIZONTAL 0x20000000") 3177cpp_quote("") 3178cpp_quote("#define ANCESTORDEFAULT (UINT)-1") 3179 3180cpp_quote("") 3181cpp_quote("#define SMSET_TOP 0x10000000") 3182cpp_quote("#define SMSET_BOTTOM 0x20000000") 3183cpp_quote("#define SMSET_DONTOWN 0x00000001") 3184cpp_quote("") 3185cpp_quote("#define SMINV_REFRESH 0x00000001") 3186cpp_quote("#define SMINV_ID 0x00000008") 3187 3188cpp_quote("") 3189[object, local, uuid (EE1F7637-E138-11d1-8379-00c04fd918d0), pointer_default (unique)] 3190interface IShellMenu : IUnknown { 3191 HRESULT Initialize ([in, unique] IShellMenuCallback *psmc,[in] UINT uId,[in] UINT uIdAncestor,[in] DWORD dwFlags); 3192 HRESULT GetMenuInfo ([out] IShellMenuCallback **ppsmc,[out] UINT *puId,[out] UINT *puIdAncestor,[out] DWORD *pdwFlags); 3193 HRESULT SetShellFolder ([in, unique] IShellFolder *psf,[in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in, unique] HKEY hKey,[in] DWORD dwFlags); 3194 HRESULT GetShellFolder ([out] DWORD *pdwFlags,[out] PIDLIST_ABSOLUTE *ppidl,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3195 HRESULT SetMenu ([in, unique] HMENU hmenu,[in, unique] HWND hwnd,[in] DWORD dwFlags); 3196 HRESULT GetMenu ([out] HMENU *phmenu,[out] HWND *phwnd,[out] DWORD *pdwFlags); 3197 HRESULT InvalidateItem ([in] LPSMDATA psmd,[in] DWORD dwFlags); 3198 HRESULT GetState ([out] LPSMDATA psmd); 3199 HRESULT SetMenuToolbar ([in] IUnknown *punk,[in] DWORD dwFlags); 3200} 3201cpp_quote("#endif") 3202 3203cpp_quote("") 3204[object, local, uuid (fce4bde0-4b68-4b80-8e9c-7426315a7388), pointer_default (ref)] 3205interface IShellRunDll : IUnknown { 3206 HRESULT Run ([in, string] LPCWSTR pszArgs); 3207} 3208 3209cpp_quote("") 3210cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 3211typedef [v1_enum] enum KF_CATEGORY { 3212 KF_CATEGORY_VIRTUAL = 1, 3213 KF_CATEGORY_FIXED = 2, 3214 KF_CATEGORY_COMMON = 3, 3215 KF_CATEGORY_PERUSER = 4, 3216} KF_CATEGORY; 3217 3218cpp_quote("") 3219[v1_enum] enum _KF_DEFINITION_FLAGS { 3220 KFDF_LOCAL_REDIRECT_ONLY = 0x00000002, 3221 KFDF_ROAMABLE = 0x00000004, 3222 KFDF_PRECREATE = 0x00000008, 3223 KFDF_STREAM = 0x00000010, 3224 KFDF_PUBLISHEXPANDEDPATH = 0x00000020, 3225}; 3226 3227cpp_quote("") 3228typedef DWORD KF_DEFINITION_FLAGS; 3229 3230cpp_quote("") 3231[v1_enum] enum _KF_REDIRECT_FLAGS { 3232 KF_REDIRECT_USER_EXCLUSIVE = 0x00000001, 3233 KF_REDIRECT_COPY_SOURCE_DACL = 0x00000002, 3234 KF_REDIRECT_OWNER_USER = 0x00000004, 3235 KF_REDIRECT_SET_OWNER_EXPLICIT = 0x00000008, 3236 KF_REDIRECT_CHECK_ONLY = 0x00000010, 3237 KF_REDIRECT_WITH_UI = 0x00000020, 3238 KF_REDIRECT_UNPIN = 0x00000040, 3239 KF_REDIRECT_PIN = 0x00000080, 3240 KF_REDIRECT_COPY_CONTENTS = 0x00000200, 3241 KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x00000400, 3242 KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x00000800 3243}; 3244 3245cpp_quote("") 3246typedef DWORD KF_REDIRECT_FLAGS; 3247 3248cpp_quote("") 3249[v1_enum] enum _KF_REDIRECTION_CAPABILITIES { 3250 KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0x000000ff, 3251 KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x00000001, 3252 KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0x000fff00, 3253 KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x00000100, 3254 KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x00000200, 3255 KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x00000400 3256}; 3257 3258cpp_quote("") 3259typedef DWORD KF_REDIRECTION_CAPABILITIES; 3260 3261cpp_quote("") 3262typedef struct KNOWNFOLDER_DEFINITION { 3263 KF_CATEGORY category; 3264 LPWSTR pszName; 3265 LPWSTR pszDescription; 3266 KNOWNFOLDERID fidParent; 3267 LPWSTR pszRelativePath; 3268 LPWSTR pszParsingName; 3269 LPWSTR pszTooltip; 3270 LPWSTR pszLocalizedName; 3271 LPWSTR pszIcon; 3272 LPWSTR pszSecurity; 3273 DWORD dwAttributes; 3274 KF_DEFINITION_FLAGS kfdFlags; 3275 FOLDERTYPEID ftidType; 3276} KNOWNFOLDER_DEFINITION; 3277 3278cpp_quote("") 3279[object, uuid (3aa7af7e-9b36-420c-A8E3-F77D4674A488), version (1.0), pointer_default (ref)] 3280interface IKnownFolder : IUnknown { 3281 HRESULT GetId ([out] KNOWNFOLDERID *pkfid); 3282 HRESULT GetCategory ([out] KF_CATEGORY *pCategory); 3283 HRESULT GetShellItem ([in] DWORD dwFlags,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3284 HRESULT GetPath ([in] DWORD dwFlags,[out, string] LPWSTR *ppszPath); 3285 HRESULT SetPath ([in] DWORD dwFlags,[in, string] LPCWSTR pszPath); 3286 HRESULT GetIDList ([in] DWORD dwFlags,[out] PIDLIST_ABSOLUTE *ppidl); 3287 HRESULT GetFolderType ([out] FOLDERTYPEID *pftid); 3288 HRESULT GetRedirectionCapabilities ([out] KF_REDIRECTION_CAPABILITIES *pCapabilities); 3289 HRESULT GetFolderDefinition ([out] KNOWNFOLDER_DEFINITION *pKFD); 3290} 3291 3292cpp_quote("") 3293[object, uuid (8be2d872-86aa-4d47-B776-32cca40c7018), version (1.0), pointer_default (ref)] 3294interface IKnownFolderManager : IUnknown { 3295 typedef [v1_enum] enum FFFP_MODE { 3296 FFFP_EXACTMATCH, 3297 FFFP_NEARESTPARENTMATCH 3298 } FFFP_MODE; 3299cpp_quote("") 3300 HRESULT FolderIdFromCsidl ([in] int nCsidl,[out] KNOWNFOLDERID *pfid); 3301 HRESULT FolderIdToCsidl ([in] REFKNOWNFOLDERID rfid,[out] int *pnCsidl); 3302 HRESULT GetFolderIds ([out, size_is (,*pCount)] KNOWNFOLDERID **ppKFId,[in, out] UINT *pCount); 3303 HRESULT GetFolder ([in] REFKNOWNFOLDERID rfid,[out] IKnownFolder **ppkf); 3304 HRESULT GetFolderByName ([in, string] LPCWSTR pszCanonicalName,[out] IKnownFolder **ppkf); 3305 HRESULT RegisterFolder ([in] REFKNOWNFOLDERID rfid,[in] KNOWNFOLDER_DEFINITION const *pKFD); 3306 HRESULT UnregisterFolder ([in] REFKNOWNFOLDERID rfid); 3307 HRESULT FindFolderFromPath ([in, string] LPCWSTR pszPath,[in] FFFP_MODE mode,[out] IKnownFolder **ppkf); 3308 HRESULT FindFolderFromIDList ([in] PCIDLIST_ABSOLUTE pidl,[out] IKnownFolder **ppkf); 3309 [local] HRESULT Redirect ([in] REFKNOWNFOLDERID rfid,[in, unique] HWND hwnd,[in] KF_REDIRECT_FLAGS flags,[in, unique, string] LPCWSTR pszTargetPath,[in] UINT cFolders,[in, size_is (cFolders), unique] KNOWNFOLDERID const *pExclusion,[out, string] LPWSTR *ppszError); 3310 [call_as (Redirect)] HRESULT RemoteRedirect ([in] REFKNOWNFOLDERID rfid,[in, unique] HWND hwnd,[in] KF_REDIRECT_FLAGS flags,[in, unique, string] LPCWSTR pszTargetPath,[in] UINT cFolders,[in, size_is (cFolders), unique] GUID const *pExclusion,[out, string] LPWSTR *ppszError); 3311} 3312 3313cpp_quote("") 3314cpp_quote(" __forceinline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) {") 3315cpp_quote(" CoTaskMemFree(pKFD->pszName);") 3316cpp_quote(" CoTaskMemFree(pKFD->pszDescription);") 3317cpp_quote(" CoTaskMemFree(pKFD->pszRelativePath);") 3318cpp_quote(" CoTaskMemFree(pKFD->pszParsingName);") 3319cpp_quote(" CoTaskMemFree(pKFD->pszTooltip);") 3320cpp_quote(" CoTaskMemFree(pKFD->pszLocalizedName);") 3321cpp_quote(" CoTaskMemFree(pKFD->pszIcon);") 3322cpp_quote(" CoTaskMemFree(pKFD->pszSecurity);") 3323cpp_quote(" }") 3324 3325cpp_quote("") 3326typedef [v1_enum] enum SHARE_ROLE { 3327 SHARE_ROLE_INVALID = -1, 3328 SHARE_ROLE_READER = 0, 3329 SHARE_ROLE_CONTRIBUTOR = 1, 3330 SHARE_ROLE_CO_OWNER = 2, 3331 SHARE_ROLE_OWNER = 3, 3332 SHARE_ROLE_CUSTOM = 4, 3333 SHARE_ROLE_MIXED = 5 3334} SHARE_ROLE; 3335 3336cpp_quote("") 3337typedef [v1_enum] enum DEF_SHARE_ID { 3338 DEFSHAREID_USERS = 1, 3339 DEFSHAREID_PUBLIC = 2, 3340} DEF_SHARE_ID; 3341 3342cpp_quote("") 3343[object, uuid (B4CD448A-9c86-4466-9201-2e62105b87ae)] 3344interface ISharingConfigurationManager : IUnknown { 3345 HRESULT CreateShare ([in] DEF_SHARE_ID dsid,[in] SHARE_ROLE role); 3346 HRESULT DeleteShare ([in] DEF_SHARE_ID dsid); 3347 HRESULT ShareExists ([in] DEF_SHARE_ID dsid); 3348 HRESULT GetSharePermissions ([in] DEF_SHARE_ID dsid,[out] SHARE_ROLE *pRole); 3349 HRESULT SharePrinters (); 3350 HRESULT StopSharingPrinters (); 3351 HRESULT ArePrintersShared (); 3352} 3353cpp_quote("#endif") 3354 3355cpp_quote("") 3356[object, local, uuid (76e54780-ad74-48e3-a695-3ba9a0aff10d), pointer_default (unique)] 3357interface IPreviousVersionsInfo : IUnknown { 3358 HRESULT AreSnapshotsAvailable ([in, string] LPCWSTR pszPath,[in] BOOL fOkToBeSlow,[out] BOOL *pfAvailable); 3359} 3360 3361cpp_quote("") 3362cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 3363[object, uuid (a73ce67a-8ab1-44f1-8d43-d2fcbf6b1cd0), pointer_default (unique)] 3364interface IRelatedItem : IUnknown { 3365 HRESULT GetItemIDList ([out] PIDLIST_ABSOLUTE *ppidl); 3366 HRESULT GetItem ([out] IShellItem **ppsi); 3367} 3368 3369cpp_quote("") 3370[object, uuid (7d903fca-d6f9-4810-8332-946c0177e247), pointer_default (unique)] 3371interface IIdentityName : IRelatedItem { 3372} 3373 3374cpp_quote("") 3375[object, uuid (3c5a1c94-c951-4cb7-bb6d-3b93f30cce93), pointer_default (unique)] 3376interface IDelegateItem : IRelatedItem { 3377} 3378 3379cpp_quote("") 3380[object, uuid (240a7174-d653-4a1d-a6d3-d4943cfbfe3d), pointer_default (unique)] 3381interface ICurrentItem : IRelatedItem { 3382} 3383 3384cpp_quote("") 3385[object, uuid (77f295d5-2d6f-4e19-b8ae-322f3e721ab5), pointer_default (unique)] 3386interface ITransferMediumItem : IRelatedItem { 3387} 3388 3389cpp_quote("") 3390[object, uuid (05edda5c-98a3-4717-8adb-c5e7da991eb1), pointer_default (unique)] 3391interface IUseToBrowseItem : IRelatedItem { 3392} 3393 3394cpp_quote("") 3395[object, uuid (c6fd5997-9f6b-4888-8703-94e80e8cde3f), pointer_default (unique)] 3396interface IDisplayItem : IRelatedItem { 3397} 3398 3399cpp_quote("") 3400[object, uuid (9d264146-A94F-4195-9f9f-3bb12ce0c955), pointer_default (unique)] 3401interface IViewStateIdentityItem : IRelatedItem { 3402} 3403 3404cpp_quote("") 3405[object, uuid (36149969-0a8f-49c8-8b00-4aecb20222fb), pointer_default (unique)] 3406interface IPreviewItem : IRelatedItem { 3407} 3408cpp_quote("#endif") 3409 3410cpp_quote("") 3411[object, uuid (8a87781b-39a7-4a1f-aab3-a39b9c34a7d9), pointer_default (unique)] 3412interface IDestinationStreamFactory : IUnknown { 3413 HRESULT GetDestinationStream ([out] IStream **ppstm); 3414} 3415 3416cpp_quote("") 3417[v1_enum] enum _NMCII_FLAGS { 3418 NMCII_NONE = 0x0000, 3419 NMCII_ITEMS = 0x0001, 3420 NMCII_FOLDERS = 0x0002 3421}; 3422cpp_quote("") 3423typedef int NMCII_FLAGS; 3424cpp_quote("") 3425[v1_enum] enum _NMCSAEI_FLAGS { 3426 NMCSAEI_SELECT = 0x0000, 3427 NMCSAEI_EDIT = 0x0001 3428}; 3429 3430cpp_quote("") 3431typedef int NMCSAEI_FLAGS; 3432 3433cpp_quote("") 3434[uuid (dcb07fdc-3bb5-451c-90be-966644fed7b0), pointer_default (unique)] 3435interface INewMenuClient : IUnknown { 3436 HRESULT IncludeItems ([out] NMCII_FLAGS *pflags); 3437 HRESULT SelectAndEditItem ([in] PCIDLIST_ABSOLUTE pidlItem,[in] NMCSAEI_FLAGS flags); 3438}; 3439 3440cpp_quote("") 3441cpp_quote("#define SID_SNewMenuClient IID_INewMenuClient") 3442cpp_quote("") 3443cpp_quote("DEFINE_GUID(SID_SCommandBarState, 0xB99EAA5C, 0x3850, 0x4400, 0xBC, 0x33, 0x2C, 0xE5, 0x34, 0x04, 0x8B, 0xF8);") 3444 3445cpp_quote("") 3446cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 3447[object, uuid (71c0d2bc-726d-45cc-a6c0-2e31c1db2159), pointer_default (unique)] 3448interface IInitializeWithBindCtx : IUnknown { 3449 HRESULT Initialize ([in] IBindCtx *pbc); 3450} 3451 3452cpp_quote("") 3453[object, uuid (2659b475-EEB8-48b7-8f07-B378810F48CF), pointer_default (unique)] 3454interface IShellItemFilter : IUnknown { 3455 HRESULT IncludeItem ([in] IShellItem *psi); 3456 HRESULT GetEnumFlagsForItem ([in] IShellItem *psi,[out] SHCONTF *pgrfFlags); 3457} 3458cpp_quote("#endif") 3459 3460cpp_quote("") 3461[object, uuid (028212a3-B627-47e9-8856-C14265554E4F)] 3462interface INameSpaceTreeControl : IUnknown { 3463 [v1_enum] enum _NSTCSTYLE { 3464 NSTCS_HASEXPANDOS = 0x00000001, 3465 NSTCS_HASLINES = 0x00000002, 3466 NSTCS_SINGLECLICKEXPAND = 0x00000004, 3467 NSTCS_FULLROWSELECT = 0x00000008, 3468 NSTCS_SPRINGEXPAND = 0x00000010, 3469 NSTCS_HORIZONTALSCROLL = 0x00000020, 3470 NSTCS_ROOTHASEXPANDO = 0x00000040, 3471 NSTCS_SHOWSELECTIONALWAYS = 0x00000080, 3472 NSTCS_NOINFOTIP = 0x00000200, 3473 NSTCS_EVENHEIGHT = 0x00000400, 3474 NSTCS_NOREPLACEOPEN = 0x00000800, 3475 NSTCS_DISABLEDRAGDROP = 0x00001000, 3476 NSTCS_NOORDERSTREAM = 0x00002000, 3477 NSTCS_RICHTOOLTIP = 0x00004000, 3478 NSTCS_BORDER = 0x00008000, 3479 NSTCS_NOEDITLABELS = 0x00010000, 3480 NSTCS_TABSTOP = 0x00020000, 3481 NSTCS_FAVORITESMODE = 0x00080000, 3482 NSTCS_AUTOHSCROLL = 0x00100000, 3483 NSTCS_FADEINOUTEXPANDOS = 0x00200000, 3484 NSTCS_EMPTYTEXT = 0x00400000, 3485 NSTCS_CHECKBOXES = 0x00800000, 3486 NSTCS_PARTIALCHECKBOXES = 0x01000000, 3487 NSTCS_EXCLUSIONCHECKBOXES = 0x02000000, 3488 NSTCS_DIMMEDCHECKBOXES = 0x04000000, 3489 NSTCS_NOINDENTCHECKS = 0x08000000, 3490 NSTCS_ALLOWJUNCTIONS = 0x10000000, 3491 NSTCS_SHOWTABSBUTTON = 0x20000000, 3492 NSTCS_SHOWDELETEBUTTON = 0x40000000, 3493 NSTCS_SHOWREFRESHBUTTON = (int) 0x80000000 3494 }; 3495 3496cpp_quote("") 3497 typedef DWORD NSTCSTYLE; 3498cpp_quote("") 3499 [v1_enum] enum _NSTCROOTSTYLE { 3500 NSTCRS_VISIBLE = 0x0000, 3501 NSTCRS_HIDDEN = 0x0001, 3502 NSTCRS_EXPANDED = 0x0002, 3503 }; 3504cpp_quote("") 3505 typedef DWORD NSTCROOTSTYLE; 3506cpp_quote("") 3507 [v1_enum] enum _NSTCITEMSTATE { 3508 NSTCIS_NONE = 0x0000, 3509 NSTCIS_SELECTED = 0x0001, 3510 NSTCIS_EXPANDED = 0x0002, 3511 NSTCIS_BOLD = 0x0004, 3512 NSTCIS_DISABLED = 0x0008, 3513 NSTCIS_SELECTEDNOEXPAND = 0x0010, 3514 }; 3515cpp_quote("") 3516 typedef DWORD NSTCITEMSTATE; 3517cpp_quote("") 3518 typedef [v1_enum] enum NSTCGNI { 3519 NSTCGNI_NEXT = 0, 3520 NSTCGNI_NEXTVISIBLE = 1, 3521 NSTCGNI_PREV = 2, 3522 NSTCGNI_PREVVISIBLE = 3, 3523 NSTCGNI_PARENT = 4, 3524 NSTCGNI_CHILD = 5, 3525 NSTCGNI_FIRSTVISIBLE = 6, 3526 NSTCGNI_LASTVISIBLE = 7, 3527 } NSTCGNI; 3528cpp_quote("") 3529 HRESULT Initialize ([in] HWND hwndParent,[in, unique] RECT *prc,[in] NSTCSTYLE nsctsFlags); 3530 HRESULT TreeAdvise ([in] IUnknown *punk,[out] DWORD *pdwCookie); 3531 HRESULT TreeUnadvise ([in] DWORD dwCookie); 3532 HRESULT AppendRoot ([in] IShellItem *psiRoot,[in] SHCONTF grfEnumFlags,[in] NSTCROOTSTYLE grfRootStyle,[in, unique] IShellItemFilter *pif); 3533 HRESULT InsertRoot ([in] int iIndex,[in] IShellItem *psiRoot,[in] SHCONTF grfEnumFlags,[in] NSTCROOTSTYLE grfRootStyle,[in, unique] IShellItemFilter *pif); 3534 HRESULT RemoveRoot ([in] IShellItem *psiRoot); 3535 HRESULT RemoveAllRoots (); 3536 HRESULT GetRootItems ([out] IShellItemArray **ppsiaRootItems); 3537 HRESULT SetItemState ([in] IShellItem *psi,[in] NSTCITEMSTATE nstcisMask,[in] NSTCITEMSTATE nstcisFlags); 3538 HRESULT GetItemState ([in] IShellItem *psi,[in] NSTCITEMSTATE nstcisMask,[out] NSTCITEMSTATE *pnstcisFlags); 3539 HRESULT GetSelectedItems ([out] IShellItemArray **psiaItems); 3540 HRESULT GetItemCustomState ([in] IShellItem *psi,[out] int *piStateNumber); 3541 HRESULT SetItemCustomState ([in] IShellItem *psi,[in] int iStateNumber); 3542 HRESULT EnsureItemVisible ([in] IShellItem *psi); 3543 HRESULT SetTheme ([in, string] LPCWSTR pszTheme); 3544 HRESULT GetNextItem ([in, unique] IShellItem *psi,[in] NSTCGNI nstcgi,[out] IShellItem **ppsiNext); 3545 HRESULT HitTest ([in] POINT *ppt,[out] IShellItem **ppsiOut); 3546 HRESULT GetItemRect ([in] IShellItem *psi,[out] RECT *prect); 3547 HRESULT CollapseAll (); 3548} 3549 3550cpp_quote("") 3551[object, uuid (7cc7aed8-290e-49bc-8945-c1401cc9306c),] 3552interface INameSpaceTreeControl2 : INameSpaceTreeControl { 3553 typedef [v1_enum] enum NSTCSTYLE2 { 3554 NSTCS2_DEFAULT = 0x00000000, 3555 NSTCS2_INTERRUPTNOTIFICATIONS = 0x00000001, 3556 NSTCS2_SHOWNULLSPACEMENU = 0x00000002, 3557 NSTCS2_DISPLAYPADDING = 0x00000004, 3558 NSTCS2_DISPLAYPINNEDONLY = 0x00000008, 3559 NTSCS2_NOSINGLETONAUTOEXPAND = 0x00000010, 3560 NTSCS2_NEVERINSERTNONENUMERATED = 0x00000020, 3561 } NSTCSTYLE2; 3562cpp_quote("") 3563cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)") 3564cpp_quote("") 3565 HRESULT SetControlStyle ([in] NSTCSTYLE nstcsMask,[in] NSTCSTYLE nstcsStyle); 3566 HRESULT GetControlStyle ([in] NSTCSTYLE nstcsMask,[out] NSTCSTYLE *pnstcsStyle); 3567 HRESULT SetControlStyle2 ([in] NSTCSTYLE2 nstcsMask,[in] NSTCSTYLE2 nstcsStyle); 3568 HRESULT GetControlStyle2 ([in] NSTCSTYLE2 nstcsMask,[out] NSTCSTYLE2 *pnstcsStyle); 3569} 3570 3571cpp_quote("") 3572cpp_quote("#define NSTCS2_ALLMASK (NSTCS2_INTERRUPTNOTIFICATIONS | NSTCS2_SHOWNULLSPACEMENU | NSTCS2_DISPLAYPADDING)") 3573cpp_quote("#define SID_SNavigationPane IID_INameSpaceTreeControl") 3574cpp_quote("") 3575cpp_quote("#define ISLBUTTON(x) (NSTCECT_LBUTTON == ((x) & NSTCECT_BUTTON))") 3576cpp_quote("#define ISMBUTTON(x) (NSTCECT_MBUTTON == ((x) & NSTCECT_BUTTON))") 3577cpp_quote("#define ISRBUTTON(x) (NSTCECT_RBUTTON == ((x) & NSTCECT_BUTTON))") 3578cpp_quote("#define ISDBLCLICK(x) (NSTCECT_DBLCLICK == ((x) & NSTCECT_DBLCLICK))") 3579cpp_quote("") 3580[object, uuid (93d77985-B3D8-4484-8318-672cdda002ce), local] 3581interface INameSpaceTreeControlEvents : IUnknown { 3582 [v1_enum] enum _NSTCEHITTEST { 3583 NSTCEHT_NOWHERE = 0x0001, 3584 NSTCEHT_ONITEMICON = 0x0002, 3585 NSTCEHT_ONITEMLABEL = 0x0004, 3586 NSTCEHT_ONITEMINDENT = 0x0008, 3587 NSTCEHT_ONITEMBUTTON = 0x0010, 3588 NSTCEHT_ONITEMRIGHT = 0x0020, 3589 NSTCEHT_ONITEMSTATEICON = 0x0040, 3590 NSTCEHT_ONITEM = 0x0046, 3591 NSTCEHT_ONITEMTABBUTTON = 0x1000 3592 }; 3593cpp_quote("") 3594 typedef DWORD NSTCEHITTEST; 3595cpp_quote("") 3596 [v1_enum] enum _NSTCECLICKTYPE { 3597 NSTCECT_LBUTTON = 0x0001, 3598 NSTCECT_MBUTTON = 0x0002, 3599 NSTCECT_RBUTTON = 0x0003, 3600 NSTCECT_BUTTON = 0x0003, 3601 NSTCECT_DBLCLICK = 0x0004 3602 }; 3603cpp_quote("") 3604 typedef DWORD NSTCECLICKTYPE; 3605cpp_quote("") 3606 HRESULT OnItemClick ([in] IShellItem *psi,[in] NSTCEHITTEST nstceHitTest,[in] NSTCECLICKTYPE nstceClickType); 3607 HRESULT OnPropertyItemCommit ([in] IShellItem *psi); 3608 HRESULT OnItemStateChanging ([in] IShellItem *psi,[in] NSTCITEMSTATE nstcisMask,[in] NSTCITEMSTATE nstcisState); 3609 HRESULT OnItemStateChanged ([in] IShellItem *psi,[in] NSTCITEMSTATE nstcisMask,[in] NSTCITEMSTATE nstcisState); 3610 HRESULT OnSelectionChanged ([in] IShellItemArray *psiaSelection); 3611 HRESULT OnKeyboardInput ([in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam); 3612 HRESULT OnBeforeExpand ([in] IShellItem *psi); 3613 HRESULT OnAfterExpand ([in] IShellItem *psi); 3614 HRESULT OnBeginLabelEdit ([in] IShellItem *psi); 3615 HRESULT OnEndLabelEdit ([in] IShellItem *psi); 3616 HRESULT OnGetToolTip ([in] IShellItem *psi,[out, string, size_is (cchTip)] LPWSTR pszTip,[in] int cchTip); 3617 HRESULT OnBeforeItemDelete ([in] IShellItem *psi); 3618 HRESULT OnItemAdded ([in] IShellItem *psi,[in] BOOL fIsRoot); 3619 HRESULT OnItemDeleted ([in] IShellItem *psi,[in] BOOL fIsRoot); 3620 HRESULT OnBeforeContextMenu ([in, unique] IShellItem *psi,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3621 HRESULT OnAfterContextMenu ([in] IShellItem *psi,[in] IContextMenu *pcmIn,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3622 HRESULT OnBeforeStateImageChange ([in] IShellItem *psi); 3623 HRESULT OnGetDefaultIconIndex ([in] IShellItem *psi,[out] int *piDefaultIcon,[out] int *piOpenIcon); 3624} 3625 3626cpp_quote("") 3627cpp_quote("#define NSTCDHPOS_ONTOP -1") 3628 3629cpp_quote("") 3630[object, local, uuid (F9C665D6-C2F2-4c19-BF33-8322d7352f51)] 3631interface INameSpaceTreeControlDropHandler : IUnknown { 3632 HRESULT OnDragEnter ([in, unique] IShellItem *psiOver,[in] IShellItemArray *psiaData,[in] BOOL fOutsideSource,[in] DWORD grfKeyState,[in, out] DWORD *pdwEffect); 3633 HRESULT OnDragOver ([in, unique] IShellItem *psiOver,[in] IShellItemArray *psiaData,[in] DWORD grfKeyState,[in, out] DWORD *pdwEffect); 3634 HRESULT OnDragPosition ([in, unique] IShellItem *psiOver,[in] IShellItemArray *psiaData,[in] int iNewPosition,[in] int iOldPosition); 3635 HRESULT OnDrop ([in, unique] IShellItem *psiOver,[in] IShellItemArray *psiaData,[in] int iPosition,[in] DWORD grfKeyState,[in, out] DWORD *pdwEffect); 3636 HRESULT OnDropPosition ([in, unique] IShellItem *psiOver,[in] IShellItemArray *psiaData,[in] int iNewPosition,[in] int iOldPosition); 3637 HRESULT OnDragLeave ([in, unique] IShellItem *psiOver); 3638} 3639 3640cpp_quote("") 3641[object, local, uuid (71f312de-43ed-4190-8477-e9536b82350b)] 3642interface INameSpaceTreeAccessible : IUnknown { 3643 HRESULT OnGetDefaultAccessibilityAction ([in] IShellItem *psi,[out] BSTR *pbstrDefaultAction); 3644 HRESULT OnDoDefaultAccessibilityAction ([in] IShellItem *psi); 3645 HRESULT OnGetAccessibilityRole ([in] IShellItem *psi,[out] VARIANT *pvarRole); 3646} 3647 3648cpp_quote("") 3649[object, local, uuid (2d3ba758-33ee-42d5-BB7B-5f3431d86c78)] 3650interface INameSpaceTreeControlCustomDraw : IUnknown { 3651 typedef struct NSTCCUSTOMDRAW { 3652 IShellItem *psi; 3653 UINT uItemState; 3654 NSTCITEMSTATE nstcis; 3655 LPCWSTR pszText; 3656 int iImage; 3657 HIMAGELIST himl; 3658 int iLevel; 3659 int iIndent; 3660 } NSTCCUSTOMDRAW; 3661cpp_quote("") 3662 HRESULT PrePaint ([in] HDC hdc,[in] RECT *prc,[out] LRESULT *plres); 3663 HRESULT PostPaint ([in] HDC hdc,[in] RECT *prc); 3664 HRESULT ItemPrePaint ([in] HDC hdc,[in] RECT *prc,[in] NSTCCUSTOMDRAW *pnstccdItem,[in, out] COLORREF *pclrText,[in, out] COLORREF *pclrTextBk,[out] LRESULT *plres); 3665 HRESULT ItemPostPaint ([in] HDC hdc,[in] RECT *prc,[in] NSTCCUSTOMDRAW *pnstccdItem); 3666} 3667 3668cpp_quote("") 3669cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 3670[object, uuid (e9701183-e6b3-4ff2-8568-813615fec7be), local] 3671interface INameSpaceTreeControlFolderCapabilities : IUnknown { 3672 typedef [v1_enum] enum NSTCFOLDERCAPABILITIES { 3673 NSTCFC_NONE = 0x00000000, 3674 NSTCFC_PINNEDITEMFILTERING = 0x00000001, 3675 NSTCFC_DELAY_REGISTER_NOTIFY = 0x00000002, 3676 } NSTCFOLDERCAPABILITIES; 3677cpp_quote("") 3678cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NSTCFOLDERCAPABILITIES)") 3679cpp_quote("") 3680 HRESULT GetFolderCapabilities ([in] NSTCFOLDERCAPABILITIES nfcMask,[out] NSTCFOLDERCAPABILITIES *pnfcValue); 3681} 3682cpp_quote("#endif") 3683 3684cpp_quote("") 3685cpp_quote("#define E_PREVIEWHANDLER_DRM_FAIL _HRESULT_TYPEDEF_(0x86420001L)") 3686cpp_quote("#define E_PREVIEWHANDLER_NOAUTH _HRESULT_TYPEDEF_(0x86420002L)") 3687cpp_quote("#define E_PREVIEWHANDLER_NOTFOUND _HRESULT_TYPEDEF_(0x86420003L)") 3688cpp_quote("#define E_PREVIEWHANDLER_CORRUPT _HRESULT_TYPEDEF_(0x86420004L)") 3689 3690cpp_quote("") 3691[object, uuid (8895b1c6-b41f-4c1c-a562-0d564250836f)] 3692interface IPreviewHandler : IUnknown { 3693 HRESULT SetWindow ([in] HWND hwnd,[in] const RECT *prc); 3694 HRESULT SetRect ([in] const RECT *prc); 3695 HRESULT DoPreview (); 3696 HRESULT Unload (); 3697 HRESULT SetFocus (); 3698 HRESULT QueryFocus ([out] HWND *phwnd); 3699 HRESULT TranslateAccelerator ([in] MSG *pmsg); 3700} 3701 3702cpp_quote("") 3703[object, uuid (fec87aaf-35f9-447a-adb7-20234491401a), pointer_default (unique)] 3704interface IPreviewHandlerFrame: IUnknown { 3705 typedef struct PREVIEWHANDLERFRAMEINFO { 3706 HACCEL haccel; 3707 UINT cAccelEntries; 3708 } PREVIEWHANDLERFRAMEINFO; 3709cpp_quote("") 3710 HRESULT GetWindowContext ([out] PREVIEWHANDLERFRAMEINFO *pinfo); 3711 HRESULT TranslateAccelerator ([in] MSG *pmsg); 3712} 3713 3714cpp_quote("") 3715cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 3716[object, uuid (6d67e846-5b9c-4db8-9cbc-DDE12F4254F1), pointer_default (unique)] 3717interface ITrayDeskBand : IUnknown { 3718 HRESULT ShowDeskBand ([in] REFCLSID clsid); 3719 HRESULT HideDeskBand ([in] REFCLSID clsid); 3720 HRESULT IsDeskBandShown ([in] REFCLSID clsid); 3721 HRESULT DeskBandRegistrationChanged (); 3722} 3723 3724cpp_quote("") 3725[object, uuid (B9075C7C-D48E-403f-AB99-D6C77A1084AC), pointer_default (unique)] 3726interface IBandHost : IUnknown { 3727 HRESULT CreateBand ([in] REFCLSID rclsidBand,[in] BOOL fAvailable,[in] BOOL fVisible,[in] REFIID riid,[out, iid_is (riid)]void **ppv); 3728 HRESULT SetBandAvailability ([in] REFCLSID rclsidBand,[in] BOOL fAvailable); 3729 HRESULT DestroyBand ([in] REFCLSID rclsidBand); 3730} 3731 3732cpp_quote("") 3733cpp_quote("#define SID_SBandHost IID_IBandHost") 3734 3735cpp_quote("") 3736typedef GUID EXPLORERPANE; 3737 3738cpp_quote("") 3739cpp_quote("#if 0") 3740typedef EXPLORERPANE *REFEXPLORERPANE; 3741cpp_quote("#endif") 3742 3743cpp_quote("") 3744cpp_quote("#ifdef __cplusplus") 3745cpp_quote("#define REFEXPLORERPANE const EXPLORERPANE &") 3746cpp_quote("#else") 3747cpp_quote("#define REFEXPLORERPANE const EXPLORERPANE * __MIDL_CONST") 3748cpp_quote("#endif") 3749 3750cpp_quote("") 3751[object, uuid (e07010ec-bc17-44c0-97b0-46c7c95b9edc), local, pointer_default (unique)] 3752interface IExplorerPaneVisibility : IUnknown { 3753 [v1_enum] enum _EXPLORERPANESTATE { 3754 EPS_DONTCARE = 0x0000, 3755 EPS_DEFAULT_ON = 0x0001, 3756 EPS_DEFAULT_OFF = 0x0002, 3757 EPS_STATEMASK = 0xffff, 3758 EPS_INITIALSTATE = 0x00010000, 3759 EPS_FORCE = 0x00020000 3760 }; 3761cpp_quote("") 3762 typedef DWORD EXPLORERPANESTATE; 3763cpp_quote("") 3764 HRESULT GetPaneState ([in] REFEXPLORERPANE ep,[out] EXPLORERPANESTATE *peps); 3765} 3766 3767cpp_quote("") 3768cpp_quote("#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility") 3769 3770cpp_quote("") 3771[object, local, uuid (3409e930-5a39-11d1-83fa-00a0c90dc849), pointer_default (unique)] 3772interface IContextMenuCB : IUnknown { 3773 HRESULT CallBack ([in, unique] IShellFolder *psf,[in, unique] HWND hwndOwner,[in, unique] IDataObject *pdtobj,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam); 3774} 3775cpp_quote("#endif") 3776 3777cpp_quote("") 3778[object, local, uuid (41ded17d-d6b3-4261-997d-88c60e4b1d58), pointer_default (unique)] 3779interface IDefaultExtractIconInit : IUnknown { 3780 HRESULT SetFlags ([in] UINT uFlags); 3781 HRESULT SetKey ([in] HKEY hkey); 3782 HRESULT SetNormalIcon ([in, unique, string] LPCWSTR pszFile,[in] int iIcon); 3783 HRESULT SetOpenIcon ([in, unique, string] LPCWSTR pszFile,[in] int iIcon); 3784 HRESULT SetShortcutIcon ([in, unique, string] LPCWSTR pszFile,[in] int iIcon); 3785 HRESULT SetDefaultIcon ([in, unique, string] LPCWSTR pszFile,[in] int iIcon); 3786} 3787 3788cpp_quote("") 3789cpp_quote("STDAPI SHCreateDefaultExtractIcon(REFIID riid, void **ppv);") 3790 3791cpp_quote("") 3792interface IEnumExplorerCommand; 3793 3794cpp_quote("") 3795[uuid (a08ce4d0-fa25-44ab-b57c-c7b1c323e0b9), pointer_default (unique)] 3796interface IExplorerCommand : IUnknown { 3797 [v1_enum] enum _EXPCMDSTATE { 3798 ECS_ENABLED = 0x00, 3799 ECS_DISABLED = 0x01, 3800 ECS_HIDDEN = 0x02, 3801 ECS_CHECKBOX = 0x04, 3802 ECS_CHECKED = 0x08, 3803 ECS_RADIOCHECK = 0x10 3804 }; 3805cpp_quote("") 3806 typedef DWORD EXPCMDSTATE; 3807cpp_quote("") 3808 [v1_enum] enum _EXPCMDFLAGS { 3809 ECF_DEFAULT = 0x000, 3810 ECF_HASSUBCOMMANDS = 0x001, 3811 ECF_HASSPLITBUTTON = 0x002, 3812 ECF_HIDELABEL = 0x004, 3813 ECF_ISSEPARATOR = 0x008, 3814 ECF_HASLUASHIELD = 0x010, 3815 ECF_SEPARATORBEFORE = 0x020, 3816 ECF_SEPARATORAFTER = 0x040, 3817 ECF_ISDROPDOWN = 0x080, 3818 ECF_TOGGLEABLE = 0x100, 3819 ECF_AUTOMENUICONS = 0x200 3820 }; 3821cpp_quote("") 3822 typedef DWORD EXPCMDFLAGS; 3823cpp_quote("") 3824 HRESULT GetTitle ([in, unique] IShellItemArray *psiItemArray,[out, string] LPWSTR *ppszName); 3825 HRESULT GetIcon ([in, unique] IShellItemArray *psiItemArray,[out, string] LPWSTR *ppszIcon); 3826 HRESULT GetToolTip ([in, unique] IShellItemArray *psiItemArray,[out, string] LPWSTR *ppszInfotip); 3827 HRESULT GetCanonicalName ([out] GUID *pguidCommandName); 3828 HRESULT GetState ([in, unique] IShellItemArray *psiItemArray,[in] BOOL fOkToBeSlow,[out] EXPCMDSTATE *pCmdState); 3829 HRESULT Invoke ([in, unique] IShellItemArray *psiItemArray,[in, unique] IBindCtx *pbc); 3830 HRESULT GetFlags ([out] EXPCMDFLAGS *pFlags); 3831 HRESULT EnumSubCommands ([out] IEnumExplorerCommand **ppEnum); 3832} 3833 3834cpp_quote("") 3835[object, uuid (bddacb60-7657-47ae-8445-d23e1acf82ae), pointer_default (unique)] 3836interface IExplorerCommandState : IUnknown { 3837 HRESULT GetState ([in] IShellItemArray *psiItemArray,[in] BOOL fOkToBeSlow,[out] EXPCMDSTATE *pCmdState); 3838} 3839 3840cpp_quote("") 3841[object, uuid (85075acf-231f-40ea-9610-d26b7b58f638), pointer_default (unique)] 3842interface IInitializeCommand : IUnknown { 3843 HRESULT Initialize ([in, string] LPCWSTR pszCommandName,[in] IPropertyBag *ppb); 3844} 3845 3846cpp_quote("") 3847[object, uuid (a88826f8-186f-4987-aade-ea0cef8fbfe8), pointer_default (unique)] 3848interface IEnumExplorerCommand : IUnknown { 3849 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IExplorerCommand **pUICommand,[out] ULONG *pceltFetched); 3850 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IExplorerCommand **pUICommand,[out] ULONG *pceltFetched); 3851 HRESULT Skip ([in] ULONG celt); 3852 HRESULT Reset (); 3853 HRESULT Clone ([out] IEnumExplorerCommand **ppenum); 3854} 3855 3856cpp_quote("") 3857[uuid (64961751-0835-43c0-8ffe-d57686530e64), pointer_default (unique)] 3858interface IExplorerCommandProvider : IUnknown { 3859 HRESULT GetCommands ([in] IUnknown *punkSite,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3860 HRESULT GetCommand ([in] REFGUID rguidCommandId,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3861} 3862 3863cpp_quote("") 3864typedef HANDLE HTHEME; 3865 3866cpp_quote("") 3867[object, uuid (6e0f9881-42a8-4f2a-97f8-8af4e026d92d), pointer_default (unique)] 3868interface IInitializeNetworkFolder : IUnknown { 3869 HRESULT Initialize ([in, unique] PCIDLIST_ABSOLUTE pidl,[in, unique] PCIDLIST_ABSOLUTE pidlTarget,[in] UINT uDisplayType,[in, unique, string] LPCWSTR pszResName,[in, unique, string] LPCWSTR pszProvider); 3870} 3871 3872cpp_quote("") 3873typedef [v1_enum] enum CPVIEW { 3874 CPVIEW_CLASSIC = 0, 3875 CPVIEW_ALLITEMS = CPVIEW_CLASSIC, 3876 CPVIEW_CATEGORY = 1, 3877 CPVIEW_HOME = CPVIEW_CATEGORY, 3878} CPVIEW; 3879 3880cpp_quote("") 3881[object, uuid (D11AD862-66de-4df4-BF6C-1f5621996af1)] 3882interface IOpenControlPanel : IUnknown { 3883 HRESULT Open ([in, unique, string] LPCWSTR pszName,[in, unique, string] LPCWSTR pszPage,[in, unique] IUnknown *punkSite); 3884 HRESULT GetPath ([in, unique, string] LPCWSTR pszName,[out, string, size_is (cchPath)] LPWSTR pszPath,[in] UINT cchPath); 3885 HRESULT GetCurrentView ([out] CPVIEW *pView); 3886} 3887 3888cpp_quote("") 3889[object, uuid (0df60d92-6818-46d6-B358-D66170DDE466), pointer_default (unique)] 3890interface IComputerInfoChangeNotify : IUnknown { 3891 HRESULT ComputerInfoChanged (); 3892} 3893 3894cpp_quote("") 3895cpp_quote("#define STR_FILE_SYS_BIND_DATA L\"File System Bind Data\"") 3896 3897cpp_quote("") 3898[object, uuid (01e18d10-4d8b-11d2-855d-006008059367), pointer_default (unique), local] 3899interface IFileSystemBindData : IUnknown { 3900 HRESULT SetFindData ([in] const WIN32_FIND_DATAW *pfd); 3901 HRESULT GetFindData ([out] WIN32_FIND_DATAW *pfd); 3902} 3903 3904cpp_quote("") 3905[object, uuid (3acf075f-71db-4afa-81f0-3fc4fdf2a5b8), pointer_default (unique), local] 3906interface IFileSystemBindData2 : IFileSystemBindData { 3907 HRESULT SetFileID ([in] LARGE_INTEGER liFileID); 3908 HRESULT GetFileID ([out] LARGE_INTEGER *pliFileID); 3909 HRESULT SetJunctionCLSID ([in] REFCLSID clsid); 3910 HRESULT GetJunctionCLSID ([out] CLSID *pclsid); 3911} 3912 3913cpp_quote("") 3914cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 3915[object, uuid (6332debf-87b5-4670-90c0-5e57b408a49e), pointer_default (unique)] 3916interface ICustomDestinationList : IUnknown { 3917 typedef [v1_enum] enum KNOWNDESTCATEGORY { 3918 KDC_FREQUENT = 1, 3919 KDC_RECENT, 3920 } KNOWNDESTCATEGORY; 3921cpp_quote("") 3922 HRESULT SetAppID ([in, string] LPCWSTR pszAppID); 3923 HRESULT BeginList ([out] UINT *pcMinSlots,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3924 HRESULT AppendCategory ([in, string] LPCWSTR pszCategory,[in] IObjectArray *poa); 3925 HRESULT AppendKnownCategory ([in] KNOWNDESTCATEGORY category); 3926 HRESULT AddUserTasks ([in] IObjectArray *poa); 3927 HRESULT CommitList (); 3928 HRESULT GetRemovedDestinations ([in] REFIID riid,[out, iid_is (riid)] void **ppv); 3929 HRESULT DeleteList ([in, unique, string] LPCWSTR pszAppID); 3930 HRESULT AbortList (); 3931} 3932 3933cpp_quote("") 3934[object, uuid (12337d35-94c6-48a0-bce7-6a9c69d4d600), pointer_default (unique)] 3935interface IApplicationDestinations : IUnknown { 3936 HRESULT SetAppID ([in] LPCWSTR pszAppID); 3937 HRESULT RemoveDestination ([in] IUnknown *punk); 3938 HRESULT RemoveAllDestinations (); 3939} 3940 3941cpp_quote("") 3942[object, uuid (3c594f9f-9f30-47a1-979a-c9e83d3d0a06), pointer_default (unique)] 3943interface IApplicationDocumentLists : IUnknown { 3944 typedef [v1_enum] enum APPDOCLISTTYPE { 3945 ADLT_RECENT = 0, 3946 ADLT_FREQUENT, 3947 } APPDOCLISTTYPE; 3948cpp_quote("") 3949 HRESULT SetAppID ([in] LPCWSTR pszAppID); 3950 HRESULT GetList ([in] APPDOCLISTTYPE listtype,[in] UINT cItemsDesired,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 3951} 3952 3953cpp_quote("") 3954[object, uuid (36db0196-9665-46d1-9ba7-d3709eecf9ed), pointer_default (unique)] 3955interface IObjectWithAppUserModelID : IUnknown { 3956 HRESULT SetAppID ([in, string] LPCWSTR pszAppID); 3957 HRESULT GetAppID ([out, string] LPWSTR *ppszAppID); 3958} 3959 3960cpp_quote("") 3961[object, uuid (71e806fb-8dee-46fc-bf8c-7748a8a1ae13), pointer_default (unique)] 3962interface IObjectWithProgID : IUnknown { 3963 HRESULT SetProgID ([in, string] LPCWSTR pszProgID); 3964 HRESULT GetProgID ([out, string] LPWSTR *ppszProgID); 3965} 3966 3967cpp_quote("") 3968[uuid (6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c), local, pointer_default (unique)] 3969interface IUpdateIDList : IUnknown { 3970 HRESULT Update ([in, unique] IBindCtx *pbc,[in] PCUITEMID_CHILD pidlIn,[out] PITEMID_CHILD *ppidlOut); 3971} 3972 3973cpp_quote("") 3974cpp_quote("SHSTDAPI SetCurrentProcessExplicitAppUserModelID(PCWSTR AppID);") 3975cpp_quote("SHSTDAPI GetCurrentProcessExplicitAppUserModelID(PWSTR *AppID);") 3976cpp_quote("#endif") 3977 3978cpp_quote("") 3979[object, uuid (c1646bc4-f298-4f91-a204-eb2dd1709d1a),] 3980interface IDesktopGadget : IUnknown { 3981 HRESULT RunGadget ([in] LPCWSTR gadgetPath); 3982} 3983 3984cpp_quote("") 3985cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 3986[object, uuid (B92B56A9-8b55-4e14-9a89-0199bbb6f93b)] 3987interface IDesktopWallpaper : IUnknown { 3988 typedef [v1_enum] enum DESKTOP_SLIDESHOW_OPTIONS { 3989 DSO_SHUFFLEIMAGES = 0x01, 3990 } DESKTOP_SLIDESHOW_OPTIONS; 3991cpp_quote("") 3992cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_OPTIONS);") 3993cpp_quote("") 3994 typedef [v1_enum] enum DESKTOP_SLIDESHOW_STATE { 3995 DSS_ENABLED = 0x01, 3996 DSS_SLIDESHOW = 0x02, 3997 DSS_DISABLED_BY_REMOTE_SESSION = 0x04 3998 } DESKTOP_SLIDESHOW_STATE; 3999cpp_quote("") 4000cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DESKTOP_SLIDESHOW_STATE);") 4001cpp_quote("") 4002 typedef [v1_enum] enum DESKTOP_SLIDESHOW_DIRECTION { 4003 DSD_FORWARD = 0, 4004 DSD_BACKWARD = 1 4005 } DESKTOP_SLIDESHOW_DIRECTION; 4006 4007cpp_quote("") 4008 typedef [v1_enum] enum DESKTOP_WALLPAPER_POSITION { 4009 DWPOS_CENTER = 0, 4010 DWPOS_TILE = 1, 4011 DWPOS_STRETCH = 2, 4012 DWPOS_FIT = 3, 4013 DWPOS_FILL = 4, 4014 DWPOS_SPAN = 5 4015 } DESKTOP_WALLPAPER_POSITION; 4016cpp_quote("") 4017 HRESULT SetWallpaper ([in, unique] LPCWSTR monitorID,[in] LPCWSTR wallpaper); 4018 HRESULT GetWallpaper ([in, unique] LPCWSTR monitorID,[out, string] LPWSTR *wallpaper); 4019 HRESULT GetMonitorDevicePathAt ([in] UINT monitorIndex,[out, string] LPWSTR *monitorID); 4020 HRESULT GetMonitorDevicePathCount ([out] UINT *count); 4021 HRESULT GetMonitorRECT ([in] LPCWSTR monitorID,[out] RECT *displayRect); 4022 HRESULT SetBackgroundColor ([in] COLORREF color); 4023 HRESULT GetBackgroundColor ([out] COLORREF *color); 4024 HRESULT SetPosition ([in] DESKTOP_WALLPAPER_POSITION position); 4025 HRESULT GetPosition ([out] DESKTOP_WALLPAPER_POSITION *position); 4026 HRESULT SetSlideshow ([in] IShellItemArray *items); 4027 HRESULT GetSlideshow ([out] IShellItemArray **items); 4028 HRESULT SetSlideshowOptions ([in] DESKTOP_SLIDESHOW_OPTIONS options,[in] UINT slideshowTick); 4029 HRESULT GetSlideshowOptions ([out] DESKTOP_SLIDESHOW_OPTIONS *options,[out] UINT *slideshowTick); 4030 HRESULT AdvanceSlideshow ([in, unique] LPCWSTR monitorID,[in] DESKTOP_SLIDESHOW_DIRECTION direction); 4031 HRESULT GetStatus ([out] DESKTOP_SLIDESHOW_STATE *state); 4032 HRESULT Enable ([in] BOOL enable); 4033} 4034cpp_quote("#endif") 4035 4036cpp_quote("") 4037cpp_quote("#define HOMEGROUP_SECURITY_GROUP_MULTI L\"HUG\"") 4038cpp_quote("#define HOMEGROUP_SECURITY_GROUP L\"HomeUsers\"") 4039 4040cpp_quote("") 4041[object, local, uuid (7a3bd1d9-35a9-4fb3-a467-f48cac35e2d0)] 4042interface IHomeGroup : IUnknown { 4043 typedef [v1_enum] enum HOMEGROUPSHARINGCHOICES { 4044 HGSC_NONE = 0x00000000, 4045 HGSC_MUSICLIBRARY = 0x00000001, 4046 HGSC_PICTURESLIBRARY = 0x00000002, 4047 HGSC_VIDEOSLIBRARY = 0x00000004, 4048 HGSC_DOCUMENTSLIBRARY = 0x00000008, 4049 HGSC_PRINTERS = 0x00000010, 4050 } HOMEGROUPSHARINGCHOICES; 4051cpp_quote("") 4052cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(HOMEGROUPSHARINGCHOICES)") 4053cpp_quote("") 4054 HRESULT IsMember ([out] BOOL *member); 4055 HRESULT ShowSharingWizard ([in] HWND owner,[out] HOMEGROUPSHARINGCHOICES *sharingchoices); 4056} 4057 4058cpp_quote("") 4059[object, uuid (C3E12EB5-7d8d-44f8-B6DD-0e77b34d6de4), pointer_default (unique)] 4060interface IInitializeWithPropertyStore : IUnknown { 4061 HRESULT Initialize ([in] IPropertyStore *pps); 4062} 4063 4064cpp_quote("") 4065[object, uuid (F0EE7333-E6FC-479b-9f25-A860C234A38E), pointer_default (unique),] 4066interface IOpenSearchSource : IUnknown { 4067 HRESULT GetResults ([in] HWND hwnd,[in] LPCWSTR pszQuery,[in] DWORD dwStartIndex,[in] DWORD dwCount,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 4068} 4069 4070cpp_quote("") 4071[object, uuid (11a66efa-382e-451a-9234-1e0e12ef3085), pointer_default (unique)] 4072interface IShellLibrary : IUnknown { 4073 typedef [v1_enum] enum LIBRARYFOLDERFILTER { 4074 LFF_FORCEFILESYSTEM = 1, 4075 LFF_STORAGEITEMS = 2, 4076 LFF_ALLITEMS = 3 4077 } LIBRARYFOLDERFILTER; 4078 4079cpp_quote("") 4080 typedef [v1_enum] enum LIBRARYOPTIONFLAGS { 4081 LOF_DEFAULT = 0x00000000, 4082 LOF_PINNEDTONAVPANE = 0x00000001, 4083 LOF_MASK_ALL = 0x00000001 4084 } LIBRARYOPTIONFLAGS; 4085cpp_quote("") 4086cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)") 4087cpp_quote("") 4088 typedef [v1_enum] enum DEFAULTSAVEFOLDERTYPE { 4089 DSFT_DETECT = 1, 4090 DSFT_PRIVATE, 4091 DSFT_PUBLIC 4092 } DEFAULTSAVEFOLDERTYPE; 4093 4094cpp_quote("") 4095 typedef [v1_enum] enum LIBRARYSAVEFLAGS { 4096 LSF_FAILIFTHERE = 0x00000000, 4097 LSF_OVERRIDEEXISTING = 0x00000001, 4098 LSF_MAKEUNIQUENAME = 0x00000002, 4099 } LIBRARYSAVEFLAGS; 4100cpp_quote("") 4101cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)") 4102cpp_quote("") 4103 HRESULT LoadLibraryFromItem ([in] IShellItem *psiLibrary,[in] DWORD grfMode); 4104 HRESULT LoadLibraryFromKnownFolder ([in] REFKNOWNFOLDERID kfidLibrary,[in] DWORD grfMode); 4105 HRESULT AddFolder ([in] IShellItem *psiLocation); 4106 HRESULT RemoveFolder ([in] IShellItem *psiLocation); 4107 HRESULT GetFolders ([in] LIBRARYFOLDERFILTER lff,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 4108 HRESULT ResolveFolder ([in] IShellItem *psiFolderToResolve,[in] DWORD dwTimeout,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 4109 HRESULT GetDefaultSaveFolder ([in] DEFAULTSAVEFOLDERTYPE dsft,[in] REFIID riid,[out, iid_is (riid)] void **ppv); 4110 HRESULT SetDefaultSaveFolder ([in] DEFAULTSAVEFOLDERTYPE dsft,[in] IShellItem *psi); 4111 HRESULT GetOptions ([out] LIBRARYOPTIONFLAGS *plofOptions); 4112 HRESULT SetOptions ([in] LIBRARYOPTIONFLAGS lofMask,[in] LIBRARYOPTIONFLAGS lofOptions); 4113 HRESULT GetFolderType ([out] FOLDERTYPEID *pftid); 4114 HRESULT SetFolderType ([in] REFFOLDERTYPEID ftid); 4115 HRESULT GetIcon ([out, string] LPWSTR *ppszIcon); 4116 HRESULT SetIcon ([in, string] LPCWSTR pszIcon); 4117 HRESULT Commit (); 4118 HRESULT Save ([in] IShellItem *psiFolderToSaveIn,[in, string] LPCWSTR pszLibraryName,[in] LIBRARYSAVEFLAGS lsf,[out] IShellItem **ppsiSavedTo); 4119 HRESULT SaveInKnownFolder ([in] REFKNOWNFOLDERID kfidToSaveIn,[in, string] LPCWSTR pszLibraryName,[in] LIBRARYSAVEFLAGS lsf,[out] IShellItem **ppsiSavedTo); 4120} 4121 4122cpp_quote("") 4123typedef [v1_enum] enum PBM_EVENT { 4124 PE_DUCKSESSION = 1, 4125 PE_UNDUCKSESSION = 2, 4126} PBM_EVENT; 4127 4128cpp_quote("") 4129[object, uuid (385cfb7d-4e0c-4106-912e-8cfb4c191f45)] 4130interface IPlaybackManagerEvents : IUnknown { 4131 HRESULT OnPlaybackManagerEvent ([in] DWORD dwSessionId,[in] PBM_EVENT mediaEvent); 4132} 4133 4134cpp_quote("") 4135typedef [v1_enum] enum PBM_SESSION_TYPE { 4136 ST_COMMUNICATION = 1, 4137 ST_MEDIA = 2 4138} PBM_SESSION_TYPE; 4139 4140cpp_quote("") 4141typedef [v1_enum] enum PBM_PLAY_STATE { 4142 PS_PLAYING = 1, 4143 PS_PAUSED = 2, 4144 PS_STOPPED = 3 4145} PBM_PLAY_STATE; 4146 4147cpp_quote("") 4148typedef [v1_enum] enum PBM_MUTE_STATE { 4149 MS_MUTED = 1, 4150 MS_UNMUTED = 2 4151} PBM_MUTE_STATE; 4152 4153cpp_quote("") 4154[object, uuid (0f3c1b01-8199-4173-BA78-985882266f7a)] 4155interface IPlaybackManager : IUnknown { 4156 HRESULT Advise ([in] PBM_SESSION_TYPE type,[in] IPlaybackManagerEvents *pEvents,[out] DWORD *pdwSessionId); 4157 HRESULT Unadvise ([in] DWORD dwSessionId); 4158 HRESULT ChangeSessionState ([in] DWORD dwSessionId,[in] PBM_PLAY_STATE state,[in] PBM_MUTE_STATE mute); 4159} 4160 4161cpp_quote("") 4162typedef [v1_enum] enum DEFAULT_FOLDER_MENU_RESTRICTIONS { 4163 DFMR_DEFAULT = 0x0000, 4164 DFMR_NO_STATIC_VERBS = 0x0008, 4165 DFMR_STATIC_VERBS_ONLY = 0x0010, 4166 DFMR_NO_RESOURCE_VERBS = 0x0020, 4167 DFMR_OPTIN_HANDLERS_ONLY = 0x0040, 4168 DFMR_RESOURCE_AND_FOLDER_VERBS_ONLY = 0x0080, 4169 DFMR_USE_SPECIFIED_HANDLERS = 0x0100, 4170 DFMR_USE_SPECIFIED_VERBS = 0x0200, 4171 DFMR_NO_ASYNC_VERBS = 0x0400 4172} DEFAULT_FOLDER_MENU_RESTRICTIONS; 4173cpp_quote("") 4174cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DEFAULT_FOLDER_MENU_RESTRICTIONS)") 4175 4176cpp_quote("") 4177[object, local, uuid (7690aa79-f8fc-4615-a327-36f7d18f5d91), pointer_default (unique)] 4178interface IDefaultFolderMenuInitialize : IUnknown { 4179 HRESULT Initialize ([in] HWND hwnd,[in, unique] IContextMenuCB *pcmcb,[in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in, unique] IShellFolder *psf,[in] UINT cidl,[in, unique, size_is (cidl)] PCUITEMID_CHILD_ARRAY apidl,[in, unique] IUnknown *punkAssociation,[in] UINT cKeys,[in, unique, size_is (cKeys)] const HKEY *aKeys); 4180 HRESULT SetMenuRestrictions ([in] DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrValues); 4181 HRESULT GetMenuRestrictions ([in] DEFAULT_FOLDER_MENU_RESTRICTIONS dfmrMask,[out] DEFAULT_FOLDER_MENU_RESTRICTIONS *pdfmrValues); 4182 HRESULT SetHandlerClsid ([in] REFCLSID rclsid); 4183} 4184 4185cpp_quote("") 4186cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 4187typedef [v1_enum] enum ACTIVATEOPTIONS { 4188 AO_NONE = 0x00000000, 4189 AO_DESIGNMODE = 0x00000001, 4190 AO_NOERRORUI = 0x00000002, 4191 AO_NOSPLASHSCREEN = 0x00000004 4192} ACTIVATEOPTIONS; 4193cpp_quote("") 4194cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(ACTIVATEOPTIONS)") 4195 4196cpp_quote("") 4197[object, uuid (2e941141-7f97-4756-ba1d-9decde894a3d), pointer_default (unique)] 4198interface IApplicationActivationManager : IUnknown { 4199 HRESULT ActivateApplication ([in] LPCWSTR appUserModelId,[in, unique] LPCWSTR arguments,[in] ACTIVATEOPTIONS options,[out] DWORD *processId); 4200 HRESULT ActivateForFile ([in] LPCWSTR appUserModelId,[in] IShellItemArray *itemArray,[in, unique] LPCWSTR verb,[out] DWORD *processId); 4201 HRESULT ActivateForProtocol ([in] LPCWSTR appUserModelId,[in] IShellItemArray *itemArray,[out] DWORD *processId); 4202} 4203cpp_quote("#endif") 4204 4205cpp_quote("") 4206[uuid (50a7e9b1-70ef-11d1-b75a-00a0c90564fe), lcid (0x0000), version (1.0)] 4207library ShellObjects { 4208 [uuid (C2CF3110-460e-4fc1-B9D0-8a1c0c9cc4bd)] coclass DesktopWallpaper { interface IDesktopWallpaper; } 4209 [uuid (00021400-0000-0000-C000-000000000046)] coclass ShellDesktop { interface IShellFolder2; } 4210 [uuid (F3364BA0-65b9-11ce-A9BA-00aa004ae837)] coclass ShellFSFolder { interface IShellFolder2; } 4211 [uuid (208d2c60-3aea-1069-A2D7-08002b30309d)] coclass NetworkPlaces { interface IShellFolder2; } 4212 [uuid (00021401-0000-0000-C000-000000000046)] coclass ShellLink { interface IShellLinkW; } 4213 [uuid (331f1768-05a9-4ddd-B86E-DAE34DDC998A)] coclass QueryCancelAutoPlay { interface IQueryCancelAutoPlay; } 4214 [uuid (94357b53-CA29-4b78-83ae-E8FE7409134F)] coclass DriveSizeCategorizer { interface ICategorizer; } 4215 [uuid (B0A8F3CF-4333-4bab-8873-1ccb1cada48b)] coclass DriveTypeCategorizer { interface ICategorizer; } 4216 [uuid (B5607793-24ac-44c7-82e2-831726aa6cb7)] coclass FreeSpaceCategorizer { interface ICategorizer; } 4217 [uuid (3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe)] coclass TimeCategorizer { interface ICategorizer; } 4218 [uuid (55d7b852-f6d1-42f2-aa75-8728a1b2d264)] coclass SizeCategorizer { interface ICategorizer; } 4219 [uuid (3c2654c6-7372-4f6b-b310-55d6128f49d2)] coclass AlphabeticalCategorizer { interface ICategorizer; } 4220 [uuid (8e827c11-33e7-4bc1-b242-8cd9a1c2b304)] coclass MergedCategorizer { interface ICategorizer; } 4221 [uuid (7ab770c7-0e23-4d7a-8aa2-19bfad479829)] coclass ImageProperties { interface IPersistFile; } 4222 [uuid (d912f8cf-0396-4915-884e-fb425d32943b)] coclass PropertiesUI { interface IPropertyUI; } 4223 [uuid (0010890e-8789-413c-adbc-48f5b511b3af)] coclass UserNotification { interface IUserNotification; } 4224 [uuid (fbeb8a05-beee-4442-804e-409d6c4515e9)] coclass CDBurn { interface ICDBurn; } 4225 [uuid (56fdf344-FD6D-11d0-958a-006097c9a090)] coclass TaskbarList { interface ITaskbarList4; } 4226 [uuid (a2a9545d-a0c2-42b4-9708-a0b2badd77c8)] coclass StartMenuPin { interface IStartMenuPinnedList; } 4227 [uuid (c827f149-55c1-4d28-935e-57e47caed973)] coclass WebWizardHost { interface IWebWizardExtension; } 4228 [uuid (CC6EEFFB-43f6-46c5-9619-51d571967f7d)] coclass PublishDropTarget { interface IDropTarget; } 4229 [uuid (6b33163c-76a5-4b6c-bf21-45de9cd503a1)] coclass PublishingWizard { interface IPublishingWizard; } 4230 cpp_quote("#define SID_PublishingWizard CLSID_PublishingWizard") 4231 [uuid (add36aa8-751a-4579-a266-d66f5202ccbb)] coclass InternetPrintOrdering { interface IDropTarget; } 4232 [uuid (20b1cb23-6968-4eb9-b7d4-a66d00d07cee)] coclass FolderViewHost { interface IFolderViewHost; } 4233 [uuid (71f96385-ddd6-48d3-a0c1-ae06e8b055fb)] coclass ExplorerBrowser { interface IExplorerBrowser; } 4234 [uuid (6e33091c-d2f8-4740-b55e-2e11d1477a2c)] coclass ImageRecompress { interface IImageRecompress; } 4235 [uuid (F60AD0A0-E5E1-45cb-B51A-E15B9F8B2934)] coclass TrayBandSiteService { interface IBandSite; } 4236 [uuid (E6442437-6c68-4f52-94dd-2cfed267efb9)] coclass TrayDeskBand { interface ITrayDeskBand; } 4237 [uuid (4125dd96-e03a-4103-8f70-e0597d803b9c)] coclass AttachmentServices { interface IAttachmentExecute; } 4238 [uuid (883373c3-BF89-11d1-BE35-080036b11a03)] coclass DocPropShellExtension { interface IShellExtInit; } 4239 [uuid (9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917)] coclass ShellItem { interface IShellItem2; } 4240 [uuid (72eb61e0-8672-4303-9175-f2e4c68b2e7c)] coclass NamespaceWalker { interface INamespaceWalk; } 4241 [uuid (3ad05575-8857-4850-9277-11b85bdb8e09)] coclass FileOperation { interface IFileOperation; } 4242 [uuid (DC1C5A9C-E88A-4dde-A5A1-60f82a20aef7)] coclass FileOpenDialog { interface IFileOpenDialog; } 4243 [uuid (C0B4E2F3-BA21-4773-8dba-335ec946eb8b)] coclass FileSaveDialog { interface IFileSaveDialog; } 4244 [uuid (4df0c730-df9d-4ae3-9153-aa6b82e9795a)] coclass KnownFolderManager { interface IKnownFolderManager; } 4245 [uuid (D197380A-0a79-4dc8-A033-ED882C2FA14B)] coclass FSCopyHandler { interface IUnknown; } 4246 [uuid (49f371e1-8c5c-4d9c-9a3b-54a6827f513c)] coclass SharingConfigurationManager { interface ISharingConfigurationManager; } 4247 [uuid (596ab062-B4D2-4215-9f74-E9109B0A8153)] coclass PreviousVersions { interface IPreviousVersionsInfo; } 4248 [uuid (7007acc7-3202-11d1-AAD2-00805fc1270e)] coclass NetworkConnections { interface IShellFolder2; } 4249 [uuid (AE054212-3535-4430-83ed-D501AA6680E6)] coclass NamespaceTreeControl { interface INameSpaceTreeControl2; } 4250 [uuid (ACE52D03-E5CD-4b20-82ff-E71B11BEAE1D)] coclass IENamespaceTreeControl { interface IUnknown; } 4251 [uuid (D6277990-4c6a-11cf-8d87-00aa0060f5bf)] coclass ScheduledTasks { interface IShellFolder2; } 4252 [uuid (591209c7-767b-42b2-9fba-44ee4615f2c7)] coclass ApplicationAssociationRegistration { interface IApplicationAssociationRegistration; } 4253 [uuid (1968106d-f3b5-44cf-890e-116fcb9ecef1)] coclass ApplicationAssociationRegistrationUI { interface IApplicationAssociationRegistrationUI; } 4254 [uuid (14010e02-bbbd-41f0-88e3-eda371216584)] coclass SearchFolderItemFactory { interface ISearchFolderItemFactory; } 4255 [uuid (06622d85-6856-4460-8de1-A81921B41C4B)] coclass OpenControlPanel { interface IOpenControlPanel; } 4256 [uuid (9e56be60-C50F-11cf-9a2c-00a0c90a90ce)] coclass MailRecipient { interface IDropTarget; } 4257 [uuid (F02C1A0D-BE21-4350-88b0-7367fc96ef3c)] coclass NetworkExplorerFolder { interface IShellFolder2; } 4258 [uuid (77f10cf0-3db5-4966-b520-b7c54fd35ed6)] coclass DestinationList { interface ICustomDestinationList; } 4259 [uuid (86c14003-4d6b-4ef3-a7b4-0506663b2e68)] coclass ApplicationDestinations { interface IApplicationDestinations; } 4260 [uuid (86bec222-30f2-47e0-9f25-60d11cd75c28)] coclass ApplicationDocumentLists { interface IApplicationDocumentLists; } 4261 [uuid (DE77BA04-3c92-4d11-A1A5-42352a53e0e3)] coclass HomeGroup { interface IHomeGroup; } 4262 [uuid (d9b3211d-e57f-4426-aaef-30a806add397)] coclass ShellLibrary { interface IShellLibrary; } 4263 [uuid (273eb5e7-88b0-4843-bfef-e2c81d43aae5)] coclass AppStartupLink { interface IShellLinkW; } 4264 [uuid (2d3468c1-36a7-43b6-ac24-d3f02fd9607a)] coclass EnumerableObjectCollection { interface IEnumObjects; } 4265 [uuid (924ccc1b-6562-4c85-8657-d177925222b6)] coclass DesktopGadget { interface IDesktopGadget; } 4266 [uuid (29dfa654-A97F-47f0-BF26-9e41fb9488d9)] coclass PlaybackManager { interface IPlaybackManager; } 4267 [uuid (29ce1d46-B481-4aa0-A08A-D3EBC8ACA402)] coclass AccessibilityDockingService { interface IAccessibilityDockingService; } 4268 [uuid (D5120AA3-46ba-44c5-822d-CA8092C1FC72)] coclass FrameworkInputPane { interface IFrameworkInputPane; } 4269 [uuid (c63382be-7933-48d0-9ac8-85fb46be2fdd)] coclass DefFolderMenu { interface IDefaultFolderMenuInitialize; } 4270 [uuid (7e5fe3d9-985f-4908-91f9-EE19F9FD1514)] coclass AppVisibility { interface IAppVisibility; } 4271 [uuid (4ed3a719-CEA8-4bd9-910d-E252F997AFC2)] coclass AppShellVerbHandler { interface IExecuteCommand; } 4272 [uuid (e44e9428-bdbc-4987-a099-40dc8fd255e7)] coclass ExecuteUnknown { interface IExecuteCommand; } 4273 [uuid (B1AEC16F-2383-4852-B0E9-8f0b1dc66b4d)] coclass PackageDebugSettings { interface IPackageDebugSettings; } 4274 [uuid (45ba127d-10a8-46ea-8ab7-56ea9078943c)] coclass ApplicationActivationManager { interface IApplicationActivationManager; } 4275 [uuid (958a6fb5-dcb2-4faf-aafd-7fb054ad1a3b)] coclass ApplicationDesignModeSettings { interface IApplicationDesignModeSettings; } 4276 [uuid (11dbb47c-a525-400b-9e80-a54615a090c0)] coclass ExecuteFolder { interface IExecuteCommand; } 4277}; 4278cpp_quote("") 4279cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 4280cpp_quote(" SHSTDAPI SHGetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, PROPVARIANT *ppropvar);") 4281cpp_quote(" SHSTDAPI SHSetTemporaryPropertyForItem(IShellItem *psi, REFPROPERTYKEY propkey, REFPROPVARIANT propvar);") 4282cpp_quote("#endif") 4283cpp_quote("") 4284cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 4285cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70") 4286typedef [v1_enum] enum LIBRARYMANAGEDIALOGOPTIONS { 4287 LMD_DEFAULT = 0x00000000, 4288 LMD_ALLOWUNINDEXABLENETWORKLOCATIONS = 0x00000001 4289} LIBRARYMANAGEDIALOGOPTIONS; 4290cpp_quote("") 4291cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS)") 4292cpp_quote("") 4293cpp_quote(" SHSTDAPI SHShowManageLibraryUI(IShellItem *psiLibrary, HWND hwndOwner, LPCWSTR pszTitle, LPCWSTR pszInstruction, LIBRARYMANAGEDIALOGOPTIONS lmdOptions);") 4294cpp_quote(" SHSTDAPI SHResolveLibrary(IShellItem *psiLibrary);") 4295cpp_quote("#if defined(__cplusplus) && !defined(CINTERFACE)") 4296cpp_quote(" __forceinline HRESULT SHCreateLibrary(REFIID riid, void **ppv) {") 4297cpp_quote(" return CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, riid, ppv);") 4298cpp_quote(" }") 4299cpp_quote("") 4300cpp_quote(" __forceinline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) {") 4301cpp_quote(" IShellLibrary *plib;") 4302cpp_quote(" HRESULT hr;") 4303cpp_quote("") 4304cpp_quote(" *ppv = NULL;") 4305cpp_quote(" hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));") 4306cpp_quote(" if (SUCCEEDED(hr)) {") 4307cpp_quote(" hr = plib->LoadLibraryFromItem(psiLibrary, grfMode);") 4308cpp_quote(" if (SUCCEEDED(hr))") 4309cpp_quote(" hr = plib->QueryInterface(riid, ppv);") 4310cpp_quote(" plib->Release();") 4311cpp_quote(" }") 4312cpp_quote(" return hr;") 4313cpp_quote(" }") 4314cpp_quote("") 4315cpp_quote(" __forceinline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) {") 4316cpp_quote(" IShellLibrary *plib;") 4317cpp_quote(" HRESULT hr;") 4318cpp_quote("") 4319cpp_quote(" *ppv = NULL;") 4320cpp_quote(" hr = CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&plib));") 4321cpp_quote(" if (SUCCEEDED(hr)) {") 4322cpp_quote(" hr = plib->LoadLibraryFromKnownFolder(kfidLibrary, grfMode);") 4323cpp_quote(" if (SUCCEEDED(hr))") 4324cpp_quote(" hr = plib->QueryInterface(riid, ppv);") 4325cpp_quote(" plib->Release();") 4326cpp_quote(" }") 4327cpp_quote(" return hr;") 4328cpp_quote(" }") 4329cpp_quote("") 4330cpp_quote(" __forceinline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) {") 4331cpp_quote(" IShellItem *psiLibrary;") 4332cpp_quote(" HRESULT hr;") 4333cpp_quote("") 4334cpp_quote(" *ppv = NULL;") 4335cpp_quote(" hr = SHCreateItemFromParsingName(pszParsingName, NULL, IID_PPV_ARGS(&psiLibrary));") 4336cpp_quote(" if (SUCCEEDED(hr)) {") 4337cpp_quote(" hr = SHLoadLibraryFromItem(psiLibrary, grfMode, riid, ppv);") 4338cpp_quote(" psiLibrary->Release();") 4339cpp_quote(" }") 4340cpp_quote(" return hr;") 4341cpp_quote(" }") 4342cpp_quote("") 4343cpp_quote(" __forceinline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {") 4344cpp_quote(" IShellItem *psiFolder;") 4345cpp_quote(" HRESULT hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));") 4346cpp_quote("") 4347cpp_quote(" if (SUCCEEDED(hr)) {") 4348cpp_quote(" hr = plib->AddFolder(psiFolder);") 4349cpp_quote(" psiFolder->Release();") 4350cpp_quote(" }") 4351cpp_quote(" return hr;") 4352cpp_quote(" }") 4353cpp_quote("") 4354cpp_quote(" __forceinline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) {") 4355cpp_quote(" PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);") 4356cpp_quote(" HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;") 4357cpp_quote("") 4358cpp_quote(" if (SUCCEEDED(hr)) {") 4359cpp_quote(" IShellItem *psiFolder;") 4360cpp_quote("") 4361cpp_quote(" hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));") 4362cpp_quote(" if (SUCCEEDED(hr)) {") 4363cpp_quote(" hr = plib->RemoveFolder(psiFolder);") 4364cpp_quote(" psiFolder->Release();") 4365cpp_quote(" }") 4366cpp_quote(" CoTaskMemFree(pidlFolder);") 4367cpp_quote(" }") 4368cpp_quote(" return hr;") 4369cpp_quote(" }") 4370cpp_quote("") 4371cpp_quote(" __forceinline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) {") 4372cpp_quote(" *ppszResolvedPath = NULL;") 4373cpp_quote(" PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath);") 4374cpp_quote(" HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG;") 4375cpp_quote(" if (SUCCEEDED(hr)) {") 4376cpp_quote(" IShellItem *psiFolder;") 4377cpp_quote("") 4378cpp_quote(" hr = SHCreateItemFromIDList(pidlFolder, IID_PPV_ARGS(&psiFolder));") 4379cpp_quote(" if (SUCCEEDED(hr)) {") 4380cpp_quote(" IShellItem *psiResolved;") 4381cpp_quote("") 4382cpp_quote(" hr = plib->ResolveFolder(psiFolder, dwTimeout, IID_PPV_ARGS(&psiResolved));") 4383cpp_quote(" if (SUCCEEDED(hr)) {") 4384cpp_quote(" hr = psiResolved->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszResolvedPath);") 4385cpp_quote(" psiResolved->Release();") 4386cpp_quote(" }") 4387cpp_quote(" psiFolder->Release();") 4388cpp_quote(" }") 4389cpp_quote(" CoTaskMemFree(pidlFolder);") 4390cpp_quote(" }") 4391cpp_quote(" return hr;") 4392cpp_quote(" }") 4393cpp_quote("") 4394cpp_quote(" __forceinline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) {") 4395cpp_quote(" IShellItem *psiFolder;") 4396cpp_quote(" HRESULT hr;") 4397cpp_quote("") 4398cpp_quote(" if (ppszSavedToPath)") 4399cpp_quote(" *ppszSavedToPath = NULL;") 4400cpp_quote(" hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(&psiFolder));") 4401cpp_quote(" if (SUCCEEDED(hr)) {") 4402cpp_quote(" IShellItem *psiSavedTo;") 4403cpp_quote("") 4404cpp_quote(" hr = plib->Save(psiFolder, pszLibraryName, lsf, &psiSavedTo);") 4405cpp_quote(" if (SUCCEEDED(hr)) {") 4406cpp_quote(" if (ppszSavedToPath)") 4407cpp_quote(" hr = psiSavedTo->GetDisplayName(SIGDN_DESKTOPABSOLUTEPARSING, ppszSavedToPath);") 4408cpp_quote(" psiSavedTo->Release();") 4409cpp_quote(" }") 4410cpp_quote(" psiFolder->Release();") 4411cpp_quote(" }") 4412cpp_quote(" return hr;") 4413cpp_quote(" }") 4414cpp_quote("#endif") 4415cpp_quote("#endif") 4416cpp_quote("#endif") 4417 4418cpp_quote("") 4419cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA") 4420[object, local, uuid (92218cab-ECAA-4335-8133-807fd234c2ee), pointer_default (unique)] 4421interface IAssocHandlerInvoker : IUnknown { 4422 HRESULT SupportsSelection (); 4423 HRESULT Invoke (); 4424} 4425 4426cpp_quote("") 4427[object, local, uuid (F04061AC-1659-4a3f-A954-775aa57fc083), pointer_default (unique)] 4428interface IAssocHandler : IUnknown { 4429 HRESULT GetName ([string, out] LPWSTR *ppsz); 4430 HRESULT GetUIName ([string, out] LPWSTR *ppsz); 4431 HRESULT GetIconLocation ([string, out] LPWSTR *ppszPath,[out] int *pIndex); 4432 HRESULT IsRecommended (); 4433 HRESULT MakeDefault ([in, string] LPCWSTR pszDescription); 4434 HRESULT Invoke ([in] IDataObject *pdo); 4435 HRESULT CreateInvoker ([in] IDataObject *pdo,[out] IAssocHandlerInvoker **ppInvoker); 4436} 4437 4438cpp_quote("") 4439[object, local, uuid (973810ae-9599-4b88-9e4d-6ee98c9552da), pointer_default (unique)] 4440interface IEnumAssocHandlers : IUnknown { 4441 HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IAssocHandler **rgelt,[out] ULONG *pceltFetched); 4442} 4443 4444cpp_quote("") 4445typedef enum ASSOC_FILTER { 4446 ASSOC_FILTER_NONE = 0x0, 4447 ASSOC_FILTER_RECOMMENDED = 0x1 4448} ASSOC_FILTER; 4449 4450cpp_quote("") 4451cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(ASSOC_FILTER)") 4452cpp_quote("") 4453cpp_quote(" SHSTDAPI SHAssocEnumHandlers(PCWSTR pszExtra, ASSOC_FILTER afFilter, IEnumAssocHandlers **ppEnumHandler);") 4454cpp_quote("#endif") 4455 4456cpp_quote("") 4457cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7") 4458cpp_quote("SHSTDAPI SHAssocEnumHandlersForProtocolByApplication(PCWSTR protocol, REFIID riid, void **enumHandlers);") 4459cpp_quote("#endif") 4460cpp_quote("") 4461cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 4462[object, uuid (3d25f6d6-4b2a-433c-9184-7c33ad35d001), pointer_default (unique)] 4463interface IDataObjectProvider : IUnknown { 4464 HRESULT GetDataObject ([out] IDataObject **dataObject); 4465 [local] HRESULT SetDataObject ([in] IDataObject *dataObject); 4466} 4467 4468cpp_quote("") 4469[object, uuid (3a3dcd6c-3eab-43dc-BCDE-45671ce800c8), pointer_default (unique)] 4470interface IDataTransferManagerInterop : IUnknown { 4471 HRESULT GetForWindow ([in] HWND appWindow,[in] REFIID riid,[out, retval, iid_is (riid)] void **dataTransferManager); 4472 HRESULT ShowShareUIForWindow ([in] HWND appWindow); 4473} 4474 4475cpp_quote("") 4476[object, uuid (226c537b-1e76-4d9e-A760-33db29922f18)] 4477interface IFrameworkInputPaneHandler : IUnknown { 4478 HRESULT Showing ([in] RECT *prcInputPaneScreenLocation,[in] BOOL fEnsureFocusedElementInView); 4479 HRESULT Hiding ([in] BOOL fEnsureFocusedElementInView); 4480} 4481 4482cpp_quote("") 4483[object, uuid (5752238b-24f0-495a-82f1-2fd593056796)] 4484interface IFrameworkInputPane : IUnknown { 4485 HRESULT Advise ([in] IUnknown *pWindow,[in] IFrameworkInputPaneHandler *pHandler,[out] DWORD *pdwCookie); 4486 HRESULT AdviseWithHWND ([in] HWND hwnd,[in] IFrameworkInputPaneHandler *pHandler,[out] DWORD *pdwCookie); 4487 HRESULT Unadvise ([in] DWORD dwCookie); 4488 HRESULT Location ([out] RECT *prcInputPaneScreenLocation); 4489} 4490 4491cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") 4492cpp_quote("") 4493cpp_quote("#ifndef PROP_CONTRACT_DELEGATE") 4494cpp_quote("#define PROP_CONTRACT_DELEGATE L\"ContractDelegate\"") 4495cpp_quote("#endif") 4496cpp_quote("") 4497cpp_quote(" __forceinline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) {") 4498cpp_quote(" if (hwndDelegate != NULL)") 4499cpp_quote(" SetPropW (hwndSource, PROP_CONTRACT_DELEGATE, (HANDLE)hwndDelegate);") 4500cpp_quote(" else") 4501cpp_quote(" RemovePropW(hwndSource, PROP_CONTRACT_DELEGATE);") 4502cpp_quote(" }") 4503cpp_quote("") 4504cpp_quote("#ifndef PROP_CONTRACT_DELEGATE") 4505cpp_quote("#define PROP_CONTRACT_DELEGATE L\"ContractDelegate\"") 4506cpp_quote("#endif") 4507cpp_quote("") 4508cpp_quote(" __forceinline HWND GetContractDelegateWindow(HWND hwndSource) { return (HWND)GetPropW(hwndSource, PROP_CONTRACT_DELEGATE); }") 4509cpp_quote("#endif") 4510cpp_quote("#endif") 4511 4512cpp_quote("") 4513cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8") 4514[object, uuid (08922f8d-243a-49e3-A495-BD4F9CF8AB9E), pointer_default (unique)] 4515interface ISearchableApplication : IUnknown { 4516 HRESULT GetSearchWindow ([out] HWND *hwnd); 4517} 4518 4519cpp_quote("") 4520typedef [v1_enum] enum UNDOCK_REASON { 4521 UR_RESOLUTION_CHANGE = 0, 4522 UR_MONITOR_DISCONNECT = 1 4523} UNDOCK_REASON; 4524 4525cpp_quote("") 4526[object, uuid (157733fd-A592-42e5-B594-248468c5a81b)] 4527interface IAccessibilityDockingServiceCallback : IUnknown { 4528 HRESULT Undocked ([in] UNDOCK_REASON undockReason); 4529} 4530 4531cpp_quote("") 4532[object, uuid (8849dc22-CEDF-4c95-998d-051419dd3f76)] 4533interface IAccessibilityDockingService : IUnknown { 4534 HRESULT GetAvailableSize ([in] HMONITOR hMonitor,[out] UINT *pcxFixed,[out] UINT *pcyMax); 4535 HRESULT DockWindow ([in] HWND hwnd,[in] HMONITOR hMonitor,[in] UINT cyRequested,[in] IAccessibilityDockingServiceCallback *pCallback); 4536 HRESULT UndockWindow ([in] HWND hwnd); 4537} 4538 4539cpp_quote("") 4540typedef [v1_enum] enum MONITOR_APP_VISIBILITY { 4541 MAV_UNKNOWN = 0, 4542 MAV_NO_APP_VISIBLE = 1, 4543 MAV_APP_VISIBLE = 2 4544} MONITOR_APP_VISIBILITY; 4545 4546cpp_quote("") 4547[object, uuid (6584ce6b-7d82-49c2-89c9-C6BC02BA8C38)] 4548interface IAppVisibilityEvents: IUnknown { 4549 HRESULT AppVisibilityOnMonitorChanged ([in] HMONITOR hMonitor,[in] MONITOR_APP_VISIBILITY previousMode,[in] MONITOR_APP_VISIBILITY currentMode); 4550 HRESULT LauncherVisibilityChange ([in] BOOL currentVisibleState); 4551} 4552 4553cpp_quote("") 4554[object, uuid (2246ea2d-CAEA-4444-A3C4-6de827e44313)] 4555interface IAppVisibility : IUnknown { 4556 HRESULT GetAppVisibilityOnMonitor ([in] HMONITOR hMonitor,[out] MONITOR_APP_VISIBILITY *pMode); 4557 HRESULT IsLauncherVisible ([out] BOOL *pfVisible); 4558 HRESULT Advise ([in] IAppVisibilityEvents *pCallback,[out] DWORD *pdwCookie); 4559 HRESULT Unadvise ([in] DWORD dwCookie); 4560} 4561 4562cpp_quote("") 4563cpp_quote("#if 0") 4564typedef WCHAR *PZZWSTR; 4565cpp_quote("#endif") 4566 4567cpp_quote("") 4568typedef [v1_enum] enum PACKAGE_EXECUTION_STATE { 4569 PES_UNKNOWN = 0, 4570 PES_RUNNING = 1, 4571 PES_SUSPENDING = 2, 4572 PES_SUSPENDED = 3, 4573 PES_TERMINATED = 4 4574} PACKAGE_EXECUTION_STATE; 4575 4576cpp_quote("") 4577[object, uuid (1bb12a62-2ad8-432b-8ccf-0c2c52afcd5b)] 4578interface IPackageExecutionStateChangeNotification : IUnknown { 4579 HRESULT OnStateChanged ([in, string] LPCWSTR pszPackageFullName,[in] PACKAGE_EXECUTION_STATE pesNewState); 4580} 4581 4582cpp_quote("") 4583[object, local, uuid (F27C3930-8029-4ad1-94e3-3dba417810c1)] 4584interface IPackageDebugSettings : IUnknown { 4585 HRESULT EnableDebugging ([in] LPCWSTR packageFullName,[in] LPCWSTR debuggerCommandLine,[in] PZZWSTR environment); 4586 HRESULT DisableDebugging ([in] LPCWSTR packageFullName); 4587 HRESULT Suspend ([in] LPCWSTR packageFullName); 4588 HRESULT Resume ([in] LPCWSTR packageFullName); 4589 HRESULT TerminateAllProcesses ([in] LPCWSTR packageFullName); 4590 HRESULT SetTargetSessionId ([in] ULONG sessionId); 4591 HRESULT EnumerateBackgroundTasks ([in] LPCWSTR packageFullName,[out] ULONG *taskCount,[out, size_is (,*taskCount)] LPCGUID *taskIds,[out, size_is (,*taskCount)] LPCWSTR **taskNames); 4592 HRESULT ActivateBackgroundTask ([in] LPCGUID taskId); 4593 HRESULT StartServicing ([in] LPCWSTR packageFullName); 4594 HRESULT StopServicing ([in] LPCWSTR packageFullName); 4595 HRESULT StartSessionRedirection ([in] LPCWSTR packageFullName,[in] ULONG sessionId); 4596 HRESULT StopSessionRedirection ([in] LPCWSTR packageFullName); 4597 HRESULT GetPackageExecutionState ([in] LPCWSTR packageFullName,[out] PACKAGE_EXECUTION_STATE *packageExecutionState); 4598 HRESULT RegisterForPackageStateChanges ([in] LPCWSTR packageFullName,[in] IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,[out] DWORD *pdwCookie); 4599 HRESULT UnregisterForPackageStateChanges ([in] DWORD dwCookie); 4600} 4601 4602cpp_quote("") 4603typedef [v1_enum] enum AHE_TYPE { 4604 AHE_DESKTOP = 0, 4605 AHE_IMMERSIVE = 1 4606} AHE_TYPE; 4607 4608cpp_quote("") 4609[object, uuid (18b21aa9-E184-4ff0-9f5e-F882D03771B3)] 4610interface IExecuteCommandApplicationHostEnvironment : IUnknown { 4611 HRESULT GetValue ([out] AHE_TYPE *pahe); 4612} 4613 4614cpp_quote("") 4615typedef [v1_enum] enum EC_HOST_UI_MODE { 4616 ECHUIM_DESKTOP, 4617 ECHUIM_IMMERSIVE, 4618 ECHUIM_SYSTEM_LAUNCHER 4619} EC_HOST_UI_MODE; 4620 4621cpp_quote("") 4622[object, uuid (4b6832a2-5f04-4c9d-b89d-727a15d103e7)] 4623interface IExecuteCommandHost : IUnknown { 4624 HRESULT GetUIMode ([out] EC_HOST_UI_MODE *pUIMode); 4625} 4626 4627cpp_quote("") 4628cpp_quote("#define SID_ExecuteCommandHost IID_IExecuteCommandHost") 4629 4630cpp_quote("") 4631typedef [v1_enum] enum APPLICATION_VIEW_STATE { 4632 AVS_FULLSCREEN_LANDSCAPE = 0, 4633 AVS_FILLED, 4634 AVS_SNAPPED, 4635 AVS_FULLSCREEN_PORTRAIT 4636} APPLICATION_VIEW_STATE; 4637 4638cpp_quote("") 4639typedef [v1_enum] enum EDGE_GESTURE_KIND { 4640 EGK_TOUCH = 0, 4641 EGK_KEYBOARD, 4642 EGK_MOUSE 4643} EDGE_GESTURE_KIND; 4644 4645cpp_quote("") 4646[object, uuid (2a3dee9a-E31D-46d6-8508-BCC597DB3557)] 4647interface IApplicationDesignModeSettings : IUnknown { 4648 HRESULT SetNativeDisplaySize ([in] SIZE sizeNativeDisplay); 4649 HRESULT SetScaleFactor ([in] DEVICE_SCALE_FACTOR scaleFactor); 4650 HRESULT SetApplicationViewState ([in] APPLICATION_VIEW_STATE viewState); 4651 HRESULT ComputeApplicationSize ([out] SIZE *psizeApplication); 4652 HRESULT IsApplicationViewStateSupported ([in] APPLICATION_VIEW_STATE viewState,[in] SIZE sizeNativeDisplay,[in] DEVICE_SCALE_FACTOR scaleFactor,[out] BOOL *pfSupported); 4653 HRESULT TriggerEdgeGesture ([in] EDGE_GESTURE_KIND edgeGestureKind); 4654} 4655 4656cpp_quote("") 4657[object, uuid (3e68d4bd-7135-4d10-8018-9fb6d9f33fa1), pointer_default (unique)] 4658interface IInitializeWithWindow : IUnknown { 4659 HRESULT Initialize ([in] HWND hwnd); 4660} 4661 4662cpp_quote("") 4663[object, uuid (997706ef-f880-453b-8118-39e1a2d2655a), pointer_default (unique)] 4664interface IHandlerInfo : IUnknown { 4665 HRESULT GetApplicationDisplayName ([out] LPWSTR *value); 4666 HRESULT GetApplicationPublisher ([out] LPWSTR *value); 4667 HRESULT GetApplicationIconReference ([out] LPWSTR *value); 4668} 4669 4670cpp_quote("") 4671[object, uuid (35094a87-8bb1-4237-96c6-c417eebdb078), pointer_default (unique)] 4672interface IHandlerActivationHost : IUnknown { 4673 HRESULT BeforeCoCreateInstance ([in] REFCLSID clsidHandler,[in] IShellItemArray *itemsBeingActivated,[in] IHandlerInfo *handlerInfo); 4674 HRESULT BeforeCreateProcess ([in] LPCWSTR applicationPath,[in] LPCWSTR commandLine,[in] IHandlerInfo *handlerInfo); 4675} 4676 4677cpp_quote("") 4678cpp_quote("#define SID_SHandlerActivationHost IID_IHandlerActivationHost") 4679cpp_quote("") 4680cpp_quote("DEFINE_GUID(SID_ShellExecuteNamedPropertyStore, 0xeb84ada2, 0x00ff, 0x4992, 0x83, 0x24, 0xed, 0x5c, 0xe0, 0x61, 0xcb, 0x29);") 4681cpp_quote("#endif") 4682cpp_quote("") 4683cpp_quote("#endif") 4684