blob: 03eeda9d8f15cbf68cbe66bb98f836161a192fe2 [file] [log] [blame]
cpp_quote("/**")
cpp_quote(" * This file is part of the mingw-w64 runtime package.")
cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
cpp_quote(" */")
cpp_quote("")
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
cpp_quote("")
cpp_quote("#include <_mingw_unicode.h>")
cpp_quote("")
import "objidl.idl";
import "oleidl.idl";
import "oaidl.idl";
import "docobj.idl";
import "shtypes.idl";
import "servprov.idl";
import "comcat.idl";
import "propidl.idl";
import "prsht.idl";
import "msxml.idl";
import "wtypes.idl";
import "propsys.idl";
import "objectarray.idl";
import "structuredquerycondition.idl";
cpp_quote("")
cpp_quote("#include <sherrors.h>")
cpp_quote("")
cpp_quote("#ifndef SHSTDAPI")
cpp_quote("#ifdef _SHELL32_")
cpp_quote("#define SHSTDAPI STDAPI")
cpp_quote("#define SHSTDAPI_(type) STDAPI_(type)")
cpp_quote("#else")
cpp_quote("#define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE")
cpp_quote("#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE")
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define CMF_NORMAL 0x0")
cpp_quote("#define CMF_DEFAULTONLY 0x1")
cpp_quote("#define CMF_VERBSONLY 0x2")
cpp_quote("#define CMF_EXPLORE 0x4")
cpp_quote("#define CMF_NOVERBS 0x8")
cpp_quote("#define CMF_CANRENAME 0x10")
cpp_quote("#define CMF_NODEFAULT 0x20")
cpp_quote("#if NTDDI_VERSION < NTDDI_VISTA")
cpp_quote("#define CMF_INCLUDESTATIC 0x40")
cpp_quote("#endif")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define CMF_ITEMMENU 0x80")
cpp_quote("#endif")
cpp_quote("#define CMF_EXTENDEDVERBS 0x100")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define CMF_DISABLEDVERBS 0x200")
cpp_quote("#endif")
cpp_quote("#define CMF_ASYNCVERBSTATE 0x400")
cpp_quote("#define CMF_OPTIMIZEFORINVOKE 0x800")
cpp_quote("#define CMF_SYNCCASCADEMENU 0x1000")
cpp_quote("#define CMF_DONOTPICKDEFAULT 0x2000")
cpp_quote("#define CMF_RESERVED 0xffff0000")
cpp_quote("")
cpp_quote("#define GCS_VERBA 0x0")
cpp_quote("#define GCS_HELPTEXTA 0x1")
cpp_quote("#define GCS_VALIDATEA 0x2")
cpp_quote("#define GCS_VERBW 0x4")
cpp_quote("#define GCS_HELPTEXTW 0x5")
cpp_quote("#define GCS_VALIDATEW 0x6")
cpp_quote("#define GCS_VERBICONW 0x14")
cpp_quote("#define GCS_UNICODE 0x4")
cpp_quote("")
cpp_quote("#define GCS_VERB __MINGW_NAME_AW(GCS_VERB)")
cpp_quote("#define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT)")
cpp_quote("#define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE)")
cpp_quote("")
cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"")
cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"")
cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"")
cpp_quote("#define CMDSTR_NEWFOLDERW L\"NewFolder\"")
cpp_quote("#define CMDSTR_VIEWLISTW L\"ViewList\"")
cpp_quote("#define CMDSTR_VIEWDETAILSW L\"ViewDetails\"")
cpp_quote("")
cpp_quote("#define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER)")
cpp_quote("#define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST)")
cpp_quote("#define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS)")
cpp_quote("")
cpp_quote("#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY")
cpp_quote("#define CMIC_MASK_ICON SEE_MASK_ICON")
cpp_quote("#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI")
cpp_quote("#define CMIC_MASK_UNICODE SEE_MASK_UNICODE")
cpp_quote("#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE")
cpp_quote("#if NTDDI_VERSION < NTDDI_VISTA")
cpp_quote("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME")
cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE")
cpp_quote("#endif")
cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM")
cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC")
cpp_quote("#endif")
cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000")
cpp_quote("#define CMIC_MASK_CONTROL_DOWN 0x40000000")
cpp_quote("#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE")
cpp_quote("#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS")
cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000")
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct _CMINVOKECOMMANDINFO {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
DWORD dwHotKey;
HANDLE hIcon;
} CMINVOKECOMMANDINFO;
cpp_quote("")
typedef CMINVOKECOMMANDINFO *LPCMINVOKECOMMANDINFO;
typedef const CMINVOKECOMMANDINFO *PCCMINVOKECOMMANDINFO;
cpp_quote("")
typedef struct _CMINVOKECOMMANDINFOEX {
DWORD cbSize;
DWORD fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
DWORD dwHotKey;
HANDLE hIcon;
LPCSTR lpTitle;
LPCWSTR lpVerbW;
LPCWSTR lpParametersW;
LPCWSTR lpDirectoryW;
LPCWSTR lpTitleW;
POINT ptInvoke;
} CMINVOKECOMMANDINFOEX;
cpp_quote("")
typedef CMINVOKECOMMANDINFOEX *LPCMINVOKECOMMANDINFOEX;
typedef const CMINVOKECOMMANDINFOEX *PCCMINVOKECOMMANDINFOEX;
cpp_quote("#include <poppack.h>")
cpp_quote("")
[local, uuid (000214e4-0000-0000-c000-000000000046), pointer_default (unique)]
interface IContextMenu : IUnknown {
HRESULT QueryContextMenu ([in] HMENU hmenu,[in] UINT indexMenu,[in] UINT idCmdFirst,[in] UINT idCmdLast,[in] UINT uFlags);
HRESULT InvokeCommand ([in] CMINVOKECOMMANDINFO *pici);
HRESULT GetCommandString ([in] UINT_PTR idCmd,[in] UINT uType,[in] UINT *pReserved,[out] CHAR *pszName,[in] UINT cchMax);
}
typedef IContextMenu *LPCONTEXTMENU;
cpp_quote("")
[local, uuid (000214f4-0000-0000-c000-000000000046), pointer_default (unique)]
interface IContextMenu2 : IContextMenu {
HRESULT HandleMenuMsg ([in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam);
}
typedef IContextMenu2 *LPCONTEXTMENU2;
cpp_quote("")
[local, uuid (BCFCE0A0-EC17-11d0-8d10-00a0c90f2719), pointer_default (unique),]
interface IContextMenu3 : IContextMenu2 {
HRESULT HandleMenuMsg2 ([in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult);
}
typedef IContextMenu3 *LPCONTEXTMENU3;
cpp_quote("")
[object, uuid (7f9185b0-CB92-43c5-80a9-92277a4f7b54), pointer_default (unique)]
interface IExecuteCommand : IUnknown {
HRESULT SetKeyState ([in] DWORD grfKeyState);
HRESULT SetParameters ([in, string] LPCWSTR pszParameters);
HRESULT SetPosition ([in] POINT pt);
HRESULT SetShowWindow ([in] int nShow);
HRESULT SetNoShowUI ([in] BOOL fNoShowUI);
HRESULT SetDirectory ([in, string] LPCWSTR pszDirectory);
HRESULT Execute ();
}
cpp_quote("")
[object, uuid (000214ea-0000-0000-C000-000000000046), pointer_default (unique)]
interface IPersistFolder : IPersist {
HRESULT Initialize ([in] PCIDLIST_ABSOLUTE pidl);
}
typedef IPersistFolder *LPPERSISTFOLDER;
cpp_quote("")
cpp_quote("#define IRTIR_TASK_NOT_RUNNING 0")
cpp_quote("#define IRTIR_TASK_RUNNING 1")
cpp_quote("#define IRTIR_TASK_SUSPENDED 2")
cpp_quote("#define IRTIR_TASK_PENDING 3")
cpp_quote("#define IRTIR_TASK_FINISHED 4")
cpp_quote("")
[object, local, uuid (85788d00-6807-11d0-b810-00c04fd706ec)]
interface IRunnableTask : IUnknown {
HRESULT Run ();
HRESULT Kill ([in] BOOL bWait);
HRESULT Suspend ();
HRESULT Resume ();
ULONG IsRunning ();
}
cpp_quote("")
cpp_quote("#define TOID_NULL GUID_NULL")
cpp_quote("#define ITSAT_DEFAULT_LPARAM ((DWORD_PTR)-1)")
cpp_quote("")
cpp_quote("#define ITSAT_DEFAULT_PRIORITY 0x10000000")
cpp_quote("#define ITSAT_MAX_PRIORITY 0x7fffffff")
cpp_quote("#define ITSAT_MIN_PRIORITY 0x00000000")
cpp_quote("")
cpp_quote("#define ITSSFLAG_COMPLETE_ON_DESTROY 0x0")
cpp_quote("#define ITSSFLAG_KILL_ON_DESTROY 0x1")
cpp_quote("")
cpp_quote("#define ITSSFLAG_FLAGS_MASK 0x3")
cpp_quote("")
cpp_quote("#define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (10 * 1000)")
cpp_quote("#define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE)")
cpp_quote("#define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1)")
cpp_quote("")
[object, local, uuid (6ccb7be0-6807-11d0-B810-00c04fd706ec)]
interface IShellTaskScheduler : IUnknown {
HRESULT AddTask ([in] IRunnableTask *prt,[in] REFTASKOWNERID rtoid,[in] DWORD_PTR lParam,[in] DWORD dwPriority);
HRESULT RemoveTasks ([in] REFTASKOWNERID rtoid,[in] DWORD_PTR lParam,[in] BOOL bWaitIfRunning);
UINT CountTasks ([in] REFTASKOWNERID rtoid);
HRESULT Status ([in] DWORD dwReleaseStatus,[in] DWORD dwThreadTimeout);
}
cpp_quote("")
cpp_quote("#define SID_ShellTaskScheduler IID_IShellTaskScheduler")
cpp_quote("")
[object, local, uuid ("C7B236CE-EE80-11D0-985F-006008059382"), pointer_default (unique)]
interface IQueryCodePage : IUnknown {
HRESULT GetCodePage ([out] UINT *puiCodePage);
HRESULT SetCodePage ([in] UINT uiCodePage);
};
cpp_quote("")
[object, uuid (1ac3d9f0-175c-11d1-95be-00609797ea4f), pointer_default (unique)]
interface IPersistFolder2 : IPersistFolder {
HRESULT GetCurFolder ([out] PIDLIST_ABSOLUTE *ppidl);
}
cpp_quote("")
cpp_quote("#define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY")
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct _PERSIST_FOLDER_TARGET_INFO {
PIDLIST_ABSOLUTE pidlTargetFolder;
WCHAR szTargetParsingName[MAX_PATH];
WCHAR szNetworkProvider[MAX_PATH];
DWORD dwAttributes;
int csidl;
} PERSIST_FOLDER_TARGET_INFO;
cpp_quote("#include <poppack.h>")
cpp_quote("")
[object, uuid (CEF04FDF-FE72-11d2-87a5-00c04f6837cf), pointer_default (unique)]
interface IPersistFolder3 : IPersistFolder2 {
HRESULT InitializeEx ([in, unique] IBindCtx *pbc,[in] PCIDLIST_ABSOLUTE pidlRoot,[in, unique] const PERSIST_FOLDER_TARGET_INFO *ppfti);
HRESULT GetFolderTargetInfo ([out] PERSIST_FOLDER_TARGET_INFO *ppfti);
}
cpp_quote("")
[object, uuid (1079acfc-29bd-11d3-8e0d-00c04f6837d5), pointer_default (unique),]
interface IPersistIDList : IPersist {
HRESULT SetIDList ([in] PCIDLIST_ABSOLUTE pidl);
HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl);
}
cpp_quote("")
[object, uuid (000214f2-0000-0000-C000-000000000046), pointer_default (unique)]
interface IEnumIDList : IUnknown {
[local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PITEMID_CHILD *rgelt,[out] ULONG *pceltFetched);
[call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PITEMID_CHILD *rgelt,[out] ULONG *pceltFetched);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumIDList **ppenum);
}
typedef IEnumIDList *LPENUMIDLIST;
cpp_quote("")
[object, uuid (d0191542-7954-4908-bc06-b2360bbe45ba), pointer_default (unique)]
interface IEnumFullIDList : IUnknown {
[local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PIDLIST_ABSOLUTE *rgelt,[out] ULONG *pceltFetched);
[call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] PIDLIST_ABSOLUTE *rgelt,[out] ULONG *pceltFetched);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumFullIDList **ppenum);
}
cpp_quote("")
[v1_enum] enum _SHGDNF {
SHGDN_NORMAL = 0x0000,
SHGDN_INFOLDER = 0x0001,
SHGDN_FOREDITING = 0x1000,
SHGDN_FORADDRESSBAR = 0x4000,
SHGDN_FORPARSING = 0x8000,
};
cpp_quote("")
typedef DWORD SHGDNF;
cpp_quote("")
[v1_enum] enum _SHCONTF {
SHCONTF_CHECKING_FOR_CHILDREN = 0x00010,
SHCONTF_FOLDERS = 0x00020,
SHCONTF_NONFOLDERS = 0x00040,
SHCONTF_INCLUDEHIDDEN = 0x00080,
SHCONTF_INIT_ON_FIRST_NEXT = 0x00100,
SHCONTF_NETPRINTERSRCH = 0x00200,
SHCONTF_SHAREABLE = 0x00400,
SHCONTF_STORAGE = 0x00800,
SHCONTF_NAVIGATION_ENUM = 0x01000,
SHCONTF_FASTITEMS = 0x02000,
SHCONTF_FLATLIST = 0x04000,
SHCONTF_ENABLE_ASYNC = 0x08000,
SHCONTF_INCLUDESUPERHIDDEN = 0x10000
};
cpp_quote("")
typedef DWORD SHCONTF;
cpp_quote("")
cpp_quote("#define SHCIDS_ALLFIELDS __MSABI_LONG(0x80000000)")
cpp_quote("#define SHCIDS_CANONICALONLY __MSABI_LONG(0x10000000)")
cpp_quote("#define SHCIDS_BITMASK __MSABI_LONG(0xffff0000)")
cpp_quote("#define SHCIDS_COLUMNMASK __MSABI_LONG(0x0000ffff)")
cpp_quote("")
cpp_quote("#define SFGAO_CANCOPY DROPEFFECT_COPY")
cpp_quote("#define SFGAO_CANMOVE DROPEFFECT_MOVE")
cpp_quote("#define SFGAO_CANLINK DROPEFFECT_LINK")
cpp_quote("#define SFGAO_STORAGE __MSABI_LONG(0x8)")
cpp_quote("#define SFGAO_CANRENAME __MSABI_LONG(0x10)")
cpp_quote("#define SFGAO_CANDELETE __MSABI_LONG(0x20)")
cpp_quote("#define SFGAO_HASPROPSHEET __MSABI_LONG(0x40)")
cpp_quote("#define SFGAO_DROPTARGET __MSABI_LONG(0x100)")
cpp_quote("")
cpp_quote("#define SFGAO_CAPABILITYMASK __MSABI_LONG(0x177)")
cpp_quote("")
cpp_quote("#define SFGAO_SYSTEM __MSABI_LONG(0x1000)")
cpp_quote("#define SFGAO_ENCRYPTED __MSABI_LONG(0x2000)")
cpp_quote("#define SFGAO_ISSLOW __MSABI_LONG(0x4000)")
cpp_quote("#define SFGAO_GHOSTED __MSABI_LONG(0x8000)")
cpp_quote("#define SFGAO_LINK __MSABI_LONG(0x10000)")
cpp_quote("#define SFGAO_SHARE __MSABI_LONG(0x20000)")
cpp_quote("#define SFGAO_READONLY __MSABI_LONG(0x40000)")
cpp_quote("#define SFGAO_HIDDEN __MSABI_LONG(0x80000)")
cpp_quote("")
cpp_quote("#define SFGAO_DISPLAYATTRMASK __MSABI_LONG(0xfc000)")
cpp_quote("")
cpp_quote("#define SFGAO_FILESYSANCESTOR __MSABI_LONG(0x10000000)")
cpp_quote("#define SFGAO_FOLDER __MSABI_LONG(0x20000000)")
cpp_quote("#define SFGAO_FILESYSTEM __MSABI_LONG(0x40000000)")
cpp_quote("#define SFGAO_HASSUBFOLDER __MSABI_LONG(0x80000000)")
cpp_quote("")
cpp_quote("#define SFGAO_CONTENTSMASK __MSABI_LONG(0x80000000)")
cpp_quote("")
cpp_quote("#define SFGAO_VALIDATE __MSABI_LONG(0x1000000)")
cpp_quote("#define SFGAO_REMOVABLE __MSABI_LONG(0x2000000)")
cpp_quote("#define SFGAO_COMPRESSED __MSABI_LONG(0x4000000)")
cpp_quote("#define SFGAO_BROWSABLE __MSABI_LONG(0x8000000)")
cpp_quote("#define SFGAO_NONENUMERATED __MSABI_LONG(0x100000)")
cpp_quote("#define SFGAO_NEWCONTENT __MSABI_LONG(0x200000)")
cpp_quote("#define SFGAO_CANMONIKER __MSABI_LONG(0x400000)")
cpp_quote("#define SFGAO_HASSTORAGE __MSABI_LONG(0x400000)")
cpp_quote("#define SFGAO_STREAM __MSABI_LONG(0x400000)")
cpp_quote("#define SFGAO_STORAGEANCESTOR __MSABI_LONG(0x00800000)")
cpp_quote("")
cpp_quote("#define SFGAO_STORAGECAPMASK __MSABI_LONG(0x70c50008)")
cpp_quote("#define SFGAO_PKEYSFGAOMASK __MSABI_LONG(0x81044000)")
cpp_quote("")
typedef ULONG SFGAOF;
cpp_quote("")
cpp_quote("#define STR_BIND_FORCE_FOLDER_SHORTCUT_RESOLVE L\"Force Folder Shortcut Resolve\"")
cpp_quote("#define STR_AVOID_DRIVE_RESTRICTION_POLICY L\"Avoid Drive Restriction Policy\"")
cpp_quote("#define STR_AVOID_DRIVE_RESTRICTION_POLICY L\"Avoid Drive Restriction Policy\"")
cpp_quote("#define STR_SKIP_BINDING_CLSID L\"Skip Binding CLSID\"")
cpp_quote("#define STR_PARSE_PREFER_FOLDER_BROWSING L\"Parse Prefer Folder Browsing\"")
cpp_quote("#define STR_DONT_PARSE_RELATIVE L\"Don't Parse Relative\"")
cpp_quote("#define STR_PARSE_TRANSLATE_ALIASES L\"Parse Translate Aliases\"")
cpp_quote("#define STR_PARSE_SKIP_NET_CACHE L\"Skip Net Resource Cache\"")
cpp_quote("#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L\"Parse Shell Protocol To File Objects\"")
cpp_quote("#if _WIN32_IE >= 0x0700")
cpp_quote("#define STR_TRACK_CLSID L\"Track the CLSID\"")
cpp_quote("#define STR_INTERNAL_NAVIGATE L\"Internal Navigation\"")
cpp_quote("#define STR_PARSE_PROPERTYSTORE L\"DelegateNamedProperties\"")
cpp_quote("#define STR_NO_VALIDATE_FILENAME_CHARS L\"NoValidateFilenameChars\"")
cpp_quote("#define STR_BIND_DELEGATE_CREATE_OBJECT L\"Delegate Object Creation\"")
cpp_quote("#define STR_PARSE_ALLOW_INTERNET_SHELL_FOLDERS L\"Allow binding to Internet shell folder handlers and negate STR_PARSE_PREFER_WEB_BROWSING\"")
cpp_quote("#define STR_PARSE_PREFER_WEB_BROWSING L\"Do not bind to Internet shell folder handlers\"")
cpp_quote("#define STR_PARSE_SHOW_NET_DIAGNOSTICS_UI L\"Show network diagnostics UI\"")
cpp_quote("#define STR_PARSE_DONT_REQUIRE_VALIDATED_URLS L\"Do not require validated URLs\"")
cpp_quote("#define STR_INTERNETFOLDER_PARSE_ONLY_URLMON_BINDABLE L\"Validate URL\"")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN8")
cpp_quote("#define BIND_INTERRUPTABLE 0xffffffff")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7")
cpp_quote("#define STR_BIND_FOLDERS_READ_ONLY L\"Folders As Read Only\"")
cpp_quote("#define STR_BIND_FOLDER_ENUM_MODE L\"Folder Enum Mode\"")
cpp_quote("")
typedef [v1_enum] enum FOLDER_ENUM_MODE {
FEM_VIEWRESULT = 0,
FEM_NAVIGATION = 1,
} FOLDER_ENUM_MODE;
cpp_quote("")
[object, uuid (6a9d9026-0e6e-464c-b000-42ecc07de673), pointer_default (unique)]
interface IObjectWithFolderEnumMode : IUnknown {
HRESULT SetMode ([in] FOLDER_ENUM_MODE feMode);
HRESULT GetMode ([out] FOLDER_ENUM_MODE *pfeMode);
}
cpp_quote("")
cpp_quote("#define STR_PARSE_WITH_EXPLICIT_PROGID L\"ExplicitProgid\"")
cpp_quote("#define STR_PARSE_WITH_EXPLICIT_ASSOCAPP L\"ExplicitAssociationApp\"")
cpp_quote("#define STR_PARSE_EXPLICIT_ASSOCIATION_SUCCESSFUL L\"ExplicitAssociationSuccessful\"")
cpp_quote("#define STR_PARSE_AND_CREATE_ITEM L\"ParseAndCreateItem\"")
cpp_quote("#define STR_PROPERTYBAG_PARAM L\"SHBindCtxPropertyBag\"")
cpp_quote("#define STR_ENUM_ITEMS_FLAGS L\"SHCONTF\"")
cpp_quote("")
interface IShellItem;
cpp_quote("")
[object, local, uuid (67efed0e-e827-4408-b493-78f3982b685c), pointer_default (unique)]
interface IParseAndCreateItem : IUnknown {
HRESULT SetItem ([in] IShellItem *psi);
HRESULT GetItem ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
cpp_quote("")
cpp_quote("#define STR_ITEM_CACHE_CONTEXT L\"ItemCacheContext\"")
cpp_quote("#endif")
cpp_quote("")
interface IShellFolder;
cpp_quote("")
[object, uuid (000214e6-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellFolder : IUnknown {
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);
HRESULT EnumObjects ([in, unique] HWND hwnd,[in] SHCONTF grfFlags,[out] IEnumIDList **ppenumIDList);
HRESULT BindToObject ([in] PCUIDLIST_RELATIVE pidl,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT BindToStorage ([in] PCUIDLIST_RELATIVE pidl,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT CompareIDs ([in] LPARAM lParam,[in] PCUIDLIST_RELATIVE pidl1,[in] PCUIDLIST_RELATIVE pidl2);
HRESULT CreateViewObject ([in, unique] HWND hwndOwner,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetAttributesOf ([in] UINT cidl,[in, size_is (cidl), unique] PCUITEMID_CHILD_ARRAY apidl,[in, out] SFGAOF *rgfInOut);
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);
HRESULT GetDisplayNameOf ([in, unique] PCUITEMID_CHILD pidl,[in] SHGDNF uFlags,[out] STRRET *pName);
[local] HRESULT SetNameOf ([in, unique] HWND hwnd,[in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszName,[in] SHGDNF uFlags,[out] PITEMID_CHILD *ppidlOut);
[call_as (SetNameOf)] HRESULT RemoteSetNameOf ([in, unique] HWND hwnd,[in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszName,[in] SHGDNF uFlags,[out] PITEMID_CHILD *ppidlOut);
}
typedef IShellFolder *LPSHELLFOLDER;
cpp_quote("")
typedef struct EXTRASEARCH {
GUID guidSearch;
WCHAR wszFriendlyName[80];
WCHAR wszUrl[2084];
} EXTRASEARCH,*LPEXTRASEARCH;
cpp_quote("")
[object, uuid (0e700be1-9db6-11d1-A1CE-00c04fd75d13), pointer_default (unique)]
interface IEnumExtraSearch : IUnknown {
HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] EXTRASEARCH *rgelt,[out] ULONG *pceltFetched);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumExtraSearch **ppenum);
}
typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
cpp_quote("")
[object, uuid (93f2f68c-1d1b-11d3-A30E-00c04f79abd1), pointer_default (unique)]
interface IShellFolder2 : IShellFolder {
HRESULT GetDefaultSearchGUID ([out] GUID *pguid);
HRESULT EnumSearches ([out] IEnumExtraSearch **ppenum);
HRESULT GetDefaultColumn ([in] DWORD dwRes,[out] ULONG *pSort,[out] ULONG *pDisplay);
HRESULT GetDefaultColumnState ([in] UINT iColumn,[out] SHCOLSTATEF *pcsFlags);
HRESULT GetDetailsEx ([in, unique] PCUITEMID_CHILD pidl,[in] const SHCOLUMNID *pscid,[out] VARIANT *pv);
HRESULT GetDetailsOf ([in, unique] PCUITEMID_CHILD pidl,[in] UINT iColumn,[out] SHELLDETAILS *psd);
HRESULT MapColumnToSCID ([in] UINT iColumn,[out] SHCOLUMNID *pscid);
}
typedef char *LPVIEWSETTINGS;
cpp_quote("")
typedef [v1_enum] enum FOLDERFLAGS {
FWF_NONE = 0x00000000,
FWF_AUTOARRANGE = 0x00000001,
FWF_ABBREVIATEDNAMES = 0x00000002,
FWF_SNAPTOGRID = 0x00000004,
FWF_OWNERDATA = 0x00000008,
FWF_BESTFITWINDOW = 0x00000010,
FWF_DESKTOP = 0x00000020,
FWF_SINGLESEL = 0x00000040,
FWF_NOSUBFOLDERS = 0x00000080,
FWF_TRANSPARENT = 0x00000100,
FWF_NOCLIENTEDGE = 0x00000200,
FWF_NOSCROLL = 0x00000400,
FWF_ALIGNLEFT = 0x00000800,
FWF_NOICONS = 0x00001000,
FWF_SHOWSELALWAYS = 0x00002000,
FWF_NOVISIBLE = 0x00004000,
FWF_SINGLECLICKACTIVATE = 0x00008000,
FWF_NOWEBVIEW = 0x00010000,
FWF_HIDEFILENAMES = 0x00020000,
FWF_CHECKSELECT = 0x00040000,
FWF_NOENUMREFRESH = 0x00080000,
FWF_NOGROUPING = 0x00100000,
FWF_FULLROWSELECT = 0x00200000,
FWF_NOFILTERS = 0x00400000,
FWF_NOCOLUMNHEADER = 0x00800000,
FWF_NOHEADERINALLVIEWS = 0x01000000,
FWF_EXTENDEDTILES = 0x02000000,
FWF_TRICHECKSELECT = 0x04000000,
FWF_AUTOCHECKSELECT = 0x08000000,
FWF_NOBROWSERVIEWSTATE = 0x10000000,
FWF_SUBSETGROUPS = 0x20000000,
FWF_USESEARCHFOLDER = 0x40000000,
FWF_ALLOWRTLREADING = 0x80000000,
} FOLDERFLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(FOLDERFLAGS)")
cpp_quote("")
typedef [v1_enum] enum FOLDERVIEWMODE {
FVM_AUTO = -1,
FVM_FIRST = 1,
FVM_ICON = 1,
FVM_SMALLICON = 2,
FVM_LIST = 3,
FVM_DETAILS = 4,
FVM_THUMBNAIL = 5,
FVM_TILE = 6,
FVM_THUMBSTRIP = 7,
FVM_CONTENT = 8,
FVM_LAST = 8,
} FOLDERVIEWMODE;
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
typedef [v1_enum] enum FOLDERLOGICALVIEWMODE {
FLVM_UNSPECIFIED = -1,
FLVM_FIRST = 1,
FLVM_DETAILS = 1,
FLVM_TILES = 2,
FLVM_ICONS = 3,
FLVM_LIST = 4,
FLVM_CONTENT = 5,
FLVM_LAST = 5
} FOLDERLOGICALVIEWMODE;
cpp_quote("#endif")
typedef struct FOLDERSETTINGS {
UINT ViewMode;
UINT fFlags;
} FOLDERSETTINGS;
cpp_quote("")
typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
typedef FOLDERSETTINGS *PFOLDERSETTINGS;
cpp_quote("")
[object, uuid (3cc974d2-b302-4d36-ad3e-06d93f695d3f), pointer_default (unique)]
interface IFolderViewOptions : IUnknown {
typedef [v1_enum] enum FOLDERVIEWOPTIONS {
FVO_DEFAULT = 0x00000000,
FVO_VISTALAYOUT = 0x00000001,
FVO_CUSTOMPOSITION = 0x00000002,
FVO_CUSTOMORDERING = 0x00000004,
FVO_SUPPORTHYPERLINKS = 0x00000008,
FVO_NOANIMATIONS = 0x00000010,
FVO_NOSCROLLTIPS = 0x00000020,
} FOLDERVIEWOPTIONS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(FOLDERVIEWOPTIONS)")
cpp_quote("")
HRESULT SetFolderViewOptions ([in] FOLDERVIEWOPTIONS fvoMask,[in] FOLDERVIEWOPTIONS fvoFlags);
HRESULT GetFolderViewOptions ([out] FOLDERVIEWOPTIONS *pfvoFlags);
}
typedef [v1_enum] enum _SVSIF {
SVSI_DESELECT = 0x00000000,
SVSI_SELECT = 0x00000001,
SVSI_EDIT = 0x00000003,
SVSI_DESELECTOTHERS = 0x00000004,
SVSI_ENSUREVISIBLE = 0x00000008,
SVSI_FOCUSED = 0x00000010,
SVSI_TRANSLATEPT = 0x00000020,
SVSI_SELECTIONMARK = 0x00000040,
SVSI_POSITIONITEM = 0x00000080,
SVSI_CHECK = 0x00000100,
SVSI_CHECK2 = 0x00000200,
SVSI_KEYBOARDSELECT = 0x00000401,
SVSI_NOTAKEFOCUS = 0x40000000
} _SVSIF;
cpp_quote("")
cpp_quote("#define SVSI_NOSTATECHANGE ((UINT)0x80000000)")
cpp_quote("")
typedef UINT SVSIF;
cpp_quote("")
typedef [v1_enum] enum _SVGIO {
SVGIO_BACKGROUND = 0x00000000,
SVGIO_SELECTION = 0x00000001,
SVGIO_ALLVIEW = 0x00000002,
SVGIO_CHECKED = 0x00000003,
SVGIO_TYPE_MASK = 0x0000000f,
SVGIO_FLAG_VIEWORDER = 0x80000000
} _SVGIO;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(_SVGIO)")
cpp_quote("")
typedef int SVGIO;
cpp_quote("")
typedef [v1_enum] enum SVUIA_STATUS {
SVUIA_DEACTIVATE = 0,
SVUIA_ACTIVATE_NOFOCUS = 1,
SVUIA_ACTIVATE_FOCUS = 2,
SVUIA_INPLACEACTIVATE = 3
} SVUIA_STATUS;
cpp_quote("")
cpp_quote("#ifdef _FIX_ENABLEMODELESS_CONFLICT")
cpp_quote("#define EnableModeless EnableModelessSV")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if 0")
typedef LPARAM LPFNSVADDPROPSHEETPAGE;
cpp_quote("#else")
cpp_quote("#include <prsht.h>")
cpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;")
cpp_quote("#endif")
cpp_quote("")
interface IShellBrowser;
cpp_quote("")
[object, uuid (000214e3-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellView : IOleWindow {
HRESULT TranslateAccelerator ([in] MSG *pmsg);
HRESULT EnableModeless ([in] BOOL fEnable);
HRESULT UIActivate ([in] UINT uState);
HRESULT Refresh ();
HRESULT CreateViewWindow ([in, unique] IShellView *psvPrevious,[in] LPCFOLDERSETTINGS pfs,[in] IShellBrowser *psb,[in] RECT *prcView,[out] HWND *phWnd);
HRESULT DestroyViewWindow ();
HRESULT GetCurrentInfo ([out] LPFOLDERSETTINGS pfs);
[local] HRESULT AddPropertySheetPages ([in] DWORD dwReserved,[in] LPFNSVADDPROPSHEETPAGE pfn,[in] LPARAM lparam);
HRESULT SaveViewState ();
HRESULT SelectItem ([in, unique] PCUITEMID_CHILD pidlItem,[in] SVSIF uFlags);
HRESULT GetItemObject ([in] UINT uItem,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
typedef IShellView *LPSHELLVIEW;
cpp_quote("")
[object, uuid (88e39e80-3578-11cf-AE69-08002b2e1262), pointer_default (unique)]
interface IShellView2 : IShellView {
typedef GUID SHELLVIEWID;
cpp_quote("")
cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)")
cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)")
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct _SV2CVW2_PARAMS {
DWORD cbSize;
IShellView *psvPrev;
LPCFOLDERSETTINGS pfs;
IShellBrowser *psbOwner;
RECT *prcView;
SHELLVIEWID const *pvid;
HWND hwndView;
} SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS;
cpp_quote("#include <poppack.h>")
cpp_quote("")
HRESULT GetView ([in, out] SHELLVIEWID *pvid,[in] ULONG uView);
HRESULT CreateViewWindow2 ([in] LPSV2CVW2_PARAMS lpParams);
HRESULT HandleRename ([in, unique] PCUITEMID_CHILD pidlNew);
HRESULT SelectAndPositionItem ([in, unique] PCUITEMID_CHILD pidlItem,[in] UINT uFlags,[in, unique] POINT *ppt);
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
[object, uuid (ec39fa88-f8af-41c5-8421-38bed28f4673), pointer_default (unique)]
interface IShellView3 : IShellView2 {
[v1_enum] enum _SV3CVW3_FLAGS {
SV3CVW3_DEFAULT = 0x00000000,
SV3CVW3_NONINTERACTIVE = 0x00000001,
SV3CVW3_FORCEVIEWMODE = 0x00000002,
SV3CVW3_FORCEFOLDERFLAGS = 0x00000004,
};
cpp_quote("")
typedef DWORD SV3CVW3_FLAGS;
cpp_quote("")
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);
}
cpp_quote("#endif")
cpp_quote("#ifdef _FIX_ENABLEMODELESS_CONFLICT")
cpp_quote("#undef EnableModeless")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (cde725b0-ccc9-4519-917e-325d72fab4ce), pointer_default (unique)]
interface IFolderView : IUnknown {
HRESULT GetCurrentViewMode ([out] UINT *pViewMode);
HRESULT SetCurrentViewMode ([in] UINT ViewMode);
HRESULT GetFolder ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT Item ([in] int iItemIndex,[out] PITEMID_CHILD *ppidl);
HRESULT ItemCount ([in] UINT uFlags,[out] int *pcItems);
HRESULT Items ([in] UINT uFlags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetSelectionMarkedItem ([out] int *piItem);
HRESULT GetFocusedItem ([out] int *piItem);
HRESULT GetItemPosition ([in] PCUITEMID_CHILD pidl,[out] POINT *ppt);
HRESULT GetSpacing ([in, out, unique] POINT *ppt);
HRESULT GetDefaultSpacing ([out] POINT *ppt);
HRESULT GetAutoArrange ();
HRESULT SelectItem ([in] int iItem,[in] DWORD dwFlags);
HRESULT SelectAndPositionItems ([in] UINT cidl,[in, size_is (cidl)] PCUITEMID_CHILD_ARRAY apidl,[in, unique, size_is (cidl)] POINT *apt,[in] DWORD dwFlags);
}
cpp_quote("")
cpp_quote("#define SID_SFolderView IID_IFolderView")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7")
[object, uuid (6af6e03f-d664-4ef4-9626-f7e0ed36755e)]
interface ISearchBoxInfo : IUnknown {
HRESULT GetCondition ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetText ([out, string] LPWSTR *ppsz);
}
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA || _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote("#ifndef NO_SHOBJIDL_SORTDIRECTION")
[v1_enum] enum tagSORTDIRECTION {
SORT_DESCENDING = -1,
SORT_ASCENDING = 1
};
cpp_quote("#endif")
cpp_quote("")
typedef int SORTDIRECTION;
cpp_quote("")
typedef struct SORTCOLUMN {
PROPERTYKEY propkey;
SORTDIRECTION direction;
} SORTCOLUMN;
cpp_quote("")
typedef [v1_enum] enum FVTEXTTYPE {
FVST_EMPTYTEXT = 0,
} FVTEXTTYPE;
cpp_quote("")
interface IShellItemArray;
cpp_quote("")
typedef HRESULT DEPRECATED_HRESULT;
cpp_quote("")
cpp_quote("#ifdef __cplusplus")
cpp_quote("#define DEPRECATED_HRESULT HRESULT")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (1af3a467-214f-4298-908e-06b03e0b39f9), pointer_default (unique)]
interface IFolderView2 : IFolderView {
HRESULT SetGroupBy ([in] REFPROPERTYKEY key,[in] BOOL fAscending);
[local] HRESULT GetGroupBy ([out] PROPERTYKEY *pkey,[out] BOOL *pfAscending);
[call_as (GetGroupBy)] HRESULT RemoteGetGroupBy ([out] PROPERTYKEY *pkey,[out] BOOL *pfAscending);
HRESULT SetViewProperty ([in] PCUITEMID_CHILD pidl,[in] REFPROPERTYKEY propkey,[in] REFPROPVARIANT propvar);
HRESULT GetViewProperty ([in] PCUITEMID_CHILD pidl,[in] REFPROPERTYKEY propkey,[out] PROPVARIANT *ppropvar);
HRESULT SetTileViewProperties ([in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszPropList);
HRESULT SetExtendedTileViewProperties ([in] PCUITEMID_CHILD pidl,[in, string] LPCWSTR pszPropList);
HRESULT SetText ([in] FVTEXTTYPE iType,[in] LPCWSTR pwszText);
HRESULT SetCurrentFolderFlags ([in] DWORD dwMask,[in] DWORD dwFlags);
HRESULT GetCurrentFolderFlags ([out] DWORD *pdwFlags);
HRESULT GetSortColumnCount ([out] int *pcColumns);
HRESULT SetSortColumns ([in, size_is (cColumns)] const SORTCOLUMN *rgSortColumns,[in] int cColumns);
HRESULT GetSortColumns ([out, size_is (cColumns)] SORTCOLUMN *rgSortColumns,[in] int cColumns);
HRESULT GetItem ([in] int iItem,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetVisibleItem ([in] int iStart,[in] BOOL fPrevious,[out] int *piItem);
HRESULT GetSelectedItem ([in] int iStart,[out] int *piItem);
HRESULT GetSelection ([in] BOOL fNoneImpliesFolder,[out] IShellItemArray **ppsia);
HRESULT GetSelectionState ([in] PCUITEMID_CHILD pidl,[out] DWORD *pdwFlags);
HRESULT InvokeVerbOnSelection ([in, unique, string] LPCSTR pszVerb);
HRESULT SetViewModeAndIconSize ([in] FOLDERVIEWMODE uViewMode,[in] int iImageSize);
HRESULT GetViewModeAndIconSize ([out] FOLDERVIEWMODE *puViewMode,[out] int *piImageSize);
HRESULT SetGroupSubsetCount ([in] UINT cVisibleRows);
HRESULT GetGroupSubsetCount ([out] UINT *pcVisibleRows);
HRESULT SetRedraw ([in] BOOL fRedrawOn);
HRESULT IsMoveInSameFolder ();
HRESULT DoRename ();
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
[object, uuid (ae8c987d-8797-4ed3-be72-2a47dd938db0)]
interface IFolderViewSettings : IUnknown {
HRESULT GetColumnPropertyList ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetGroupByProperty ([out] PROPERTYKEY *pkey,[out] BOOL *pfGroupAscending);
HRESULT GetViewMode ([out] FOLDERLOGICALVIEWMODE *plvm);
HRESULT GetIconSize ([out] UINT *puIconSize);
HRESULT GetFolderFlags ([out] FOLDERFLAGS *pfolderMask,[out] FOLDERFLAGS *pfolderFlags);
HRESULT GetSortColumns ([out, size_is (cColumnsIn), length_is (*pcColumnsOut)] SORTCOLUMN *rgSortColumns,[in] UINT cColumnsIn,[out] UINT *pcColumnsOut);
HRESULT GetGroupSubsetCount ([out] UINT *pcVisibleRows);
}
cpp_quote("#endif")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[object, uuid (196bf9a5-b346-4ef0-aa1e-5dcdb76768b1), pointer_default (unique)]
interface IPreviewHandlerVisuals : IUnknown {
HRESULT SetBackgroundColor ([in] COLORREF color);
HRESULT SetFont ([in] const LOGFONTW *plf);
HRESULT SetTextColor ([in] COLORREF color);
}
cpp_quote("")
[object, uuid (e693cf68-d967-4112-8763-99172aee5e5a), pointer_default (unique)]
interface IVisualProperties : IUnknown {
typedef [v1_enum] enum VPWATERMARKFLAGS {
VPWF_DEFAULT = 0x0,
VPWF_ALPHABLEND = 0x1
} VPWATERMARKFLAGS;
cpp_quote("")
typedef [v1_enum] enum VPCOLORFLAGS {
VPCF_TEXT = 1,
VPCF_BACKGROUND = 2,
VPCF_SORTCOLUMN = 3,
VPCF_SUBTEXT = 4,
VPCF_TEXTBACKGROUND = 5
} VPCOLORFLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(VPWATERMARKFLAGS)")
cpp_quote("")
HRESULT SetWatermark ([in, unique] HBITMAP hbmp,[in] VPWATERMARKFLAGS vpwf);
HRESULT SetColor ([in] VPCOLORFLAGS vpcf,[in] COLORREF cr);
HRESULT GetColor ([in] VPCOLORFLAGS vpcf,[out] COLORREF *pcr);
HRESULT SetItemHeight ([in] int cyItemInPixels);
HRESULT GetItemHeight ([out] int *cyItemInPixels);
HRESULT SetFont ([in] const LOGFONTW *plf,[in] BOOL bRedraw);
HRESULT GetFont ([out] LOGFONTW *plf);
HRESULT SetTheme ([in, unique, string] LPCWSTR pszSubAppName,[in, unique, string] LPCWSTR pszSubIdList);
}
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define CDBOSC_SETFOCUS 0x00000000")
cpp_quote("#define CDBOSC_KILLFOCUS 0x00000001")
cpp_quote("#define CDBOSC_SELCHANGE 0x00000002")
cpp_quote("#define CDBOSC_RENAME 0x00000003")
cpp_quote("#define CDBOSC_STATECHANGE 0x00000004")
cpp_quote("")
[object, uuid (000214f1-0000-0000-C000-000000000046), pointer_default (unique)]
interface ICommDlgBrowser : IUnknown {
HRESULT OnDefaultCommand ([in] IShellView *ppshv);
HRESULT OnStateChange ([in] IShellView *ppshv,[in] ULONG uChange);
HRESULT IncludeObject ([in, unique] IShellView *ppshv,[in] PCUITEMID_CHILD pidl);
}
typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
cpp_quote("")
cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
cpp_quote("")
cpp_quote("#define CDB2N_CONTEXTMENU_DONE 0x00000001")
cpp_quote("#define CDB2N_CONTEXTMENU_START 0x00000002")
cpp_quote("")
cpp_quote("#define CDB2GVF_SHOWALLFILES 0x1")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define CDB2GVF_ISFILESAVE 0x2")
cpp_quote("#define CDB2GVF_ALLOWPREVIEWPANE 0x4")
cpp_quote("#define CDB2GVF_NOSELECTVERB 0x8")
cpp_quote("#define CDB2GVF_NOINCLUDEITEM 0x10")
cpp_quote("#define CDB2GVF_ISFOLDERPICKER 0x20")
cpp_quote("#define CDB2GVF_ADDSHIELD 0x40")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (10339516-2894-11d2-9039-00c04f8eeb3e), pointer_default (unique)]
interface ICommDlgBrowser2 : ICommDlgBrowser {
HRESULT Notify ([in] IShellView *ppshv,[in] DWORD dwNotifyType);
HRESULT GetDefaultMenuText ([in] IShellView *ppshv,[out, string, size_is (cchMax)] LPWSTR pszText,[in] int cchMax);
HRESULT GetViewFlags ([out] DWORD *pdwFlags);
}
typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[object, uuid (c8ad25a1-3294-41ee-8165-71174bd01c57), pointer_default (unique)]
interface ICommDlgBrowser3 : ICommDlgBrowser2 {
HRESULT OnColumnClicked ([in] IShellView *ppshv,[in] int iColumn);
HRESULT GetCurrentFilter ([out, string, size_is (cchFileSpec)] LPWSTR pszFileSpec,[in] int cchFileSpec);
HRESULT OnPreViewCreated ([in] IShellView *ppshv);
}
cpp_quote("")
typedef [v1_enum] enum CM_MASK {
CM_MASK_WIDTH = 0x1,
CM_MASK_DEFAULTWIDTH = 0x2,
CM_MASK_IDEALWIDTH = 0x4,
CM_MASK_NAME = 0x8,
CM_MASK_STATE = 0x10
} CM_MASK;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_MASK)")
cpp_quote("")
typedef [v1_enum] enum CM_STATE {
CM_STATE_NONE = 0x0,
CM_STATE_VISIBLE = 0x1,
CM_STATE_FIXEDWIDTH = 0x2,
CM_STATE_NOSORTBYFOLDERNESS = 0x4,
CM_STATE_ALWAYSVISIBLE = 0x8
} CM_STATE;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_STATE)")
cpp_quote("")
typedef [v1_enum] enum CM_ENUM_FLAGS {
CM_ENUM_ALL = 0x1,
CM_ENUM_VISIBLE = 0x2
} CM_ENUM_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CM_ENUM_FLAGS)")
cpp_quote("")
typedef [v1_enum] enum CM_SET_WIDTH_VALUE {
CM_WIDTH_USEDEFAULT = -1,
CM_WIDTH_AUTOSIZE = -2
} CM_SET_WIDTH_VALUE;
#define MAX_COLUMN_NAME_LEN 80
cpp_quote("")
typedef struct CM_COLUMNINFO {
DWORD cbSize;
DWORD dwMask;
DWORD dwState;
UINT uWidth;
UINT uDefaultWidth;
UINT uIdealWidth;
WCHAR wszName[MAX_COLUMN_NAME_LEN];
} CM_COLUMNINFO;
cpp_quote("")
[object, uuid (d8ec27bb-3f3b-4042-b10a-4acfd924d453), pointer_default (unique)]
interface IColumnManager : IUnknown {
HRESULT SetColumnInfo ([in] REFPROPERTYKEY propkey,[in] const CM_COLUMNINFO *pcmci);
HRESULT GetColumnInfo ([in] REFPROPERTYKEY propkey,[in, out] CM_COLUMNINFO *pcmci);
HRESULT GetColumnCount ([in] CM_ENUM_FLAGS dwFlags,[out] UINT *puCount);
HRESULT GetColumns ([in] CM_ENUM_FLAGS dwFlags,[out, size_is (cColumns)] PROPERTYKEY *rgkeyOrder,[in] UINT cColumns);
HRESULT SetColumns ([in, size_is (cVisible)] const PROPERTYKEY *rgkeyOrder,[in] UINT cVisible);
}
cpp_quote("#endif")
cpp_quote("")
[object, uuid (C0A651F5-B48B-11d2-B5ED-006097c686f6), pointer_default (unique)]
interface IFolderFilterSite : IUnknown {
HRESULT SetFilter ([in]IUnknown *punk);
}
cpp_quote("")
[object, uuid (9cc22886-DC8E-11d2-B1D0-00c04f8eeb3e), pointer_default (unique)]
interface IFolderFilter : IUnknown {
HRESULT ShouldShow ([in] IShellFolder *psf,[in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in] PCUITEMID_CHILD pidlItem);
HRESULT GetEnumFlags ([in] IShellFolder *psf,[in] PCIDLIST_ABSOLUTE pidlFolder,[out] HWND *phwnd,[in, out] DWORD *pgrfFlags);
}
cpp_quote("")
[object, uuid (F1DB8392-7331-11d0-8c99-00a0c92dbfe8), pointer_default (unique),]
interface IInputObjectSite: IUnknown {
HRESULT OnFocusChangeIS ([in, unique] IUnknown *punkObj,[in] BOOL fSetFocus);
}
cpp_quote("")
[object, uuid (68284faa-6a48-11d0-8c78-00c04fd918b4), pointer_default (unique)]
interface IInputObject: IUnknown {
HRESULT UIActivateIO ([in] BOOL fActivate,[in, unique] MSG *pMsg);
HRESULT HasFocusIO ();
HRESULT TranslateAcceleratorIO ([in] MSG *pMsg);
}
cpp_quote("")
[object, uuid (6915c085-510b-44cd-94af-28dfa56cf92b), pointer_default (unique), local]
interface IInputObject2 : IInputObject {
HRESULT TranslateAcceleratorGlobal ([in] MSG *pMsg);
}
cpp_quote("")
[object, uuid (000214e5-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellIcon : IUnknown {
HRESULT GetIconOf ([in] PCUITEMID_CHILD pidl,[in] UINT flags,[out] int *pIconIndex);
}
cpp_quote("")
cpp_quote("#define SBSP_DEFBROWSER 0x0000")
cpp_quote("#define SBSP_SAMEBROWSER 0x0001")
cpp_quote("#define SBSP_NEWBROWSER 0x0002")
cpp_quote("")
cpp_quote("#define SBSP_DEFMODE 0x0000")
cpp_quote("#define SBSP_OPENMODE 0x0010")
cpp_quote("#define SBSP_EXPLOREMODE 0x0020")
cpp_quote("#define SBSP_HELPMODE 0x0040")
cpp_quote("#define SBSP_NOTRANSFERHIST 0x0080")
cpp_quote("")
cpp_quote("#define SBSP_ABSOLUTE 0x0000")
cpp_quote("#define SBSP_RELATIVE 0x1000")
cpp_quote("#define SBSP_PARENT 0x2000")
cpp_quote("#define SBSP_NAVIGATEBACK 0x4000")
cpp_quote("#define SBSP_NAVIGATEFORWARD 0x8000")
cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define SBSP_KEEPSAMETEMPLATE 0x00020000")
cpp_quote("#define SBSP_KEEPWORDWHEELTEXT 0x00040000")
cpp_quote("#define SBSP_ACTIVATE_NOFOCUS 0x00080000")
cpp_quote("#define SBSP_CREATENOHISTORY 0x00100000")
cpp_quote("#define SBSP_PLAYNOSOUND 0x00200000")
cpp_quote("#endif")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2")
cpp_quote("#define SBSP_CALLERUNTRUSTED 0x00800000")
cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000")
cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000")
cpp_quote("#endif")
cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000")
cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE60SP2")
cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000")
cpp_quote("#endif")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000")
cpp_quote("#endif")
cpp_quote("#define SBSP_REDIRECT 0x40000000")
cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000")
cpp_quote("")
cpp_quote("#define FCW_STATUS 0x0001")
cpp_quote("#define FCW_TOOLBAR 0x0002")
cpp_quote("#define FCW_TREE 0x0003")
cpp_quote("#define FCW_INTERNETBAR 0x0006")
cpp_quote("#define FCW_PROGRESS 0x0008")
cpp_quote("")
cpp_quote("#define FCT_MERGE 0x0001")
cpp_quote("#define FCT_CONFIGABLE 0x0002")
cpp_quote("#define FCT_ADDTOEND 0x0004")
cpp_quote("")
cpp_quote("#if 0")
typedef LPARAM LPTBBUTTONSB;
cpp_quote("#else")
cpp_quote("#include <commctrl.h>")
cpp_quote("")
cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (000214e2-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellBrowser : IOleWindow {
HRESULT InsertMenusSB ([in] HMENU hmenuShared,[in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths);
HRESULT SetMenuSB ([in, unique] HMENU hmenuShared,[in, unique] HOLEMENU holemenuRes,[in, unique] HWND hwndActiveObject);
HRESULT RemoveMenusSB ([in] HMENU hmenuShared);
HRESULT SetStatusTextSB ([in, unique] LPCWSTR pszStatusText);
HRESULT EnableModelessSB ([in] BOOL fEnable);
HRESULT TranslateAcceleratorSB ([in] MSG *pmsg,[in] WORD wID);
HRESULT BrowseObject ([in, unique] PCUIDLIST_RELATIVE pidl,[in] UINT wFlags);
HRESULT GetViewStateStream ([in] DWORD grfMode,[out] IStream **ppStrm);
HRESULT GetControlWindow ([in] UINT id,[out] HWND *phwnd);
[local] HRESULT SendControlMsg ([in] UINT id,[in] UINT uMsg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *pret);
HRESULT QueryActiveShellView ([out] IShellView **ppshv);
HRESULT OnViewWindowActive ([in] IShellView *pshv);
[local] HRESULT SetToolbarItems ([in] LPTBBUTTONSB lpButtons,[in] UINT nButtons,[in] UINT uFlags);
}
cpp_quote("")
typedef IShellBrowser *LPSHELLBROWSER;
cpp_quote("")
[object, uuid (cb728b20-f786-11ce-92ad-00aa00a74cd0), pointer_default (unique)]
interface IProfferService : IUnknown {
HRESULT ProfferService ([in] REFGUID guidService,[in] IServiceProvider *psp,[out] DWORD *pdwCookie);
HRESULT RevokeService ([in] DWORD dwCookie);
}
cpp_quote("")
cpp_quote("#define SID_SProfferService IID_IProfferService")
cpp_quote("#define STR_DONT_RESOLVE_LINK L\"Don't Resolve Link\"")
cpp_quote("#define STR_GET_ASYNC_HANDLER L\"GetAsyncHandler\"")
cpp_quote("")
[object, uuid (43826d1e-e718-42ee-bc55-a1e261c37bfe), pointer_default (unique)]
interface IShellItem : IUnknown {
typedef [v1_enum] enum _SIGDN {
SIGDN_NORMALDISPLAY = 0x00000000,
SIGDN_PARENTRELATIVEPARSING = (int) 0x80018001,
SIGDN_DESKTOPABSOLUTEPARSING = (int) 0x80028000,
SIGDN_PARENTRELATIVEEDITING = (int) 0x80031001,
SIGDN_DESKTOPABSOLUTEEDITING = (int) 0x8004c000,
SIGDN_FILESYSPATH = (int) 0x80058000,
SIGDN_URL = (int) 0x80068000,
SIGDN_PARENTRELATIVEFORADDRESSBAR = (int) 0x8007c001,
SIGDN_PARENTRELATIVE = (int) 0x80080001,
SIGDN_PARENTRELATIVEFORUI = (int) 0x80094001,
} SIGDN;
cpp_quote("")
[v1_enum] enum _SICHINTF {
SICHINT_DISPLAY = 0x00000000,
SICHINT_ALLFIELDS = (int) 0x80000000,
SICHINT_CANONICAL = 0x10000000,
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000,
};
cpp_quote("")
typedef DWORD SICHINTF;
cpp_quote("")
HRESULT BindToHandler ([in, unique] IBindCtx *pbc,[in] REFGUID bhid,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetParent ([out] IShellItem **ppsi);
HRESULT GetDisplayName ([in] SIGDN sigdnName,[out, string] LPWSTR *ppszName);
HRESULT GetAttributes ([in] SFGAOF sfgaoMask,[out] SFGAOF *psfgaoAttribs);
HRESULT Compare ([in] IShellItem *psi,[in] SICHINTF hint,[out] int *piOrder);
}
cpp_quote("")
cpp_quote("SHSTDAPI_(PIDLIST_ABSOLUTE) SHSimpleIDListFromPath(PCWSTR pszPath);")
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote(" SHSTDAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHCreateItemWithParent(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psfParent, PCUITEMID_CHILD pidl, REFIID riid, void **ppvItem);")
cpp_quote(" SHSTDAPI SHCreateItemFromRelativeName(IShellItem *psiParent, PCWSTR pszName, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote("#endif")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote(" SHSTDAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID kfid, DWORD dwKFFlags, PCWSTR pszItem, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);")
cpp_quote(" SHSTDAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHGetPropertyStoreFromIDList(PCIDLIST_ABSOLUTE pidl, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);")
cpp_quote("#endif")
cpp_quote("#if NTDDI_VERSION >= NTDDI_WIN7")
typedef [v1_enum] enum DATAOBJ_GET_ITEM_FLAGS {
DOGIF_DEFAULT = 0x0000,
DOGIF_TRAVERSE_LINK = 0x0001,
DOGIF_NO_HDROP = 0x0002,
DOGIF_NO_URL = 0x0004,
DOGIF_ONLY_IF_ONE = 0x0008,
} DATAOBJ_GET_ITEM_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)")
cpp_quote("")
cpp_quote(" STDAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define STR_GPS_HANDLERPROPERTIESONLY L\"GPS_HANDLERPROPERTIESONLY\"")
cpp_quote("#define STR_GPS_FASTPROPERTIESONLY L\"GPS_FASTPROPERTIESONLY\"")
cpp_quote("#define STR_GPS_OPENSLOWITEM L\"GPS_OPENSLOWITEM\"")
cpp_quote("#define STR_GPS_DELAYCREATION L\"GPS_DELAYCREATION\"")
cpp_quote("#define STR_GPS_BESTEFFORT L\"GPS_BESTEFFORT\"")
cpp_quote("#define STR_GPS_NO_OPLOCK L\"GPS_NO_OPLOCK\"")
cpp_quote("")
[object, uuid (7e9fb0d3-919f-4307-ab2e-9b1860310c93), pointer_default (unique)]
interface IShellItem2 : IShellItem {
HRESULT GetPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetPropertyStoreWithCreateObject ([in] GETPROPERTYSTOREFLAGS flags,[in] IUnknown *punkCreateObject,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetPropertyStoreForKeys ([in, size_is (cKeys)] const PROPERTYKEY *rgKeys,[in] UINT cKeys,[in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetPropertyDescriptionList ([in] REFPROPERTYKEY keyType,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT Update ([in, unique] IBindCtx *pbc);
HRESULT GetProperty ([in] REFPROPERTYKEY key,[out] PROPVARIANT *ppropvar);
HRESULT GetCLSID ([in] REFPROPERTYKEY key,[out] CLSID *pclsid);
HRESULT GetFileTime ([in] REFPROPERTYKEY key,[out] FILETIME *pft);
HRESULT GetInt32 ([in] REFPROPERTYKEY key,[out] int *pi);
HRESULT GetString ([in] REFPROPERTYKEY key,[out, string] LPWSTR *ppsz);
HRESULT GetUInt32 ([in] REFPROPERTYKEY key,[out] ULONG *pui);
HRESULT GetUInt64 ([in] REFPROPERTYKEY key,[out] ULONGLONG *pull);
HRESULT GetBool ([in] REFPROPERTYKEY key,[out] BOOL *pf);
}
cpp_quote("")
[v1_enum] enum _SIIGBF {
SIIGBF_RESIZETOFIT = 0x00000000,
SIIGBF_BIGGERSIZEOK = 0x00000001,
SIIGBF_MEMORYONLY = 0x00000002,
SIIGBF_ICONONLY = 0x00000004,
SIIGBF_THUMBNAILONLY = 0x00000008,
SIIGBF_INCACHEONLY = 0x00000010,
SIIGBF_CROPTOSQUARE = 0x00000020,
SIIGBF_WIDETHUMBNAILS = 0x00000040,
SIIGBF_ICONBACKGROUND = 0x00000080,
SIIGBF_SCALEUP = 0x00000100,
};
cpp_quote("")
typedef int SIIGBF;
cpp_quote("")
[object, uuid (bcc18b79-ba16-442f-80c4-8a59c30c463b), pointer_default (unique)]
interface IShellItemImageFactory : IUnknown {
HRESULT GetImage ([in] SIZE size,[in] SIIGBF flags,[out] HBITMAP *phbm);
}
cpp_quote("")
[object, uuid (a561e69a-b4b8-4113-91a5-64c6bcca3430), version (1.0)]
interface IUserAccountChangeCallback : IUnknown {
HRESULT OnPictureChange ([in, string] LPCWSTR pszUserName);
}
cpp_quote("")
[object, uuid (70629033-e363-4a28-a567-0db78006e6d7), pointer_default (unique)]
interface IEnumShellItems : IUnknown {
[local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IShellItem **rgelt,[out] ULONG *pceltFetched);
[call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IShellItem **rgelt,[out] ULONG *pceltFetched);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumShellItems **ppenum);
}
cpp_quote("")
typedef GUID STGTRANSCONFIRMATION,*LPSTGTRANSCONFIRMATION;
cpp_quote("")
typedef [v1_enum] enum STGOP {
STGOP_MOVE = 1,
STGOP_COPY = 2,
STGOP_SYNC = 3,
STGOP_REMOVE = 5,
STGOP_RENAME = 6,
STGOP_APPLYPROPERTIES = 8,
STGOP_NEW = 10
} STGOP;
cpp_quote("")
[v1_enum] enum _TRANSFER_SOURCE_FLAGS {
TSF_NORMAL = 0x0000,
TSF_FAIL_EXIST = 0x0000,
TSF_RENAME_EXIST = 0x0001,
TSF_OVERWRITE_EXIST = 0x0002,
TSF_ALLOW_DECRYPTION = 0x0004,
TSF_NO_SECURITY = 0x0008,
TSF_COPY_CREATION_TIME = 0x0010,
TSF_COPY_WRITE_TIME = 0x0020,
TSF_USE_FULL_ACCESS = 0x0040,
TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x0080,
TSF_COPY_HARD_LINK = 0x0100,
TSF_COPY_LOCALIZED_NAME = 0x0200,
TSF_MOVE_AS_COPY_DELETE = 0x0400,
TSF_SUSPEND_SHELLEVENTS = 0x0800,
};
cpp_quote("")
typedef DWORD TRANSFER_SOURCE_FLAGS;
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[uuid (d594d0d8-8da7-457b-b3b4-ce5dbaac0b88), pointer_default (unique), local]
interface ITransferAdviseSink : IUnknown {
[v1_enum] enum _TRANSFER_ADVISE_STATE {
TS_NONE = 0x00000000,
TS_PERFORMING = 0x00000001,
TS_PREPARING = 0x00000002,
TS_INDETERMINATE = 0x00000004
};
cpp_quote("")
typedef DWORD TRANSFER_ADVISE_STATE;
cpp_quote("")
HRESULT UpdateProgress ([in] ULONGLONG ullSizeCurrent,[in] ULONGLONG ullSizeTotal,[in] int nFilesCurrent,[in] int nFilesTotal,[in] int nFoldersCurrent,[in] int nFoldersTotal);
HRESULT UpdateTransferState ([in] TRANSFER_ADVISE_STATE ts);
HRESULT ConfirmOverwrite ([in] IShellItem *psiSource,[in] IShellItem *psiDestParent,[in, string] LPCWSTR pszName);
HRESULT ConfirmEncryptionLoss ([in] IShellItem *psiSource);
HRESULT FileFailure ([in] IShellItem *psi,[in, unique, string] LPCWSTR pszItem,[in] HRESULT hrError,[out, unique, size_is (cchRename)] LPWSTR pszRename,[in] ULONG cchRename);
HRESULT SubStreamFailure ([in] IShellItem *psi,[in, string] LPCWSTR pszStreamName,[in] HRESULT hrError);
HRESULT PropertyFailure ([in] IShellItem *psi,[in, unique] const PROPERTYKEY *pkey,[in] HRESULT hrError);
}
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
[object, uuid (00adb003-bde9-45c6-8e29-d09f9353e108), pointer_default (unique), local]
interface ITransferSource : IUnknown {
HRESULT Advise ([in] ITransferAdviseSink *psink,[out] DWORD *pdwCookie);
HRESULT Unadvise ([in] DWORD dwCookie);
HRESULT SetProperties ([in] IPropertyChangeArray *pproparray);
HRESULT OpenItem ([in] IShellItem *psi,[in] TRANSFER_SOURCE_FLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT MoveItem ([in] IShellItem *psi,[in] IShellItem *psiParentDst,[in, string] LPCWSTR pszNameDst,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNew);
HRESULT RecycleItem ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest);
HRESULT RemoveItem ([in] IShellItem *psiSource,[in] TRANSFER_SOURCE_FLAGS flags);
HRESULT RenameItem ([in] IShellItem *psiSource,[in, string] LPCWSTR pszNewName,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest);
HRESULT LinkItem ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[in, unique, string] LPCWSTR pszNewName,[in] TRANSFER_SOURCE_FLAGS flags,[out] IShellItem **ppsiNewDest);
HRESULT ApplyPropertiesToItem ([in] IShellItem *psiSource,[out] IShellItem **ppsiNew);
HRESULT GetDefaultDestinationName ([in] IShellItem *psiSource,[in] IShellItem *psiParentDest,[out, string] LPWSTR *ppszDestinationName);
HRESULT EnterFolder ([in] IShellItem *psiChildFolderDest);
HRESULT LeaveFolder ([in] IShellItem *psiChildFolderDest);
}
cpp_quote("#endif")
cpp_quote("")
typedef struct SHELL_ITEM_RESOURCE {
GUID guidType;
WCHAR szName[260];
} SHELL_ITEM_RESOURCE;
cpp_quote("")
[object, uuid (2dd81fe3-a83c-4da9-a330-47249d345ba1), pointer_default (unique)]
interface IEnumResources : IUnknown {
HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] SHELL_ITEM_RESOURCE *psir,[out] ULONG *pceltFetched);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumResources **ppenumr);
}
cpp_quote("")
[object, uuid (ff5693be-2ce0-4d48-b5c5-40817d1acdb9), pointer_default (unique)]
interface IShellItemResources : IUnknown {
HRESULT GetAttributes ([out] DWORD *pdwAttributes);
HRESULT GetSize ([out] ULONGLONG *pullSize);
HRESULT GetTimes ([out] FILETIME *pftCreation,[out] FILETIME *pftWrite,[out] FILETIME *pftAccess);
HRESULT SetTimes ([in, unique] const FILETIME *pftCreation,[in, unique] const FILETIME *pftWrite,[in, unique] const FILETIME *pftAccess);
HRESULT GetResourceDescription ([in] const SHELL_ITEM_RESOURCE *pcsir,[out, string] LPWSTR *ppszDescription);
HRESULT EnumResources ([out] IEnumResources **ppenumr);
HRESULT SupportsResource ([in] const SHELL_ITEM_RESOURCE *pcsir);
HRESULT OpenResource ([in] const SHELL_ITEM_RESOURCE *pcsir,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT CreateResource ([in] const SHELL_ITEM_RESOURCE *pcsir,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT MarkForDelete ();
}
cpp_quote("")
[object, uuid (48addd32-3ca5-4124-abe3-b5a72531b207), pointer_default (unique), local]
interface ITransferDestination : IUnknown {
HRESULT Advise ([in] ITransferAdviseSink *psink,[out] DWORD *pdwCookie);
HRESULT Unadvise ([in] DWORD dwCookie);
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);
}
cpp_quote("#if 0")
typedef struct _OVERLAPPED {
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
union {
struct {
DWORD Offset;
DWORD OffsetHigh;
};
PVOID Pointer;
};
HANDLE hEvent;
} OVERLAPPED,*LPOVERLAPPED;
cpp_quote("#endif")
cpp_quote("")
[object, uuid (fe0b6665-e0ca-49b9-a178-2b5cb48d92a5), pointer_default (unique), local]
interface IStreamAsync : IStream {
HRESULT ReadAsync ([out, size_is (cb), length_is (*pcbRead)] void *pv,[in] DWORD cb,[out] LPDWORD pcbRead,[in] LPOVERLAPPED lpOverlapped);
HRESULT WriteAsync ([in, size_is (cb)] void const *lpBuffer,[in] DWORD cb,[out] LPDWORD pcbWritten,[in] LPOVERLAPPED lpOverlapped);
HRESULT OverlappedResult ([in] LPOVERLAPPED lpOverlapped,[out] LPDWORD lpNumberOfBytesTransferred,[in] BOOL bWait);
HRESULT CancelIo ();
}
cpp_quote("")
[object, uuid (8a68fdda-1fdc-4c20-8ceb-416643b5a625), pointer_default (unique), local]
interface IStreamUnbufferedInfo : IUnknown {
HRESULT GetSectorSize ([out] ULONG *pcbSectorSize);
}
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[object, uuid (04b0f1a7-9490-44bc-96e1-4296a31252e2), pointer_default (unique),]
interface IFileOperationProgressSink : IUnknown {
HRESULT StartOperations ();
HRESULT FinishOperations ([in] HRESULT hrResult);
HRESULT PreRenameItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in, unique, string] LPCWSTR pszNewName);
HRESULT PostRenameItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in, string] LPCWSTR pszNewName,[in] HRESULT hrRename,[in] IShellItem *psiNewlyCreated);
HRESULT PreMoveItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName);
HRESULT PostMoveItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in] HRESULT hrMove,[in] IShellItem *psiNewlyCreated);
HRESULT PreCopyItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName);
HRESULT PostCopyItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in] HRESULT hrCopy,[in] IShellItem *psiNewlyCreated);
HRESULT PreDeleteItem ([in] DWORD dwFlags,[in] IShellItem *psiItem);
HRESULT PostDeleteItem ([in] DWORD dwFlags,[in] IShellItem *psiItem,[in] HRESULT hrDelete,[in] IShellItem *psiNewlyCreated);
HRESULT PreNewItem ([in] DWORD dwFlags,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName);
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);
HRESULT UpdateProgress ([in] UINT iWorkTotal,[in] UINT iWorkSoFar);
HRESULT ResetTimer ();
HRESULT PauseTimer ();
HRESULT ResumeTimer ();
}
cpp_quote("#endif")
cpp_quote("")
[object, uuid (b63ea76d-1f85-456f-a19c-48159efa858b), pointer_default (unique)]
interface IShellItemArray : IUnknown {
typedef [v1_enum] enum SIATTRIBFLAGS {
SIATTRIBFLAGS_AND = 0x00000001,
SIATTRIBFLAGS_OR = 0x00000002,
SIATTRIBFLAGS_APPCOMPAT = 0x00000003,
SIATTRIBFLAGS_MASK = 0x00000003,
SIATTRIBFLAGS_ALLITEMS = 0x00004000
} SIATTRIBFLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)")
cpp_quote("")
HRESULT BindToHandler ([in, unique] IBindCtx *pbc,[in] REFGUID bhid,[in] REFIID riid,[out, iid_is (riid)] void **ppvOut);
HRESULT GetPropertyStore ([in] GETPROPERTYSTOREFLAGS flags,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetPropertyDescriptionList ([in] REFPROPERTYKEY keyType,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetAttributes ([in] SIATTRIBFLAGS AttribFlags,[in] SFGAOF sfgaoMask,[out] SFGAOF *psfgaoAttribs);
HRESULT GetCount ([out] DWORD *pdwNumItems);
HRESULT GetItemAt ([in] DWORD dwIndex,[out] IShellItem **ppsi);
HRESULT EnumItems ([out] IEnumShellItems **ppenumShellItems);
}
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote(" SHSTDAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder *psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);")
cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);")
cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY rgpidl, IShellItemArray **ppsiItemArray);")
cpp_quote(" SHSTDAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (7f73be3f-fb79-493c-a6c7-7ee14e245841), pointer_default (unique)]
interface IInitializeWithItem : IUnknown {
HRESULT Initialize ([in] IShellItem *psi,[in] DWORD grfMode);
}
cpp_quote("")
[object, uuid (1c9cd5bb-98e9-4491-a60f-31aacc72b83c), pointer_default (unique)]
interface IObjectWithSelection : IUnknown {
HRESULT SetSelection ([in] IShellItemArray *psia);
HRESULT GetSelection ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
cpp_quote("")
[object, uuid (321a6a6a-d61f-4bf3-97ae-14be2986bb36), pointer_default (unique)]
interface IObjectWithBackReferences : IUnknown {
HRESULT RemoveBackReferences ();
}
cpp_quote("")
[v1_enum] enum _PROPERTYUI_NAME_FLAGS {
PUIFNF_DEFAULT = 0x00000000,
PUIFNF_MNEMONIC = 0x00000001,
};
cpp_quote("")
typedef DWORD PROPERTYUI_NAME_FLAGS;
cpp_quote("")
[v1_enum] enum _PROPERTYUI_FLAGS {
PUIF_DEFAULT = 0x00000000,
PUIF_RIGHTALIGN = 0x00000001,
PUIF_NOLABELININFOTIP = 0x00000002,
};
cpp_quote("")
typedef DWORD PROPERTYUI_FLAGS;
cpp_quote("")
[v1_enum] enum _PROPERTYUI_FORMAT_FLAGS {
PUIFFDF_DEFAULT = 0x00000000,
PUIFFDF_RIGHTTOLEFT = 0x00000001,
PUIFFDF_SHORTFORMAT = 0x00000002,
PUIFFDF_NOTIME = 0x00000004,
PUIFFDF_FRIENDLYDATE = 0x00000008
};
cpp_quote("")
typedef DWORD PROPERTYUI_FORMAT_FLAGS;
cpp_quote("")
[object, uuid (757a7d9f-919a-4118-99d7-dbb208c8cc66), pointer_default (unique)]
interface IPropertyUI : IUnknown {
HRESULT ParsePropertyName ([in, string] LPCWSTR pszName,[out] FMTID *pfmtid,[out] PROPID *ppid,[in, out] ULONG *pchEaten);
HRESULT GetCannonicalName ([in] REFFMTID fmtid,[in] PROPID pid,[out, string, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText);
HRESULT GetDisplayName ([in] REFFMTID fmtid,[in] PROPID pid,[in] PROPERTYUI_NAME_FLAGS flags,[out, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText);
HRESULT GetPropertyDescription ([in] REFFMTID fmtid,[in] PROPID pid,[out, size_is (cchText)] LPWSTR pwszText,[in] DWORD cchText);
HRESULT GetDefaultWidth ([in] REFFMTID fmtid,[in] PROPID pid,[out] ULONG *pcxChars);
HRESULT GetFlags ([in] REFFMTID fmtid,[in] PROPID pid,[out] PROPERTYUI_FLAGS *pflags);
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);
HRESULT GetHelpInfo ([in] REFFMTID fmtid,[in] PROPID pid,[out, string, size_is (cch)] LPWSTR pwszHelpFile,[in] DWORD cch,[out] UINT *puHelpID);
}
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote(" SHSTDAPI SHRemovePersonalPropertyValues(IShellItemArray *psia);")
cpp_quote(" SHSTDAPI SHAddDefaultPropertiesByExt(PCWSTR pszExt, IPropertyStore *pPropStore);")
cpp_quote(" SHSTDAPI SHCreateDefaultPropertiesOp(IShellItem *psi, IFileOperation **ppFileOp);")
cpp_quote(" SHSTDAPI SHSetDefaultProperties(HWND hwnd, IShellItem *psi, DWORD dwFileOpFlags, IFileOperationProgressSink *pfops);")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (9af64809-5864-4c26-a720-c1f78c086ee3), pointer_default (unique)]
interface ICategoryProvider : IUnknown {
HRESULT CanCategorizeOnSCID ([in] const SHCOLUMNID *pscid);
HRESULT GetDefaultCategory ([out] GUID *pguid,[out] SHCOLUMNID *pscid);
HRESULT GetCategoryForSCID ([in] const SHCOLUMNID *pscid,[out] GUID *pguid);
HRESULT EnumCategories ([out] IEnumGUID **penum);
HRESULT GetCategoryName ([in] const GUID *pguid,[out, string, size_is (cch)] LPWSTR pszName,[in] UINT cch);
HRESULT CreateCategory ([in] const GUID *pguid,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
cpp_quote("")
typedef [v1_enum] enum CATEGORYINFO_FLAGS {
CATINFO_NORMAL = 0x00000000,
CATINFO_COLLAPSED = 0x00000001,
CATINFO_HIDDEN = 0x00000002,
CATINFO_EXPANDED = 0x00000004,
CATINFO_NOHEADER = 0x00000008,
CATINFO_NOTCOLLAPSIBLE = 0x00000010,
CATINFO_NOHEADERCOUNT = 0x00000020,
CATINFO_SUBSETTED = 0x00000040
} CATEGORYINFO_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CATEGORYINFO_FLAGS)")
cpp_quote("")
typedef [v1_enum] enum CATSORT_FLAGS {
CATSORT_DEFAULT = 0x00000000,
CATSORT_NAME = 0x00000001,
} CATSORT_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CATSORT_FLAGS)")
cpp_quote("")
typedef struct CATEGORY_INFO {
CATEGORYINFO_FLAGS cif;
WCHAR wszName[260];
} CATEGORY_INFO;
cpp_quote("")
[object, uuid (a3b14589-9174-49a8-89a3-06a1ae2b9ba7), pointer_default (unique)]
interface ICategorizer : IUnknown {
HRESULT GetDescription ([out, string, size_is (cch)] LPWSTR pszDesc,[in] UINT cch);
HRESULT GetCategory ([in] UINT cidl,[in, size_is (cidl)] PCUITEMID_CHILD_ARRAY apidl,[out, size_is (cidl)] DWORD *rgCategoryIds);
HRESULT GetCategoryInfo ([in] DWORD dwCategoryId,[out] CATEGORY_INFO *pci);
HRESULT CompareCategory ([in] CATSORT_FLAGS csfFlags,[in] DWORD dwCategoryId1,[in] DWORD dwCategoryId2);
}
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct SHDRAGIMAGE {
SIZE sizeDragImage;
POINT ptOffset;
HBITMAP hbmpDragImage;
COLORREF crColorKey;
} SHDRAGIMAGE,*LPSHDRAGIMAGE;
cpp_quote("#include <poppack.h>")
cpp_quote("")
cpp_quote("#define DI_GETDRAGIMAGE TEXT(\"ShellGetDragImage\")")
cpp_quote("")
[local, uuid (4657278b-411b-11d2-839a-00c04fd918d0), pointer_default (unique)]
interface IDropTargetHelper : IUnknown {
HRESULT DragEnter ([in] HWND hwndTarget,[in] IDataObject *pDataObject,[in] POINT *ppt,[in] DWORD dwEffect);
HRESULT DragLeave ();
HRESULT DragOver ([in] POINT *ppt,[in] DWORD dwEffect);
HRESULT Drop ([in] IDataObject *pDataObject,[in] POINT *ppt,[in] DWORD dwEffect);
HRESULT Show ([in] BOOL fShow);
}
cpp_quote("")
[local, uuid (DE5BF786-477a-11d2-839d-00c04fd918d0), pointer_default (unique)]
interface IDragSourceHelper: IUnknown {
HRESULT InitializeFromBitmap ([in] LPSHDRAGIMAGE pshdi,[in] IDataObject *pDataObject);
HRESULT InitializeFromWindow ([in, unique] HWND hwnd,[in, unique] POINT *ppt,[in] IDataObject *pDataObject);
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
typedef [v1_enum] enum DSH_FLAGS {
DSH_ALLOWDROPDESCRIPTIONTEXT = 0x0001,
} DSH_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DSH_FLAGS)")
cpp_quote("")
[uuid (83e07d0d-0c5f-4163-BF1A-60b274051e40), local, pointer_default (unique)]
interface IDragSourceHelper2 : IDragSourceHelper {
HRESULT SetFlags ([in] DWORD dwFlags);
}
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define IShellLink __MINGW_NAME_AW(IShellLink)")
cpp_quote("")
typedef [v1_enum] enum SLR_FLAGS {
SLR_NO_UI = 0x0001,
SLR_ANY_MATCH = 0x0002,
SLR_UPDATE = 0x0004,
SLR_NOUPDATE = 0x0008,
SLR_NOSEARCH = 0x0010,
SLR_NOTRACK = 0x0020,
SLR_NOLINKINFO = 0x0040,
SLR_INVOKE_MSI = 0x0080,
SLR_NO_UI_WITH_MSG_PUMP = 0x0101,
SLR_OFFER_DELETE_WITHOUT_FILE = 0x0200,
SLR_KNOWNFOLDER = 0x0400,
SLR_MACHINE_IN_LOCAL_TARGET = 0x0800,
SLR_UPDATE_MACHINE_AND_SID = 0x1000
} SLR_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SLR_FLAGS)")
cpp_quote("")
typedef [v1_enum] enum SLGP_FLAGS {
SLGP_SHORTPATH = 0x0001,
SLGP_UNCPRIORITY = 0x0002,
SLGP_RAWPATH = 0x0004,
SLGP_RELATIVEPRIORITY = 0x0008
} SLGP_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SLGP_FLAGS)")
cpp_quote("")
[object, uuid (000214ee-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellLinkA : IUnknown {
HRESULT GetPath ([out, string, size_is (cch)] LPSTR pszFile,[in] int cch,[in, out, unique] WIN32_FIND_DATAA *pfd,[in] DWORD fFlags);
HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl);
HRESULT SetIDList ([in] PCIDLIST_ABSOLUTE pidl);
HRESULT GetDescription ([out, string, size_is (cch)] LPSTR pszName,[in] int cch);
HRESULT SetDescription ([in, string] LPCSTR pszName);
HRESULT GetWorkingDirectory ([out, string, size_is (cch)] LPSTR pszDir,[in] int cch);
HRESULT SetWorkingDirectory ([in, string] LPCSTR pszDir);
HRESULT GetArguments ([out, string, size_is (cch)] LPSTR pszArgs,[in] int cch);
HRESULT SetArguments ([in, string] LPCSTR pszArgs);
HRESULT GetHotkey ([out] WORD *pwHotkey);
HRESULT SetHotkey ([in] WORD wHotkey);
HRESULT GetShowCmd ([out] int *piShowCmd);
HRESULT SetShowCmd ([in] int iShowCmd);
HRESULT GetIconLocation ([out, string, size_is (cch)] LPSTR pszIconPath,[in] int cch,[out] int *piIcon);
HRESULT SetIconLocation ([in, string] LPCSTR pszIconPath,[in] int iIcon);
HRESULT SetRelativePath ([in, string] LPCSTR pszPathRel,[in] DWORD dwReserved);
HRESULT Resolve ([in, unique] HWND hwnd,[in] DWORD fFlags);
HRESULT SetPath ([in, string] LPCSTR pszFile);
}
cpp_quote("")
[object, uuid (000214f9-0000-0000-C000-000000000046), pointer_default (unique)]
interface IShellLinkW : IUnknown {
HRESULT GetPath ([out, string, size_is (cch)] LPWSTR pszFile,[in] int cch,[in, out, unique] WIN32_FIND_DATAW *pfd,[in] DWORD fFlags);
HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl);
HRESULT SetIDList ([in, unique] PCIDLIST_ABSOLUTE pidl);
HRESULT GetDescription ([out, string, size_is (cch)] LPWSTR pszName, int cch);
HRESULT SetDescription ([in, string] LPCWSTR pszName);
HRESULT GetWorkingDirectory ([out, string, size_is (cch)] LPWSTR pszDir, int cch);
HRESULT SetWorkingDirectory ([in, string] LPCWSTR pszDir);
HRESULT GetArguments ([out, string, size_is (cch)] LPWSTR pszArgs,[in] int cch);
HRESULT SetArguments ([in, string] LPCWSTR pszArgs);
HRESULT GetHotkey ([out] WORD *pwHotkey);
HRESULT SetHotkey ([in] WORD wHotkey);
HRESULT GetShowCmd ([out] int *piShowCmd);
HRESULT SetShowCmd ([in] int iShowCmd);
HRESULT GetIconLocation ([out, string, size_is (cch)] LPWSTR pszIconPath,[in] int cch,[out] int *piIcon);
HRESULT SetIconLocation ([in, string] LPCWSTR pszIconPath,[in] int iIcon);
HRESULT SetRelativePath ([in, string] LPCWSTR pszPathRel,[in] DWORD dwReserved);
HRESULT Resolve ([in, unique] HWND hwnd,[in] DWORD fFlags);
HRESULT SetPath ([in, string] LPCWSTR pszFile);
}
cpp_quote("")
[object, uuid (45e2b4ae-b1c3-11d0-b92f-00a0c90312e1), pointer_default (unique)]
interface IShellLinkDataList : IUnknown {
[local] HRESULT AddDataBlock ([in] void *pDataBlock);
[local] HRESULT CopyDataBlock ([in] DWORD dwSig,[out] void **ppDataBlock);
HRESULT RemoveDataBlock ([in] DWORD dwSig);
HRESULT GetFlags ([out] DWORD *pdwFlags);
HRESULT SetFlags ([in] DWORD dwFlags);
}
cpp_quote("")
[object, uuid (5cd52983-9449-11d2-963a-00c04f79adf0), pointer_default (unique)]
interface IResolveShellLink : IUnknown {
HRESULT ResolveShellLink ([in] IUnknown *punkLink,[in, unique] HWND hwnd,[in] DWORD fFlags);
}
cpp_quote("")
[object, uuid (49ff1172-eadc-446d-9285-156453a6431c), pointer_default (unique)]
interface IActionProgressDialog : IUnknown {
[v1_enum] enum _SPINITF {
SPINITF_NORMAL = 0x00000000,
SPINITF_MODAL = 0x00000001,
SPINITF_NOMINIMIZE = 0x00000008,
};
cpp_quote("")
typedef DWORD SPINITF;
cpp_quote("")
HRESULT Initialize ([in] SPINITF flags,[in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszCancel);
HRESULT Stop ();
}
cpp_quote("")
[object, uuid (C1FB73D0-EC3A-4ba2-B512-8cdb9187b6d1), pointer_default (unique)]
interface IHWEventHandler : IUnknown {
HRESULT Initialize ([in, string] LPCWSTR pszParams);
HRESULT HandleEvent ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType);
HRESULT HandleEventWithContent ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType,[in, string] LPCWSTR pszContentTypeHandler,[in] IDataObject *pdataobject);
}
cpp_quote("")
[object, uuid (CFCC809F-295d-42e8-9ffc-424b33c487e6), pointer_default (unique)]
interface IHWEventHandler2 : IHWEventHandler {
HRESULT HandleEventWithHWND ([in, string] LPCWSTR pszDeviceID,[in, string] LPCWSTR pszAltDeviceID,[in, string] LPCWSTR pszEventType,[in] HWND hwndOwner);
}
cpp_quote("")
cpp_quote("#define ARCONTENT_AUTORUNINF 0x00000002")
cpp_quote("#define ARCONTENT_AUDIOCD 0x00000004")
cpp_quote("#define ARCONTENT_DVDMOVIE 0x00000008")
cpp_quote("#define ARCONTENT_BLANKCD 0x00000010")
cpp_quote("#define ARCONTENT_BLANKDVD 0x00000020")
cpp_quote("#define ARCONTENT_UNKNOWNCONTENT 0x00000040")
cpp_quote("#define ARCONTENT_AUTOPLAYPIX 0x00000080")
cpp_quote("#define ARCONTENT_AUTOPLAYMUSIC 0x00000100")
cpp_quote("#define ARCONTENT_AUTOPLAYVIDEO 0x00000200")
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define ARCONTENT_VCD 0x00000400")
cpp_quote("#define ARCONTENT_SVCD 0x00000800")
cpp_quote("#define ARCONTENT_DVDAUDIO 0x00001000")
cpp_quote("#define ARCONTENT_BLANKBD 0x00002000")
cpp_quote("#define ARCONTENT_BLURAY 0x00004000")
cpp_quote("#define ARCONTENT_CAMERASTORAGE 0x00008000")
cpp_quote("#define ARCONTENT_CUSTOMEVENT 0x00010000")
cpp_quote("#define ARCONTENT_NONE 0x00000000")
cpp_quote("#define ARCONTENT_MASK 0x0001FFFE")
cpp_quote("")
cpp_quote("#define ARCONTENT_PHASE_UNKNOWN 0x00000000")
cpp_quote("#define ARCONTENT_PHASE_PRESNIFF 0x10000000")
cpp_quote("#define ARCONTENT_PHASE_SNIFFING 0x20000000")
cpp_quote("#define ARCONTENT_PHASE_FINAL 0x40000000")
cpp_quote("#define ARCONTENT_PHASE_MASK 0x70000000")
cpp_quote("#endif")
cpp_quote("")
[object, uuid (DDEFE873-6997-4e68-BE26-39b633adbe12), pointer_default (unique)]
interface IQueryCancelAutoPlay : IUnknown {
HRESULT AllowAutoPlay ([in, string] LPCWSTR pszPath,[in] DWORD dwContentType,[in, string] LPCWSTR pszLabel,[in] DWORD dwSerialNumber);
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
[object, uuid (DC2601D7-059e-42fc-A09D-2afd21b6d5f7), pointer_default (unique)]
interface IDynamicHWHandler : IUnknown {
HRESULT GetDynamicInfo ([in, string] LPCWSTR pszDeviceID,[in] DWORD dwContentType,[out, string] LPWSTR *ppszAction);
}
cpp_quote("#endif")
cpp_quote("")
[object, uuid (49ff1173-eadc-446d-9285-156453a6431c), pointer_default (unique)]
interface IActionProgress : IUnknown {
[v1_enum] enum _SPBEGINF {
SPBEGINF_NORMAL = 0x00000000,
SPBEGINF_AUTOTIME = 0x00000002,
SPBEGINF_NOPROGRESSBAR = 0x00000010,
SPBEGINF_MARQUEEPROGRESS = 0x00000020,
SPBEGINF_NOCANCELBUTTON = 0x00000040
};
cpp_quote("")
typedef DWORD SPBEGINF;
cpp_quote("")
typedef [v1_enum] enum _SPACTION {
SPACTION_NONE = 0,
SPACTION_MOVING,
SPACTION_COPYING,
SPACTION_RECYCLING,
SPACTION_APPLYINGATTRIBS,
SPACTION_DOWNLOADING,
SPACTION_SEARCHING_INTERNET,
SPACTION_CALCULATING,
SPACTION_UPLOADING,
SPACTION_SEARCHING_FILES,
SPACTION_DELETING,
SPACTION_RENAMING,
SPACTION_FORMATTING,
SPACTION_COPY_MOVING
} SPACTION;
cpp_quote("")
typedef [v1_enum] enum _SPTEXT {
SPTEXT_ACTIONDESCRIPTION = 1,
SPTEXT_ACTIONDETAIL
} SPTEXT;
cpp_quote("")
HRESULT Begin ([in] SPACTION action,[in] SPBEGINF flags);
HRESULT UpdateProgress ([in] ULONGLONG ulCompleted,[in] ULONGLONG ulTotal);
HRESULT UpdateText ([in] SPTEXT sptext,[in, string] LPCWSTR pszText,[in] BOOL fMayCompact);
HRESULT QueryCancel ([out] BOOL *pfCancelled);
HRESULT ResetCancel ();
HRESULT End ();
}
cpp_quote("")
[object, local, uuid (000214e8-0000-0000-c000-000000000046), pointer_default (unique)]
interface IShellExtInit : IUnknown {
HRESULT Initialize ([in, unique] PCIDLIST_ABSOLUTE pidlFolder,[in, unique] IDataObject *pdtobj,[in, unique] HKEY hkeyProgID);
}
typedef IShellExtInit *LPSHELLEXTINIT;
cpp_quote("")
[object, local, uuid (000214e9-0000-0000-c000-000000000046), pointer_default (unique)]
interface IShellPropSheetExt : IUnknown {
[v1_enum] enum _EXPPS {
EXPPS_FILETYPES = 0x00000001,
};
cpp_quote("")
typedef UINT EXPPS;
cpp_quote("")
HRESULT AddPages ([in] LPFNSVADDPROPSHEETPAGE pfnAddPage,[in] LPARAM lParam);
HRESULT ReplacePage ([in] EXPPS uPageID,[in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith,[in] LPARAM lParam);
}
typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
cpp_quote("")
[object, uuid (000214fe-0000-0000-C000-000000000046), pointer_default (unique)]
interface IRemoteComputer : IUnknown {
HRESULT Initialize ([in, string] LPCWSTR pszMachine,[in] BOOL bEnumerating);
}
cpp_quote("")
[object, uuid (7307055c-b24a-486b-9f25-163e597a28a9), pointer_default (unique)]
interface IQueryContinue : IUnknown {
HRESULT QueryContinue ();
}
cpp_quote("")
[object, local, uuid (F279B885-0ae9-4b85-ac06-ddecf9408941), pointer_default (unique)]
interface IObjectWithCancelEvent : IUnknown {
HRESULT GetCancelEvent ([out] HANDLE *phEvent);
}
cpp_quote("")
[object, uuid (ba9711ba-5893-4787-a7e1-41277151550b), pointer_default (unique)]
interface IUserNotification : IUnknown {
HRESULT SetBalloonInfo ([in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszText,[in] DWORD dwInfoFlags);
HRESULT SetBalloonRetry ([in] DWORD dwShowTime,[in] DWORD dwInterval,[in] UINT cRetryCount);
HRESULT SetIconInfo ([in, unique] HICON hIcon,[in, unique, string] LPCWSTR pszToolTip);
HRESULT Show ([in, unique] IQueryContinue *pqc,[in] DWORD dwContinuePollInterval);
HRESULT PlaySound ([in, string] LPCWSTR pszSoundName);
}
cpp_quote("")
[object, uuid (19108294-0441-4aff-8013-FA0A730B0BEA)]
interface IUserNotificationCallback : IUnknown {
HRESULT OnBalloonUserClick ([in] POINT *pt);
HRESULT OnLeftClick ([in] POINT *pt);
HRESULT OnContextMenu ([in] POINT *pt);
}
cpp_quote("")
[object, uuid (215913cc-57eb-4fab-AB5A-E5FA7BEA2A6C), pointer_default (unique)]
interface IUserNotification2 : IUnknown {
HRESULT SetBalloonInfo ([in, unique, string] LPCWSTR pszTitle,[in, unique, string] LPCWSTR pszText,[in] DWORD dwInfoFlags);
HRESULT SetBalloonRetry ([in] DWORD dwShowTime,[in] DWORD dwInterval,[in] UINT cRetryCount);
HRESULT SetIconInfo ([in, unique] HICON hIcon,[in, unique, string] LPCWSTR pszToolTip);
HRESULT Show ([in, unique] IQueryContinue *pqc,[in] DWORD dwContinuePollInterval,[in, unique] IUserNotificationCallback *pSink);
HRESULT PlaySound ([in, string] LPCWSTR pszSoundName);
}
cpp_quote("")
[uuid (1df0d7f1-b267-4d28-8b10-12e23202a5c4)]
interface IItemNameLimits : IUnknown {
HRESULT GetValidCharacters ([out, string] LPWSTR *ppwszValidChars,[out, string] LPWSTR *ppwszInvalidChars);
HRESULT GetMaxLength ([in, string] LPCWSTR pszName,[out] int *piMaxNameLen);
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
interface ICondition;
cpp_quote("")
[object, uuid (a0ffbc28-5482-4366-be27-3e81e78e06c2), pointer_default (unique)]
interface ISearchFolderItemFactory : IUnknown {
HRESULT SetDisplayName ([in, string] LPCWSTR pszDisplayName);
HRESULT SetFolderTypeID ([in] FOLDERTYPEID ftid);
HRESULT SetFolderLogicalViewMode ([in] FOLDERLOGICALVIEWMODE flvm);
HRESULT SetIconSize ([in] int iIconSize);
HRESULT SetVisibleColumns ([in] UINT cVisibleColumns,[in, size_is (cVisibleColumns)] PROPERTYKEY *rgKey);
HRESULT SetSortColumns ([in] UINT cSortColumns,[in, size_is (cSortColumns)] SORTCOLUMN *rgSortColumns);
HRESULT SetGroupColumn ([in] REFPROPERTYKEY keyGroup);
HRESULT SetStacks ([in] UINT cStackKeys,[in, size_is (cStackKeys)] PROPERTYKEY *rgStackKeys);
HRESULT SetScope ([in] IShellItemArray *psiaScope);
HRESULT SetCondition ([in] ICondition *pCondition);
HRESULT GetShellItem ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
HRESULT GetIDList ([out] PIDLIST_ABSOLUTE *ppidl);
}
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY")
cpp_quote("#define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY")
cpp_quote("#define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY")
cpp_quote("")
cpp_quote("#define IEIFLAG_ASYNC 0x0001")
cpp_quote("#define IEIFLAG_CACHE 0x0002")
cpp_quote("#define IEIFLAG_ASPECT 0x0004")
cpp_quote("#define IEIFLAG_OFFLINE 0x0008")
cpp_quote("#define IEIFLAG_GLEAM 0x0010")
cpp_quote("#define IEIFLAG_SCREEN 0x0020")
cpp_quote("#define IEIFLAG_ORIGSIZE 0x0040")
cpp_quote("#define IEIFLAG_NOSTAMP 0x0080")
cpp_quote("#define IEIFLAG_NOBORDER 0x0100")
cpp_quote("#define IEIFLAG_QUALITY 0x0200")
cpp_quote("#define IEIFLAG_REFRESH 0x0400")
cpp_quote("")
[object, uuid (bb2E617c-0920-11d1-9a0b-00c04fc2d6c1), pointer_default (unique)]
interface IExtractImage : IUnknown {
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);
HRESULT Extract ([out] HBITMAP *phBmpThumbnail);
}
typedef IExtractImage *LPEXTRACTIMAGE;
cpp_quote("")
[object, uuid (953bb1ee-93b4-11d1-98a3-00c04fb687da), pointer_default (unique)]
interface IExtractImage2 : IExtractImage {
HRESULT GetDateStamp ([out] FILETIME *pDateStamp);
}
typedef IExtractImage2 *LPEXTRACTIMAGE2;
cpp_quote("")
[object, uuid (e35b4b2e-00da-4bc1-9f13-38bc11f5d417), pointer_default (unique)]
interface IThumbnailHandlerFactory : IUnknown {
HRESULT GetThumbnailHandler ([in] PCUITEMID_CHILD pidlChild,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
cpp_quote("")
[object, uuid (b3a4b685-b685-4805-99d9-5dead2873236), pointer_default (unique)]
interface IParentAndItem : IUnknown {
HRESULT SetParentAndItem ([in, unique] PCIDLIST_ABSOLUTE pidlParent,[in, unique] IShellFolder *psf,[in] PCUITEMID_CHILD pidlChild);
[local]
HRESULT GetParentAndItem ([out] PIDLIST_ABSOLUTE *ppidlParent,[out] IShellFolder **ppsf,[out] PITEMID_CHILD *ppidlChild);
[call_as (GetParentAndItem)]
HRESULT RemoteGetParentAndItem ([out] PIDLIST_ABSOLUTE *ppidlParent,[out] IShellFolder **ppsf,[out] PITEMID_CHILD *ppidlChild);
}
cpp_quote("")
[object, uuid (012dd920-7b26-11d0-8ca9-00a0c92dbfe8)]
interface IDockingWindow : IOleWindow {
HRESULT ShowDW ([in] BOOL fShow);
HRESULT CloseDW ([in] DWORD dwReserved);
HRESULT ResizeBorderDW ([in, unique] LPCRECT prcBorder,[in, unique] IUnknown *punkToolbarSite,[in] BOOL fReserved);
}
cpp_quote("")
cpp_quote("#define DBIM_MINSIZE 0x0001")
cpp_quote("#define DBIM_MAXSIZE 0x0002")
cpp_quote("#define DBIM_INTEGRAL 0x0004")
cpp_quote("#define DBIM_ACTUAL 0x0008")
cpp_quote("#define DBIM_TITLE 0x0010")
cpp_quote("#define DBIM_MODEFLAGS 0x0020")
cpp_quote("#define DBIM_BKCOLOR 0x0040")
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct DESKBANDINFO {
DWORD dwMask;
POINTL ptMinSize;
POINTL ptMaxSize;
POINTL ptIntegral;
POINTL ptActual;
WCHAR wszTitle[256];
DWORD dwModeFlags;
COLORREF crBkgnd;
} DESKBANDINFO;
cpp_quote("#include <poppack.h>")
cpp_quote("")
cpp_quote("#define DBIMF_NORMAL 0x0000")
cpp_quote("#define DBIMF_FIXED 0x0001")
cpp_quote("#define DBIMF_FIXEDBMP 0x0004")
cpp_quote("#define DBIMF_VARIABLEHEIGHT 0x0008")
cpp_quote("#define DBIMF_UNDELETEABLE 0x0010")
cpp_quote("#define DBIMF_DEBOSSED 0x0020")
cpp_quote("#define DBIMF_BKCOLOR 0x0040")
cpp_quote("#define DBIMF_USECHEVRON 0x0080")
cpp_quote("#define DBIMF_BREAK 0x0100")
cpp_quote("#define DBIMF_ADDTOFRONT 0x0200")
cpp_quote("#define DBIMF_TOPALIGN 0x0400")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define DBIMF_NOGRIPPER 0x0800")
cpp_quote("#define DBIMF_ALWAYSGRIPPER 0x1000")
cpp_quote("#define DBIMF_NOMARGINS 0x2000")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define DBIF_VIEWMODE_NORMAL 0x0000")
cpp_quote("#define DBIF_VIEWMODE_VERTICAL 0x0001")
cpp_quote("#define DBIF_VIEWMODE_FLOATING 0x0002")
cpp_quote("#define DBIF_VIEWMODE_TRANSPARENT 0x0004")
cpp_quote("")
enum tagDESKBANDCID {
DBID_BANDINFOCHANGED = 0,
DBID_SHOWONLY = 1,
DBID_MAXIMIZEBAND = 2,
DBID_PUSHCHEVRON = 3,
DBID_DELAYINIT = 4,
DBID_FINISHINIT = 5,
DBID_SETWINDOWTHEME = 6,
DBID_PERMITAUTOHIDE = 7,
};
cpp_quote("")
cpp_quote("#define DBPC_SELECTFIRST (DWORD)-1")
cpp_quote("#define DBPC_SELECTLAST (DWORD)-2")
cpp_quote("")
cpp_quote("#define CGID_DeskBand IID_IDeskBand")
cpp_quote("")
[object, uuid (EB0FE172-1a3a-11d0-89b3-00a0c90a90ac)]
interface IDeskBand : IDockingWindow {
HRESULT GetBandInfo ([in] DWORD dwBandID,[in] DWORD dwViewMode,[in, out] DESKBANDINFO *pdbi);
}
cpp_quote("")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
[object, uuid (77e425fc-CBF9-4307-BA6A-BB5727745661)]
interface IDeskBandInfo : IUnknown {
HRESULT GetDefaultBandWidth ([in] DWORD dwBandID,[in] DWORD dwViewMode,[out] int *pnWidth);
}
cpp_quote("")
[object, uuid (79d16de4-ABEE-4021-8d9d-9169b261d657)]
interface IDeskBand2 : IDeskBand {
HRESULT CanRenderComposited ([out] BOOL *pfCanRenderComposited);
HRESULT SetCompositionState ([in] BOOL fCompositionEnabled);
HRESULT GetCompositionState ([out] BOOL *pfCompositionEnabled);
}
cpp_quote("#endif")
cpp_quote("")
[object, uuid (56fdf342-FD6D-11d0-958a-006097c9a090)]
interface ITaskbarList : IUnknown {
HRESULT HrInit ();
HRESULT AddTab ([in] HWND hwnd);
HRESULT DeleteTab ([in] HWND hwnd);
HRESULT ActivateTab ([in] HWND hwnd);
HRESULT SetActiveAlt ([in] HWND hwnd);
}
cpp_quote("")
[object, uuid (602d4995-B13A-429b-A66E-1935e44f4317)]
interface ITaskbarList2 : ITaskbarList {
HRESULT MarkFullscreenWindow ([in] HWND hwnd,[in] BOOL fFullscreen);
}
cpp_quote("")
cpp_quote("#if 0")
typedef IUnknown *HIMAGELIST;
cpp_quote("#endif")
cpp_quote("")
typedef [v1_enum] enum THUMBBUTTONFLAGS {
THBF_ENABLED = 0x00000000,
THBF_DISABLED = 0x00000001,
THBF_DISMISSONCLICK = 0x00000002,
THBF_NOBACKGROUND = 0x00000004,
THBF_HIDDEN = 0x00000008,
THBF_NONINTERACTIVE = 0x00000010,
} THUMBBUTTONFLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)")
cpp_quote("")
cpp_quote("")
typedef [v1_enum] enum THUMBBUTTONMASK {
THB_BITMAP = 0x00000001,
THB_ICON = 0x00000002,
THB_TOOLTIP = 0x00000004,
THB_FLAGS = 0x00000008,
} THUMBBUTTONMASK;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)")
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct THUMBBUTTON {
THUMBBUTTONMASK dwMask;
UINT iId;
UINT iBitmap;
HICON hIcon;
WCHAR szTip[260];
THUMBBUTTONFLAGS dwFlags;
} THUMBBUTTON,*LPTHUMBBUTTON;
cpp_quote("#include <poppack.h>")
cpp_quote("")
cpp_quote("#define THBN_CLICKED 0x1800")
cpp_quote("")
[object, uuid (ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf)]
interface ITaskbarList3 : ITaskbarList2 {
typedef [v1_enum] enum TBPFLAG {
TBPF_NOPROGRESS = 0x00000000,
TBPF_INDETERMINATE = 0x00000001,
TBPF_NORMAL = 0x00000002,
TBPF_ERROR = 0x00000004,
TBPF_PAUSED = 0x00000008
} TBPFLAG;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)")
cpp_quote("")
HRESULT SetProgressValue ([in] HWND hwnd,[in] ULONGLONG ullCompleted,[in] ULONGLONG ullTotal);
HRESULT SetProgressState ([in] HWND hwnd,[in] TBPFLAG tbpFlags);
HRESULT RegisterTab ([in] HWND hwndTab,[in] HWND hwndMDI);
HRESULT UnregisterTab ([in] HWND hwndTab);
HRESULT SetTabOrder ([in] HWND hwndTab,[in] HWND hwndInsertBefore);
HRESULT SetTabActive ([in] HWND hwndTab,[in] HWND hwndMDI,[in] DWORD dwReserved);
HRESULT ThumbBarAddButtons ([in] HWND hwnd,[in] UINT cButtons,[in, size_is (cButtons)] LPTHUMBBUTTON pButton);
HRESULT ThumbBarUpdateButtons ([in] HWND hwnd,[in] UINT cButtons,[in, size_is (cButtons)] LPTHUMBBUTTON pButton);
HRESULT ThumbBarSetImageList ([in] HWND hwnd,[in] HIMAGELIST himl);
HRESULT SetOverlayIcon ([in] HWND hwnd,[in] HICON hIcon,[in, unique, string] LPCWSTR pszDescription);
HRESULT SetThumbnailTooltip ([in] HWND hwnd,[in, unique, string] LPCWSTR pszTip);
HRESULT SetThumbnailClip ([in] HWND hwnd,[in] RECT *prcClip);
}
cpp_quote("")
[object, uuid (c43dc798-95d1-4bea-9030-bb99e2983a1a)]
interface ITaskbarList4 : ITaskbarList3 {
typedef [v1_enum] enum STPFLAG {
STPF_NONE = 0x00000000,
STPF_USEAPPTHUMBNAILALWAYS = 0x00000001,
STPF_USEAPPTHUMBNAILWHENACTIVE = 0x00000002,
STPF_USEAPPPEEKALWAYS = 0x00000004,
STPF_USEAPPPEEKWHENACTIVE = 0x00000008,
} STPFLAG;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)")
cpp_quote("")
HRESULT SetTabProperties ([in] HWND hwndTab,[in] STPFLAG stpFlags);
}
cpp_quote("")
[object, uuid (4cd19ada-25a5-4a32-B3B7-347bee5be36b)]
interface IStartMenuPinnedList : IUnknown {
HRESULT RemoveFromList ([in] IShellItem *pitem);
}
cpp_quote("")
[object, uuid (3d73a659-e5d0-4d42-afc0-5121ba425c8d), pointer_default (unique)]
interface ICDBurn : IUnknown {
HRESULT GetRecorderDriveLetter ([out, string, size_is (cch)] LPWSTR pszDrive,[in] UINT cch);
HRESULT Burn ([in] HWND hwnd);
HRESULT HasRecordableDrive ([out] BOOL *pfHasRecorder);
}
cpp_quote("")
cpp_quote("#define IDD_WIZEXTN_FIRST 0x5000")
cpp_quote("#define IDD_WIZEXTN_LAST 0x5100")
cpp_quote("")
[local, uuid (88960f5b-422f-4e7b-8013-73415381c3c3)]
interface IWizardSite : IUnknown {
HRESULT GetPreviousPage ([out] HPROPSHEETPAGE *phpage);
HRESULT GetNextPage ([out] HPROPSHEETPAGE *phpage);
HRESULT GetCancelledPage ([out] HPROPSHEETPAGE *phpage);
}
cpp_quote("")
cpp_quote("#define SID_WizardSite IID_IWizardSite")
cpp_quote("")
[local, uuid (c02ea696-86cc-491e-9b23-74394a0444a8)]
interface IWizardExtension : IUnknown {
HRESULT AddPages ([out, size_is (cPages)] HPROPSHEETPAGE *aPages,[in] UINT cPages,[out] UINT *pnPagesAdded);
HRESULT GetFirstPage ([out] HPROPSHEETPAGE *phpage);
HRESULT GetLastPage ([out] HPROPSHEETPAGE *phpage);
}
cpp_quote("")
[local, uuid (0e6b3f66-98d1-48c0-a222-fbde74e2fbc5), pointer_default (unique)]
interface IWebWizardExtension : IWizardExtension {
HRESULT SetInitialURL ([in, string] LPCWSTR pszURL);
HRESULT SetErrorURL ([in, string] LPCWSTR pszErrorURL);
}
cpp_quote("")
cpp_quote("#define SID_WebWizardHost IID_IWebWizardExtension")
cpp_quote("")
cpp_quote("#define SHPWHF_NORECOMPRESS 0x00000001")
cpp_quote("#define SHPWHF_NONETPLACECREATE 0x00000002")
cpp_quote("#define SHPWHF_NOFILESELECTOR 0x00000004")
cpp_quote("#define SHPWHF_USEMRU 0x00000008")
cpp_quote("#if NTDDI_VERSION >= NTDDI_VISTA")
cpp_quote("#define SHPWHF_ANYLOCATION 0x00000100")
cpp_quote("#endif")
cpp_quote("#define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000")
cpp_quote("")
interface IXMLDOMDocument;
cpp_quote("")
[local, uuid (aa9198bb-ccec-472d-beed-19a4f6733f7a), pointer_default (unique)]
interface IPublishingWizard : IWizardExtension {
HRESULT Initialize ([in, unique] IDataObject *pdo,[in] DWORD dwOptions,[in, string] LPCWSTR pszServiceScope);
HRESULT GetTransferManifest ([out] HRESULT *phrFromTransfer,[out] IXMLDOMDocument **pdocManifest);
}
cpp_quote("")
[local, uuid (1ea58f02-d55a-411d-b09e-9e65ac21605b)]
interface IFolderViewHost : IUnknown {
HRESULT Initialize ([in] HWND hwndParent,[in] IDataObject *pdo,[in] RECT *prc);
}
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[object, uuid (361bbdc7-e6ee-4e13-be58-58e2240c810f)]
interface IExplorerBrowserEvents : IUnknown {
HRESULT OnNavigationPending ([in] PCIDLIST_ABSOLUTE pidlFolder);
HRESULT OnViewCreated ([in] IShellView *psv);
HRESULT OnNavigationComplete ([in] PCIDLIST_ABSOLUTE pidlFolder);
HRESULT OnNavigationFailed ([in] PCIDLIST_ABSOLUTE pidlFolder);
}
cpp_quote("")
typedef [v1_enum] enum EXPLORER_BROWSER_OPTIONS {
EBO_NONE = 0x00000000,
EBO_NAVIGATEONCE = 0x00000001,
EBO_SHOWFRAMES = 0x00000002,
EBO_ALWAYSNAVIGATE = 0x00000004,
EBO_NOTRAVELLOG = 0x00000008,
EBO_NOWRAPPERWINDOW = 0x00000010,
EBO_HTMLSHAREPOINTVIEW = 0x00000020,
EBO_NOBORDER = 0x00000040,
EBO_NOPERSISTVIEWSTATE = 0x00000080,
} EXPLORER_BROWSER_OPTIONS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_OPTIONS)")
cpp_quote("")
typedef [v1_enum] enum EXPLORER_BROWSER_FILL_FLAGS {
EBF_NONE = 0x0000000,
EBF_SELECTFROMDATAOBJECT = 0x0000100,
EBF_NODROPTARGET = 0x0000200
} EXPLORER_BROWSER_FILL_FLAGS;
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(EXPLORER_BROWSER_FILL_FLAGS)")
cpp_quote("")
[object, uuid (dfd3b6b5-c10c-4be9-85f6-a66969f402f6)]
interface IExplorerBrowser : IUnknown {
[local] HRESULT Initialize ([in] HWND hwndParent,[in] const RECT *prc,[in, unique] const FOLDERSETTINGS *pfs);
HRESULT Destroy ();
[local] HRESULT SetRect ([in, out, unique] HDWP *phdwp,[in] RECT rcBrowser);
HRESULT SetPropertyBag ([in, string] LPCWSTR pszPropertyBag);
HRESULT SetEmptyText ([in, string] LPCWSTR pszEmptyText);
HRESULT SetFolderSettings ([in] const FOLDERSETTINGS *pfs);
HRESULT Advise ([in] IExplorerBrowserEvents *psbe,[out] DWORD *pdwCookie);
HRESULT Unadvise ([in] DWORD dwCookie);
HRESULT SetOptions ([in] EXPLORER_BROWSER_OPTIONS dwFlag);
HRESULT GetOptions ([out] EXPLORER_BROWSER_OPTIONS *pdwFlag);
HRESULT BrowseToIDList ([in] PCUIDLIST_RELATIVE pidl,[in] UINT uFlags);
HRESULT BrowseToObject ([in] IUnknown *punk,[in] UINT uFlags);
HRESULT FillFromObject ([in, unique] IUnknown *punk,[in] EXPLORER_BROWSER_FILL_FLAGS dwFlags);
HRESULT RemoveAll ();
HRESULT GetCurrentView ([in] REFIID riid,[out, iid_is (riid)] void **ppv);
}
cpp_quote("")
[object, uuid (95a391c5-9ed4-4c28-8401-AB9E06719E11)]
interface IAccessibleObject : IUnknown {
HRESULT SetAccessibleName ([in, string] LPCWSTR pszName);
}
cpp_quote("#endif")
cpp_quote("")
[object, uuid (96e5ae6d-6ae1-4b1c-900c-C6480EAA8828), pointer_default (unique)]
interface IResultsFolder : IUnknown {
HRESULT AddItem ([in] IShellItem *psi);
[local] HRESULT AddIDList ([in] PCIDLIST_ABSOLUTE pidl,[out] PITEMID_CHILD *ppidlAdded);
[call_as (AddIDList)] HRESULT RemoteAddIDList ([in] PCIDLIST_ABSOLUTE pidl,[out] PITEMID_CHILD *ppidlAdded);
HRESULT RemoveItem ([in] IShellItem *psi);
HRESULT RemoveIDList ([in] PCIDLIST_ABSOLUTE pidl);
HRESULT RemoveAll ();
}
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[object, uuid (2c1c7e2e-2d0e-4059-831e-1e6f82335c2e), pointer_default (unique)]
interface IEnumObjects : IUnknown {
[local] HRESULT Next ([in] ULONG celt,[in] REFIID riid,[out, size_is (celt), length_is (*pceltFetched), iid_is (riid)] void **rgelt,[out] ULONG *pceltFetched);
[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);
HRESULT Skip ([in] ULONG celt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumObjects **ppenum);
}
cpp_quote("")
[v1_enum] enum _OPPROGDLGF {
OPPROGDLG_DEFAULT = 0x00000000,
OPPROGDLG_ENABLEPAUSE = 0x00000080,
OPPROGDLG_ALLOWUNDO = 0x00000100,
OPPROGDLG_DONTDISPLAYSOURCEPATH = 0x00000200,
OPPROGDLG_DONTDISPLAYDESTPATH = 0x00000400,
OPPROGDLG_NOMULTIDAYESTIMATES = 0x00000800,
OPPROGDLG_DONTDISPLAYLOCATIONS = 0x00001000,
};
cpp_quote("")
typedef DWORD OPPROGDLGF;
cpp_quote("")
[object, uuid (0c9fb851-E5C9-43eb-A370-F0677B13874C), pointer_default (unique)]
interface IOperationsProgressDialog : IUnknown {
[v1_enum] enum _PDMODE {
PDM_DEFAULT = 0x00000000,
PDM_RUN = 0x00000001,
PDM_PREFLIGHT = 0x00000002,
PDM_UNDOING = 0x00000004,
PDM_ERRORSBLOCKING = 0x00000008,
PDM_INDETERMINATE = 0x00000010,
};
cpp_quote("")
typedef DWORD PDMODE;
cpp_quote("")
typedef [v1_enum] enum PDOPSTATUS {
PDOPS_RUNNING = 1,
PDOPS_PAUSED = 2,
PDOPS_CANCELLED = 3,
PDOPS_STOPPED = 4,
PDOPS_ERRORS = 5,
} PDOPSTATUS;
cpp_quote("")
HRESULT StartProgressDialog ([in, unique] HWND hwndOwner,[in] OPPROGDLGF flags);
HRESULT StopProgressDialog ();
HRESULT SetOperation ([in] SPACTION action);
HRESULT SetMode ([in] PDMODE mode);
HRESULT UpdateProgress ([in] ULONGLONG ullPointsCurrent,[in] ULONGLONG ullPointsTotal,[in] ULONGLONG ullSizeCurrent,[in] ULONGLONG ullSizeTotal,[in] ULONGLONG ullItemsCurrent,[in] ULONGLONG ullItemsTotal);
HRESULT UpdateLocations ([in, unique] IShellItem *psiSource,[in, unique] IShellItem *psiTarget,[in, unique] IShellItem *psiItem);
HRESULT ResetTimer ();
HRESULT PauseTimer ();
HRESULT ResumeTimer ();
HRESULT GetMilliseconds ([out] ULONGLONG *pullElapsed,[out] ULONGLONG *pullRemaining);
HRESULT GetOperationStatus ([out] PDOPSTATUS *popstatus);
}
cpp_quote("")
[object, local, uuid (f5b0bf81-8cb5-4b1b-9449-1a159e0c733c), pointer_default (unique)]
interface IIOCancelInformation : IUnknown {
HRESULT SetCancelInformation ([in] DWORD dwThreadID,[in] UINT uMsgCancel);
HRESULT GetCancelInformation ([out] DWORD *pdwThreadID,[out] UINT *puMsgCancel);
}
cpp_quote("")
cpp_quote("#define FOFX_NOSKIPJUNCTIONS 0x00010000")
cpp_quote("#define FOFX_PREFERHARDLINK 0x00020000")
cpp_quote("#define FOFX_SHOWELEVATIONPROMPT 0x00040000")
cpp_quote("#define FOFX_RECYCLEONDELETE 0x00080000")
cpp_quote("#define FOFX_EARLYFAILURE 0x00100000")
cpp_quote("#define FOFX_PRESERVEFILEEXTENSIONS 0x00200000")
cpp_quote("#define FOFX_KEEPNEWERFILE 0x00400000")
cpp_quote("#define FOFX_NOCOPYHOOKS 0x00800000")
cpp_quote("#define FOFX_NOMINIMIZEBOX 0x01000000")
cpp_quote("#define FOFX_MOVEACLSACROSSVOLUMES 0x02000000")
cpp_quote("#define FOFX_DONTDISPLAYSOURCEPATH 0x04000000")
cpp_quote("#define FOFX_DONTDISPLAYDESTPATH 0x08000000")
cpp_quote("#define FOFX_REQUIREELEVATION 0x10000000")
cpp_quote("#define FOFX_ADDUNDORECORD 0x20000000")
cpp_quote("#define FOFX_COPYASDOWNLOAD 0x40000000")
cpp_quote("#define FOFX_DONTDISPLAYLOCATIONS 0x80000000")
cpp_quote("")
[object, uuid (947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8), pointer_default (unique)]
interface IFileOperation : IUnknown {
HRESULT Advise ([in] IFileOperationProgressSink *pfops,[out] DWORD *pdwCookie);
HRESULT Unadvise ([in] DWORD dwCookie);
HRESULT SetOperationFlags ([in] DWORD dwOperationFlags);
HRESULT SetProgressMessage ([in, string] LPCWSTR pszMessage);
HRESULT SetProgressDialog ([in] IOperationsProgressDialog *popd);
HRESULT SetProperties ([in] IPropertyChangeArray *pproparray);
HRESULT SetOwnerWindow ([in] HWND hwndOwner);
HRESULT ApplyPropertiesToItem ([in] IShellItem *psiItem);
HRESULT ApplyPropertiesToItems ([in] IUnknown *punkItems);
HRESULT RenameItem ([in] IShellItem *psiItem,[in, string] LPCWSTR pszNewName,[in, unique] IFileOperationProgressSink *pfopsItem);
HRESULT RenameItems ([in] IUnknown *pUnkItems,[in, string] LPCWSTR pszNewName);
HRESULT MoveItem ([in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszNewName,[in, unique] IFileOperationProgressSink *pfopsItem);
HRESULT MoveItems ([in] IUnknown *punkItems,[in] IShellItem *psiDestinationFolder);
HRESULT CopyItem ([in] IShellItem *psiItem,[in] IShellItem *psiDestinationFolder,[in, unique, string] LPCWSTR pszCopyName,[in, unique] IFileOperationProgressSink *pfopsItem);
HRESULT CopyItems ([in] IUnknown *punkItems,[in] IShellItem *psiDestinationFolder);
HRESULT DeleteItem ([in] IShellItem *psiItem,[in, unique] IFileOperationProgressSink *pfopsItem);
HRESULT DeleteItems ([in] IUnknown *punkItems);
HRESULT NewItem ([in] IShellItem *psiDestinationFolder,[in] DWORD dwFileAttributes,[in, string] LPCWSTR pszName,[in, unique, string] LPCWSTR pszTemplateName,[in, unique] IFileOperationProgressSink *pfopsItem);
HRESULT PerformOperations ();
HRESULT GetAnyOperationsAborted ([out] BOOL *pfAnyOperationsAborted);
}
cpp_quote("")
[object, uuid (a6087428-3be3-4d73-b308-7c04a540bf1a), pointer_default (unique)]
interface IObjectProvider : IUnknown {
HRESULT QueryObject ([in] REFGUID guidObject,[in] REFIID riid,[out, iid_is (riid)] void **ppvOut);
}
cpp_quote("#endif")
cpp_quote("")
[uuid (d92995f8-cf5e-4a76-bf59-ead39ea2b97e)]
interface INamespaceWalkCB : IUnknown {
HRESULT FoundItem ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl);
HRESULT EnterFolder ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl);
HRESULT LeaveFolder ([in] IShellFolder *psf,[in] PCUITEMID_CHILD pidl);
HRESULT InitializeProgressDialog ([out, string] LPWSTR *ppszTitle,[out, string] LPWSTR *ppszCancel);
}
cpp_quote("")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
[uuid (7ac7492b-c38e-438a-87db-68737844ff70)]
interface INamespaceWalkCB2 : INamespaceWalkCB {
HRESULT WalkComplete ([in] HRESULT hr);
}
cpp_quote("#endif")
cpp_quote("")
[uuid (57ced8a7-3f4a-432c-9350-30f24483f74f)]
interface INamespaceWalk : IUnknown {
typedef [v1_enum] enum NAMESPACEWALKFLAG {
NSWF_DEFAULT = 0x00000000,
NSWF_NONE_IMPLIES_ALL = 0x00000001,
NSWF_ONE_IMPLIES_ALL = 0x00000002,
NSWF_DONT_TRAVERSE_LINKS = 0x00000004,
NSWF_DONT_ACCUMULATE_RESULT = 0x00000008,
NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x00000010,
NSWF_FILESYSTEM_ONLY = 0x00000020,
NSWF_SHOW_PROGRESS = 0x00000040,
NSWF_FLAG_VIEWORDER = 0x00000080,
NSWF_IGNORE_AUTOPLAY_HIDA = 0x00000100,
NSWF_ASYNC = 0x00000200,
NSWF_DONT_RESOLVE_LINKS = 0x00000400,
NSWF_ACCUMULATE_FOLDERS = 0x00000800,
NSWF_DONT_SORT = 0x00001000,
NSWF_USE_TRANSFER_MEDIUM = 0x00002000,
NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS = 0x00004000,
NSWF_ANY_IMPLIES_ALL = 0x00008000,
} NAMESPACEWALKFLAG;
cpp_quote("")
cpp_quote("#define NSWF_ENUMERATE_BEST_EFFORT 0x00010000")
cpp_quote("#define NSWF_TRAVERSE_ONLY_STORAGE 0x00020000")
cpp_quote("")
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NAMESPACEWALKFLAG)")
cpp_quote("")
HRESULT Walk ([in] IUnknown *punkToWalk,[in] DWORD dwFlags,[in] int cDepth,[in, unique] INamespaceWalkCB *pnswcb);
HRESULT GetIDArrayResult ([out] UINT *pcItems,[out, size_is (,*pcItems)] PIDLIST_ABSOLUTE **prgpidl);
}
cpp_quote("")
cpp_quote(" __forceinline void FreeIDListArray(PIDLIST_RELATIVE *ppidls, UINT cItems) {")
cpp_quote(" UINT i;")
cpp_quote(" for (i = 0; i < cItems; i++) {")
cpp_quote(" CoTaskMemFree(ppidls[i]);")
cpp_quote(" }")
cpp_quote(" CoTaskMemFree(ppidls);")
cpp_quote(" }")
cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)")
cpp_quote(" __forceinline void FreeIDListArrayFull(PIDLIST_ABSOLUTE *ppidls, UINT cItems) {")
cpp_quote(" UINT i;")
cpp_quote(" for (i = 0; i < cItems; i++)")
cpp_quote(" CoTaskMemFree(ppidls[i]);")
cpp_quote(" CoTaskMemFree(ppidls);")
cpp_quote(" }")
cpp_quote(" __forceinline void FreeIDListArrayChild(PITEMID_CHILD *ppidls, UINT cItems) {")
cpp_quote(" UINT i;")
cpp_quote(" for (i = 0; i < cItems; i++)")
cpp_quote(" CoTaskMemFree(ppidls[i]);")
cpp_quote(" CoTaskMemFree(ppidls);")
cpp_quote(" }")
cpp_quote("#else")
cpp_quote("#define FreeIDListArrayFull FreeIDListArray")
cpp_quote("#define FreeIDListArrayChild FreeIDListArray")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define ACDD_VISIBLE 0x1")
cpp_quote("")
[object, uuid (3cd141f4-3c6a-11d2-BCAA-00c04fd929db), pointer_default (unique)]
interface IAutoCompleteDropDown : IUnknown {
HRESULT GetDropDownStatus ([out] DWORD *pdwFlags,[out, string] LPWSTR *ppwszString);
HRESULT ResetEnumerator ();
}
cpp_quote("")
cpp_quote("#include <pshpack8.h>")
typedef struct tagBANDSITEINFO {
DWORD dwMask;
DWORD dwState;
DWORD dwStyle;
} BANDSITEINFO;
cpp_quote("#include <poppack.h>")
enum tagBANDSITECID {
BSID_BANDADDED,
BSID_BANDREMOVED,
};
cpp_quote("")
cpp_quote("#define BSIM_STATE 0x00000001")
cpp_quote("#define BSIM_STYLE 0x00000002")
cpp_quote("")
cpp_quote("#define BSSF_VISIBLE 0x00000001")
cpp_quote("#define BSSF_NOTITLE 0x00000002")
cpp_quote("#define BSSF_UNDELETEABLE 0x00001000")
cpp_quote("")
cpp_quote("#define BSIS_AUTOGRIPPER 0x00000000")
cpp_quote("#define BSIS_NOGRIPPER 0x00000001")
cpp_quote("#define BSIS_ALWAYSGRIPPER 0x00000002")
cpp_quote("#define BSIS_LEFTALIGN 0x00000004")
cpp_quote("#define BSIS_SINGLECLICK 0x00000008")
cpp_quote("#define BSIS_NOCONTEXTMENU 0x00000010")
cpp_quote("#define BSIS_NODROPTARGET 0x00000020")
cpp_quote("#define BSIS_NOCAPTION 0x00000040")
cpp_quote("#define BSIS_PREFERNOLINEBREAK 0x00000080")
cpp_quote("#define BSIS_LOCKED 0x00000100")
cpp_quote("#if _WIN32_IE >= _WIN32_IE_IE70")
cpp_quote("#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200")
cpp_quote("#define BSIS_FIXEDORDER 0x00000400")
cpp_quote("#endif")
cpp_quote("")
cpp_quote("#define SID_SBandSite IID_IBandSite")
cpp_quote("#define CGID_BandSite IID_IBandSite")
cpp_quote("")
[object, uuid (4cf504b0-DE96-11d0-8b3f-00a0c911e8e5)]
interface IBandSite : IUnknown {
HRESULT AddBand ([in] IUnknown *punk);
HRESULT EnumBands ([in] UINT uBand,[out] DWORD *pdwBandID);
[local] HRESULT QueryBand ([in] DWORD dwBandID,[out] IDeskBand **ppstb,[out] DWORD *pdwState,[out, string, size_is (cchName)] LPWSTR pszName,[in] int cchName);
[call_as (QueryBand)] HRESULT RemoteQueryBand ([in] DWORD dwBandID,[out] IDeskBand **ppstb,[out] DWORD *pdwState,[out, string, size_is (cchName)] LPWSTR pszName,[in] int cchName);
HRESULT SetBandState ([in] DWORD dwBandID,[in] DWORD dwMask,[in] DWORD dwState);
HRESULT RemoveBand ([in] DWORD dwBandID);
HRESULT GetBandObject ([in] DWORD dwBandID,[in] REFIID riid,[out, iid_is (riid)]