| /* |
| * COM interfaces for shell objects |
| * |
| * Copyright (C) 1999 Juergen Schmied |
| * Copyright (C) 2003 Alexandre Julliard |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| import "objidl.idl"; |
| import "oleidl.idl"; |
| import "oaidl.idl"; |
| import "docobj.idl"; |
| import "shtypes.idl"; |
| import "servprov.idl"; |
| import "comcat.idl"; |
| import "propidl.idl"; |
| /* FIXME: import "prsht.idl";*/ |
| import "msxml.idl"; |
| import "wtypes.idl"; |
| import "propsys.idl"; |
| import "objectarray.idl"; |
| /* FIXME: import "structuredquery.idl"; */ |
| |
| cpp_quote("/* FIXME: #include <sherrors.h> */") |
| |
| |
| /***************************************************************************** |
| * IPersistFolder interface |
| */ |
| [ |
| object, |
| uuid(000214ea-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IPersistFolder : IPersist |
| { |
| typedef IPersistFolder *LPPERSISTFOLDER; |
| |
| HRESULT Initialize( [in] LPCITEMIDLIST pidl ); |
| } |
| |
| |
| /***************************************************************************** |
| * IPersistFolder2 interface |
| */ |
| [ |
| object, |
| uuid(1ac3d9f0-175c-11d1-95be-00609797ea4f), |
| pointer_default(unique) |
| ] |
| interface IPersistFolder2 : IPersistFolder |
| { |
| typedef IPersistFolder2 *LPPERSISTFOLDER2; |
| |
| HRESULT GetCurFolder( [out] LPITEMIDLIST *ppidl ); |
| } |
| |
| |
| /***************************************************************************** |
| * IPersistIDList interface |
| */ |
| [ |
| object, |
| uuid(1079acfc-29bd-11d3-8e0d-00c04f6837d5), |
| pointer_default(unique) |
| ] |
| interface IPersistIDList : IPersist |
| { |
| HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); |
| HRESULT GetIDList( [out] LPITEMIDLIST *ppidl ); |
| } |
| |
| |
| /***************************************************************************** |
| * IEnumIDList interface |
| */ |
| [ |
| object, |
| uuid(000214f2-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IEnumIDList : IUnknown |
| { |
| typedef IEnumIDList *LPENUMIDLIST; |
| |
| HRESULT Next( |
| [in] ULONG celt, |
| [out, size_is(celt), length_is(*pceltFetched)] LPITEMIDLIST *rgelt, |
| [out] ULONG *pceltFetched); |
| |
| HRESULT Skip( [in] ULONG celt ); |
| HRESULT Reset(); |
| HRESULT Clone( [out] IEnumIDList **ppenum ); |
| } |
| |
| /***************************************************************************** |
| * IShellPropSheetExt interface |
| */ |
| cpp_quote("#if 0") |
| typedef LPARAM LPFNSVADDPROPSHEETPAGE; |
| cpp_quote("#else") |
| cpp_quote("#include <prsht.h>") |
| cpp_quote("typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;") |
| cpp_quote("#endif") |
| |
| [ |
| object, |
| uuid(000214E9-0000-0000-C000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IShellPropSheetExt : IUnknown |
| { |
| enum tagSHELLPROPSHEETEXTPAGEID { |
| EXPPS_FILETYPES = 0x1 |
| }; |
| |
| typedef UINT EXPPS; |
| |
| HRESULT AddPages( |
| [in] LPFNSVADDPROPSHEETPAGE pfnAddPage, |
| [in] LPARAM lParam); |
| HRESULT ReplacePage( |
| [in] EXPPS uPageID, |
| [in] LPFNSVADDPROPSHEETPAGE pfnReplaceWith, |
| [in] LPARAM lParam); |
| } |
| typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; |
| |
| /***************************************************************************** |
| * IShellFolder interface |
| */ |
| [ |
| object, |
| uuid(000214e6-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IShellFolder : IUnknown |
| { |
| typedef IShellFolder * LPSHELLFOLDER; |
| |
| typedef enum tagSHGDN |
| { |
| SHGDN_NORMAL = 0, |
| SHGDN_INFOLDER = 1, |
| SHGDN_FOREDITING = 0x1000, |
| SHGDN_INCLUDE_NONFILESYS = 0x2000, |
| SHGDN_FORADDRESSBAR = 0x4000, |
| SHGDN_FORPARSING = 0x8000 |
| } SHGNO; |
| |
| typedef DWORD SHGDNF; |
| |
| enum tagSHCONTF |
| { |
| SHCONTF_FOLDERS = 32, |
| SHCONTF_NONFOLDERS = 64, |
| SHCONTF_INCLUDEHIDDEN = 128, |
| SHCONTF_INIT_ON_FIRST_NEXT = 256, |
| SHCONTF_NETPRINTERSRCH = 512, |
| SHCONTF_SHAREABLE = 1024, |
| SHCONTF_STORAGE = 2048 |
| }; |
| |
| typedef DWORD SHCONTF; |
| |
| 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 0x00000008L") |
| cpp_quote("#define SFGAO_CANRENAME 0x00000010L") |
| cpp_quote("#define SFGAO_CANDELETE 0x00000020L") |
| cpp_quote("#define SFGAO_HASPROPSHEET 0x00000040L") |
| cpp_quote("#define SFGAO_DROPTARGET 0x00000100L") |
| cpp_quote("#define SFGAO_CAPABILITYMASK 0x00000177L") |
| cpp_quote("#define SFGAO_ENCRYPTED 0x00002000L") |
| cpp_quote("#define SFGAO_ISSLOW 0x00004000L") |
| cpp_quote("#define SFGAO_GHOSTED 0x00008000L") |
| cpp_quote("#define SFGAO_LINK 0x00010000L") |
| cpp_quote("#define SFGAO_SHARE 0x00020000L") |
| cpp_quote("#define SFGAO_READONLY 0x00040000L") |
| cpp_quote("#define SFGAO_HIDDEN 0x00080000L") |
| cpp_quote("#define SFGAO_DISPLAYATTRMASK 0x000FC000L") |
| cpp_quote("#define SFGAO_FILESYSANCESTOR 0x10000000L") |
| cpp_quote("#define SFGAO_FOLDER 0x20000000L") |
| cpp_quote("#define SFGAO_FILESYSTEM 0x40000000L") |
| cpp_quote("#define SFGAO_HASSUBFOLDER 0x80000000L") |
| cpp_quote("#define SFGAO_CONTENTSMASK 0x80000000L") |
| cpp_quote("#define SFGAO_VALIDATE 0x01000000L") |
| cpp_quote("#define SFGAO_REMOVABLE 0x02000000L") |
| cpp_quote("#define SFGAO_COMPRESSED 0x04000000L") |
| cpp_quote("#define SFGAO_BROWSABLE 0x08000000L") |
| cpp_quote("#define SFGAO_NONENUMERATED 0x00100000L") |
| cpp_quote("#define SFGAO_NEWCONTENT 0x00200000L") |
| cpp_quote("#define SFGAO_STREAM 0x00400000L") |
| cpp_quote("#define SFGAO_STORAGEANCESTOR 0x00800000L") |
| |
| typedef ULONG SFGAOF; |
| |
| HRESULT ParseDisplayName( |
| [in] HWND hwndOwner, |
| [in] LPBC pbcReserved, |
| [in, string] LPOLESTR lpszDisplayName, |
| [out] ULONG *pchEaten, |
| [out] LPITEMIDLIST *ppidl, |
| [in, out, unique] ULONG *pdwAttributes); |
| |
| HRESULT EnumObjects( |
| [in] HWND hwndOwner, |
| [in] SHCONTF grfFlags, |
| [out] IEnumIDList **ppenumIDList); |
| |
| HRESULT BindToObject( |
| [in] LPCITEMIDLIST pidl, |
| [in] LPBC pbcReserved, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvOut); |
| |
| HRESULT BindToStorage( |
| [in] LPCITEMIDLIST pidl, |
| [in] LPBC pbcReserved, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvObj); |
| |
| HRESULT CompareIDs( |
| [in] LPARAM lParam, |
| [in] LPCITEMIDLIST pidl1, |
| [in] LPCITEMIDLIST pidl2); |
| |
| HRESULT CreateViewObject( |
| [in] HWND hwndOwner, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvOut); |
| |
| HRESULT GetAttributesOf( |
| [in] UINT cidl, |
| [in, size_is(cidl)] LPCITEMIDLIST *apidl, |
| [in, out] SFGAOF *rgfInOut); |
| |
| HRESULT GetUIObjectOf( |
| [in] HWND hwndOwner, |
| [in] UINT cidl, |
| [in, size_is(cidl)] LPCITEMIDLIST *apidl, |
| [in] REFIID riid, |
| [in, out, unique] UINT *prgfInOut, |
| [out, iid_is(riid)] void **ppvOut); |
| |
| HRESULT GetDisplayNameOf( |
| [in] LPCITEMIDLIST pidl, |
| [in] SHGDNF uFlags, |
| [out] STRRET *lpName); |
| |
| HRESULT SetNameOf( |
| [in] HWND hwnd, |
| [in] LPCITEMIDLIST pidl, |
| [in, string] LPCOLESTR lpszName, |
| [in] SHGDNF uFlags, |
| [out] LPITEMIDLIST *ppidlOut); |
| } |
| |
| |
| /***************************************************************************** |
| * IEnumExtraSearch interface |
| */ |
| [ |
| object, |
| uuid(0e700be1-9db6-11d1-a1ce-00c04fd75d13), |
| pointer_default(unique) |
| ] |
| interface IEnumExtraSearch : IUnknown |
| { |
| typedef IEnumExtraSearch *LPENUMEXTRASEARCH; |
| |
| typedef struct |
| { |
| GUID guidSearch; |
| WCHAR wszFriendlyName[80]; |
| /* |
| *WCHAR wszMenuText[80]; |
| *WCHAR wszHelpText[MAX_PATH]; |
| */ |
| WCHAR wszUrl[2084]; |
| /* |
| *WCHAR wszIcon[MAX_PATH+10]; |
| *WCHAR wszGreyIcon[MAX_PATH+10]; |
| *WCHAR wszClrIcon[MAX_PATH+10]; |
| */ |
| } EXTRASEARCH, *LPEXTRASEARCH; |
| |
| 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 ); |
| } |
| |
| |
| /***************************************************************************** |
| * IShellFolder2 interface |
| */ |
| [ |
| object, |
| uuid(93f2f68c-1d1b-11d3-a30e-00c04f79abd1), |
| pointer_default(unique) |
| ] |
| interface IShellFolder2 : IShellFolder |
| { |
| typedef struct |
| { |
| GUID fmtid; |
| DWORD pid; |
| } SHCOLUMNID, *LPSHCOLUMNID; |
| typedef const SHCOLUMNID *LPCSHCOLUMNID; |
| |
| HRESULT GetDefaultSearchGUID( [out] GUID *lpguid ); |
| HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum ); |
| HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay ); |
| HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags ); |
| HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv); |
| HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd); |
| HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid ); |
| } |
| |
| /***************************************************************************** |
| * IShellItem interface |
| */ |
| [ |
| object, |
| uuid(43826d1e-e718-42ee-bc55-a1e261c37bfe), |
| pointer_default(unique) |
| ] |
| interface IShellItem : IUnknown |
| { |
| typedef [v1_enum] enum { |
| SIGDN_NORMALDISPLAY = 0, |
| SIGDN_PARENTRELATIVEPARSING = 0x80018001, |
| SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, |
| SIGDN_PARENTRELATIVEEDITING = 0x80031001, |
| SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, |
| SIGDN_FILESYSPATH = 0x80058000, |
| SIGDN_URL = 0x80068000, |
| SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, |
| SIGDN_PARENTRELATIVE = 0x80080001 |
| } SIGDN; /* & 0xFFFF => SHGDN */ |
| |
| [v1_enum] enum _SICHINTF |
| { |
| SICHINT_DISPLAY = 0x00000000, |
| SICHINT_CANONICAL = 0x10000000, |
| SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, |
| SICHINT_ALLFIELDS = 0x80000000 |
| }; |
| typedef DWORD SICHINTF; |
| |
| HRESULT BindToHandler( |
| [in] IBindCtx *pbc, |
| [in] REFGUID rbhid, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvOut); |
| |
| HRESULT GetParent( [out] IShellItem **ppsi ); |
| |
| HRESULT GetDisplayName( |
| [in] SIGDN sigdnName, |
| [out] LPWSTR *ppszName); |
| |
| HRESULT GetAttributes( |
| [in] SFGAOF sfgaoMask, |
| [out] SFGAOF *psfgaoAttribs); |
| |
| HRESULT Compare( |
| [in] IShellItem *psi, |
| [in] SICHINTF hint, |
| [out] int *piOrder); |
| } |
| |
| /***************************************************************************** |
| * IShellItem2 interface |
| */ |
| [ |
| 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); |
| } |
| |
| typedef enum tagNWMF { |
| NWMF_UNLOADING = 0x0001, |
| NWMF_USERINITED = 0x0002, |
| NWMF_FIRST = 0x0004, |
| NWMF_OVERRIDEKEY = 0x0008, |
| NWMF_SHOWHELP = 0x0010, |
| NWMF_HTMLDIALOG = 0x0020, |
| NWMF_FROMDIALOGCHILD = 0x0040, |
| NWMF_USERREQUESTED = 0x0080, |
| NWMF_USERALLOWED = 0x0100 |
| } NWMF; |
| |
| [ |
| uuid(d2bc4c84-3f72-4a52-a604-7bcbf3982cbb), |
| object, |
| pointer_default(unique) |
| ] |
| interface INewWindowManager : IUnknown |
| { |
| HRESULT EvaluateNewWindow( |
| [in, string] LPCWSTR pszUrl, |
| [in, string] LPCWSTR pszName, |
| [in, string] LPCWSTR pszUrlContext, |
| [in, string] LPCWSTR pszFeatures, |
| [in] BOOL fReplace, |
| [in] DWORD dwFlags, |
| [in] DWORD dwUserActionTime); |
| } |
| |
| cpp_quote("#define SID_SNewWindowManager IID_INewWindowManager") |
| |
| /***************************************************************************** |
| * IEnumShellItems interface |
| */ |
| [ |
| 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); |
| } |
| |
| /***************************************************************************** |
| * IShellItemArray interface |
| */ |
| [ |
| object, |
| uuid(B63EA76D-1F85-456F-A19C-48159EFA858B), |
| pointer_default(unique) |
| ] |
| interface IShellItemArray : IUnknown |
| { |
| typedef [v1_enum] enum SIATTRIBFLAGS { |
| SIATTRIBFLAGS_AND = 0x0001, |
| SIATTRIBFLAGS_OR = 0x0002, |
| SIATTRIBFLAGS_APPCOMPAT = 0x0003, |
| SIATTRIBFLAGS_MASK = 0x0003, |
| SIATTRIBFLAGS_ALLITEMS = 0x4000 |
| } SIATTRIBFLAGS; |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)") |
| |
| 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); |
| |
| } |
| |
| typedef [v1_enum] enum DATAOBJ_GET_ITEM_FLAGS |
| { |
| DOGIF_DEFAULT = 0x0, |
| DOGIF_TRAVERSE_LINK = 0x1, |
| DOGIF_NO_HDROP = 0x2, |
| DOGIF_NO_URL = 0x4, |
| DOGIF_ONLY_IF_ONE = 0x8 |
| } DATAOBJ_GET_ITEM_FLAGS; |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)") |
| |
| cpp_quote("HRESULT WINAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);") |
| cpp_quote("HRESULT WINAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);") |
| cpp_quote("HRESULT WINAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);") |
| cpp_quote("HRESULT WINAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);") |
| cpp_quote("HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);") |
| cpp_quote("HRESULT WINAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);") |
| cpp_quote("HRESULT WINAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder* psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);") |
| cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);") |
| cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY pidl_array, IShellItemArray **psia);") |
| cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);") |
| |
| /***************************************************************************** |
| * IShellItemFilter interface |
| */ |
| [ |
| object, |
| uuid(2659B475-EEB8-48B7-8F07-B378810F48CF), |
| pointer_default(unique) |
| ] |
| interface IShellItemFilter : IUnknown |
| { |
| HRESULT IncludeItem( |
| [in] IShellItem *psi); |
| |
| HRESULT GetEnumFlagsForItem( |
| [in] IShellItem *psi, |
| [out] SHCONTF *pgrfFlags); |
| } |
| |
| /***************************************************************************** |
| * FOLDERSETTINGS |
| */ |
| typedef char *LPVIEWSETTINGS; |
| |
| typedef enum |
| { |
| 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; |
| |
| typedef enum |
| { |
| FVM_AUTO =-1, |
| FVM_ICON = 1, |
| FVM_FIRST = FVM_ICON, |
| FVM_SMALLICON = 2, |
| FVM_LIST = 3, |
| FVM_DETAILS = 4, |
| FVM_THUMBNAIL = 5, |
| FVM_TILE = 6, |
| FVM_THUMBSTRIP = 7, |
| FVM_CONTENT = 8, |
| FVM_LAST = FVM_CONTENT |
| } FOLDERVIEWMODE; |
| |
| typedef struct |
| { |
| UINT ViewMode; |
| UINT fFlags; |
| } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS; |
| typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; |
| |
| /***************************************************************************** |
| * IShellIcon interface |
| */ |
| [ |
| uuid(000214e5-0000-0000-c000-000000000046), |
| object, |
| pointer_default(unique) |
| ] |
| interface IShellIcon : IUnknown |
| { |
| HRESULT GetIconOf( |
| [in] PCUITEMID_CHILD pidl, |
| [in] UINT flags, |
| [out] int *pIconIndex); |
| } |
| |
| /***************************************************************************** |
| * IShellView interface |
| */ |
| interface IShellBrowser; /* forward declaration */ |
| [ |
| object, |
| uuid(000214e3-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IShellView : IOleWindow |
| { |
| typedef IShellView *LPSHELLVIEW; |
| |
| cpp_quote("#define SVSI_DESELECT 0x00000000") |
| cpp_quote("#define SVSI_SELECT 0x00000001") |
| cpp_quote("#define SVSI_EDIT 0x00000003") |
| cpp_quote("#define SVSI_DESELECTOTHERS 0x00000004") |
| cpp_quote("#define SVSI_ENSUREVISIBLE 0x00000008") |
| cpp_quote("#define SVSI_FOCUSED 0x00000010") |
| cpp_quote("#define SVSI_TRANSLATEPT 0x00000020") |
| cpp_quote("#define SVSI_SELECTIONMARK 0x00000040") |
| cpp_quote("#define SVSI_POSITIONITEM 0x00000080") |
| cpp_quote("#define SVSI_CHECK 0x00000100") |
| cpp_quote("#define SVSI_NOSTATECHANGE 0x80000000") |
| |
| typedef UINT SVSIF; |
| |
| typedef enum |
| { |
| SVGIO_BACKGROUND = 0x00000000, |
| SVGIO_SELECTION = 0x00000001, |
| SVGIO_ALLVIEW = 0x00000002, |
| SVGIO_CHECKED = 0x00000003, |
| SVGIO_TYPE_MASK = 0x0000000f, |
| SVGIO_FLAG_VIEWORDER = 0x80000000, |
| } SVGIO; |
| |
| typedef enum |
| { |
| SVUIA_DEACTIVATE = 0, |
| SVUIA_ACTIVATE_NOFOCUS = 1, |
| SVUIA_ACTIVATE_FOCUS = 2, |
| SVUIA_INPLACEACTIVATE = 3 |
| } SVUIA_STATUS; |
| |
| HRESULT TranslateAccelerator( [in] MSG *pmsg ); |
| HRESULT EnableModeless( [in] BOOL fEnable ); |
| HRESULT UIActivate( [in] UINT uState ); |
| HRESULT Refresh(); |
| HRESULT CreateViewWindow( |
| [in] IShellView *psvPrevious, |
| [in] LPCFOLDERSETTINGS lpfs, |
| [in] IShellBrowser *psb, |
| [out] RECT *prcView, |
| [out] HWND *phWnd); |
| |
| HRESULT DestroyViewWindow(); |
| HRESULT GetCurrentInfo( [out] LPFOLDERSETTINGS lpfs ); |
| |
| [local] HRESULT AddPropertySheetPages( |
| [in] DWORD dwReserved, |
| [in] LPFNSVADDPROPSHEETPAGE pfn, |
| [in] LPARAM lparam); |
| |
| HRESULT SaveViewState(); |
| HRESULT SelectItem( |
| [in] LPCITEMIDLIST pidlItem, |
| [in] SVSIF uFlags); |
| HRESULT GetItemObject( |
| [in] UINT uItem, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| } |
| |
| [ |
| object, |
| uuid(88e39e80-3578-11cf-ae69-08002b2e1262), |
| pointer_default(unique) |
| ] |
| interface IShellView2 : IShellView |
| { |
| typedef GUID SHELLVIEWID; |
| 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>") |
| |
| HRESULT GetView( |
| [in, out] SHELLVIEWID *view_guid, |
| [in] ULONG view_type |
| ); |
| HRESULT CreateViewWindow2( |
| [in] LPSV2CVW2_PARAMS view_params |
| ); |
| HRESULT HandleRename( |
| [in] LPCITEMIDLIST new_pidl |
| ); |
| HRESULT SelectAndPositionItem( |
| [in] LPCITEMIDLIST item, |
| [in] UINT flags, |
| [in] POINT *point |
| ); |
| } |
| |
| /***************************************************************************** |
| * IFolderView interface |
| */ |
| [ |
| uuid(cde725b0-ccc9-4519-917e-325d72fab4ce), |
| object, |
| pointer_default(unique) |
| ] |
| interface IFolderView : IUnknown |
| { |
| HRESULT GetCurrentViewMode( [out] UINT *mode ); |
| HRESULT SetCurrentViewMode( [in] UINT mode ); |
| HRESULT GetFolder( [in] REFIID riid, [out, iid_is(riid)] void **ppv ); |
| HRESULT Item( |
| [in] int index, |
| [out] PITEMID_CHILD *ppidl |
| ); |
| HRESULT ItemCount( |
| [in] UINT flags, |
| [out] int *items |
| ); |
| HRESULT Items( |
| [in] UINT flags, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv |
| ); |
| HRESULT GetSelectionMarkedItem( [out] int *item ); |
| HRESULT GetFocusedItem( [out] int *item ); |
| HRESULT GetItemPosition( |
| [in] PCUITEMID_CHILD pidl, |
| [out] POINT* ppt |
| ); |
| HRESULT GetSpacing( [in, out, unique] POINT* pt ); |
| HRESULT GetDefaultSpacing( [out] POINT* pt ); |
| HRESULT GetAutoArrange(); |
| HRESULT SelectItem( |
| [in] int item, |
| [in] DWORD flags |
| ); |
| HRESULT SelectAndPositionItems( |
| [in] UINT cidl, |
| [in, size_is(cidl)] PCUITEMID_CHILD_ARRAY apidl, |
| [in, unique, size_is(cidl)] POINT* apt, |
| [in] DWORD flags |
| ); |
| } |
| |
| /***************************************************************************** |
| * IShellBrowser interface |
| */ |
| [ |
| object, |
| uuid(000214e2-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IShellBrowser : IOleWindow |
| { |
| typedef IShellBrowser *LPSHELLBROWSER; |
| |
| cpp_quote("#define SBSP_DEFBROWSER 0x00000000") |
| cpp_quote("#define SBSP_SAMEBROWSER 0x00000001") |
| cpp_quote("#define SBSP_NEWBROWSER 0x00000002") |
| cpp_quote("#define SBSP_DEFMODE 0x00000000") |
| cpp_quote("#define SBSP_OPENMODE 0x00000010") |
| cpp_quote("#define SBSP_EXPLOREMODE 0x00000020") |
| cpp_quote("#define SBSP_HELPMODE 0x00000040") |
| cpp_quote("#define SBSP_NOTRANSFERHIST 0x00000080") |
| cpp_quote("#define SBSP_ABSOLUTE 0x00000000") |
| cpp_quote("#define SBSP_RELATIVE 0x00001000") |
| cpp_quote("#define SBSP_PARENT 0x00002000") |
| cpp_quote("#define SBSP_NAVIGATEBACK 0x00004000") |
| cpp_quote("#define SBSP_NAVIGATEFORWARD 0x00008000") |
| cpp_quote("#define SBSP_ALLOW_AUTONAVIGATE 0x00010000") |
| 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("#define SBSP_CALLERUNTURUSTED 0x00800000") |
| cpp_quote("#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000") |
| cpp_quote("#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000") |
| cpp_quote("#define SBSP_NOAUTOSELECT 0x04000000") |
| cpp_quote("#define SBSP_WRITENOHISTORY 0x08000000") |
| cpp_quote("#define SBSP_TRUSTEDFORACTIVEX 0x10000000") |
| cpp_quote("#define SBSP_FEEDNAVIGATION 0x20000000") |
| cpp_quote("#define SBSP_REDIRECT 0x40000000") |
| cpp_quote("#define SBSP_INITIATEDBYHLINKFRAME 0x80000000") |
| |
| 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("#define FCT_MERGE 0x0001") |
| cpp_quote("#define FCT_CONFIGABLE 0x0002") |
| cpp_quote("#define FCT_ADDTOEND 0x0004") |
| |
| cpp_quote("#if 0") |
| typedef LPARAM LPTBBUTTONSB; |
| cpp_quote("#else") |
| cpp_quote("#include <commctrl.h>") |
| cpp_quote("typedef LPTBBUTTON LPTBBUTTONSB;") |
| cpp_quote("#endif") |
| |
| HRESULT InsertMenusSB( |
| [in] HMENU hmenuShared, |
| [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths); |
| |
| HRESULT SetMenuSB( |
| [in] HMENU hmenuShared, |
| [in] HOLEMENU holemenuReserved, |
| [in] HWND hwndActiveObject); |
| |
| HRESULT RemoveMenusSB( [in] HMENU hmenuShared ); |
| HRESULT SetStatusTextSB( [in, unique] LPCOLESTR pszStatusText ); |
| HRESULT EnableModelessSB( [in] BOOL fEnable ); |
| HRESULT TranslateAcceleratorSB( [in] MSG *pmsg, [in] WORD wID ); |
| |
| HRESULT BrowseObject( |
| [in] LPCITEMIDLIST 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, |
| [in] LRESULT *pret); |
| |
| HRESULT QueryActiveShellView( [out] IShellView **ppshv ); |
| HRESULT OnViewWindowActive( [in] IShellView *pshv ); |
| |
| [local] |
| HRESULT SetToolbarItems( |
| [in] LPTBBUTTONSB lpButtons, |
| [in] UINT nButtons, |
| [in] UINT uFlags); |
| } |
| |
| |
| /***************************************************************************** |
| * IShellLinkA interface |
| */ |
| [ |
| object, |
| uuid(000214ee-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IShellLinkA : IUnknown |
| { |
| typedef enum |
| { |
| 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_FLAGS; |
| |
| typedef enum |
| { |
| SLGP_SHORTPATH = 0x0001, |
| SLGP_UNCPRIORITY = 0x0002, |
| SLGP_RAWPATH = 0x0004, |
| } SLGP_FLAGS; |
| |
| HRESULT GetPath( |
| [out, size_is(cch)] LPSTR pszFile, |
| [in] int cch, |
| [in, out, unique] WIN32_FIND_DATAA *pfd, |
| [in] DWORD fFlags); |
| |
| HRESULT GetIDList( [out] LPITEMIDLIST * ppidl ); |
| |
| HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); |
| |
| HRESULT GetDescription( |
| [out, size_is(cch)] LPSTR pszName, |
| [in] int cch); |
| |
| HRESULT SetDescription( [in] LPCSTR pszName ); |
| |
| HRESULT GetWorkingDirectory( |
| [out, size_is(cch)] LPSTR pszDir, |
| [in] int cch); |
| |
| HRESULT SetWorkingDirectory( [in] LPCSTR pszDir ); |
| |
| HRESULT GetArguments( |
| [out, size_is(cch)] LPSTR pszArgs, |
| [in] int cch); |
| |
| HRESULT SetArguments( [in] 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, size_is(cch)] LPSTR pszIconPath, |
| [in] int cch, |
| [out] int *piIcon); |
| |
| HRESULT SetIconLocation( |
| [in] LPCSTR pszIconPath, |
| [in] int iIcon); |
| |
| HRESULT SetRelativePath( |
| [in] LPCSTR pszPathRel, |
| [in] DWORD dwReserved); |
| |
| HRESULT Resolve( |
| [in] HWND hwnd, |
| [in] DWORD fFlags); |
| |
| HRESULT SetPath( [in] LPCSTR pszFile ); |
| } |
| |
| |
| /***************************************************************************** |
| * IShellLinkW interface |
| */ |
| [ |
| object, |
| uuid(000214f9-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface IShellLinkW : IUnknown |
| { |
| HRESULT GetPath( |
| [out, size_is(cch)] LPWSTR pszFile, |
| [in] int cch, |
| [in, out] WIN32_FIND_DATAW *pfd, |
| [in] DWORD fFlags); |
| |
| HRESULT GetIDList( [out] LPITEMIDLIST * ppidl ); |
| |
| HRESULT SetIDList( [in] LPCITEMIDLIST pidl ); |
| |
| HRESULT GetDescription( |
| [out, size_is(cch)] LPWSTR pszName, |
| [in] int cch); |
| |
| HRESULT SetDescription( [in] LPCWSTR pszName ); |
| |
| HRESULT GetWorkingDirectory( |
| [out, size_is(cch)] LPWSTR pszDir, |
| [in] int cch); |
| |
| HRESULT SetWorkingDirectory( [in] LPCWSTR pszDir ); |
| |
| HRESULT GetArguments( |
| [out, size_is(cch)] LPWSTR pszArgs, |
| [in] int cch); |
| |
| HRESULT SetArguments( [in] 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, size_is(cch)] LPWSTR pszIconPath, |
| [in] int cch, |
| [out] int *piIcon); |
| |
| HRESULT SetIconLocation( |
| [in] LPCWSTR pszIconPath, |
| [in] int iIcon); |
| |
| HRESULT SetRelativePath( |
| [in] LPCWSTR pszPathRel, |
| [in] DWORD dwReserved); |
| |
| HRESULT Resolve( |
| [in] HWND hwnd, |
| [in] DWORD fFlags); |
| |
| HRESULT SetPath( [in] LPCWSTR pszFile ); |
| } |
| |
| cpp_quote("#define IShellLink WINELIB_NAME_AW(IShellLink)") |
| |
| |
| /***************************************************************************** |
| * IShellExtInit interface |
| */ |
| [ |
| object, |
| uuid(000214e8-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IShellExtInit : IUnknown |
| { |
| typedef IShellExtInit *LPSHELLEXTINIT; |
| |
| HRESULT Initialize( |
| [in] LPCITEMIDLIST pidlFolder, |
| [in] IDataObject *pdtobj, |
| [in] HKEY hkeyProgID); |
| } |
| |
| |
| /*******************************************************************************/ |
| /* Note: the following interfaces are not in shobjidl.idl under Windows, they */ |
| /* are declared directly in shlobj.h. It hopefully won't break anything to put */ |
| /* them here anyway. */ |
| /*******************************************************************************/ |
| |
| #ifndef MAX_PATH |
| #define MAX_PATH 260 |
| #endif |
| |
| |
| /***************************************************************************** |
| * IPersistFolder3 interface |
| */ |
| [ |
| object, |
| uuid(cef04fdf-fe72-11d2-87a5-00c04f6837cf), |
| pointer_default(unique) |
| ] |
| interface IPersistFolder3 : IPersistFolder2 |
| { |
| typedef struct |
| { |
| LPITEMIDLIST pidlTargetFolder; |
| WCHAR szTargetParsingName[MAX_PATH]; |
| WCHAR szNetworkProvider[MAX_PATH]; |
| DWORD dwAttributes; |
| int csidl; |
| } PERSIST_FOLDER_TARGET_INFO; |
| |
| HRESULT InitializeEx( |
| [in] IBindCtx *pbc, |
| [in] LPCITEMIDLIST pidlRoot, |
| [in] const PERSIST_FOLDER_TARGET_INFO *ppfti); |
| |
| HRESULT GetFolderTargetInfo( [out] PERSIST_FOLDER_TARGET_INFO *ppfti ); |
| } |
| |
| |
| /***************************************************************************** |
| * IExtractIconA interface |
| */ |
| [ |
| object, |
| uuid(000214eb-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IExtractIconA : IUnknown |
| { |
| cpp_quote("#define GIL_OPENICON 0x0001") |
| cpp_quote("#define GIL_FORSHELL 0x0002") |
| cpp_quote("#define GIL_ASYNC 0x0020") |
| cpp_quote("#define GIL_DEFAULTICON 0x0040") |
| cpp_quote("#define GIL_FORSHORTCUT 0x0080") |
| |
| cpp_quote("#define GIL_SIMULATEDOC 0x0001") |
| cpp_quote("#define GIL_PERINSTANCE 0x0002") |
| cpp_quote("#define GIL_PERCLASS 0x0004") |
| cpp_quote("#define GIL_NOTFILENAME 0x0008") |
| cpp_quote("#define GIL_DONTCACHE 0x0010") |
| |
| typedef IExtractIconA *LPEXTRACTICONA; |
| |
| HRESULT GetIconLocation( |
| [in] UINT uFlags, |
| [out, size_is(cchMax)] LPSTR szIconFile, |
| [in] UINT cchMax, |
| [out] INT *piIndex, |
| [out] UINT *pwFlags); |
| |
| HRESULT Extract( |
| [in] LPCSTR pszFile, |
| [in] UINT nIconIndex, |
| [out] HICON *phiconLarge, |
| [out] HICON *phiconSmall, |
| [in] UINT nIconSize ); |
| } |
| |
| |
| /***************************************************************************** |
| * IExtractIconW interface |
| */ |
| [ |
| object, |
| uuid(000214fa-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IExtractIconW : IUnknown |
| { |
| typedef IExtractIconW *LPEXTRACTICONW; |
| |
| HRESULT GetIconLocation( |
| [in] UINT uFlags, |
| [out, size_is(cchMax)] LPWSTR szIconFile, |
| [in] UINT cchMax, |
| [out] INT *piIndex, |
| [out] UINT *pwFlags); |
| |
| HRESULT Extract( |
| [in] LPCWSTR pszFile, |
| [in] UINT nIconIndex, |
| [out] HICON *phiconLarge, |
| [out] HICON *phiconSmall, |
| [in] UINT nIconSize ); |
| } |
| |
| cpp_quote("#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)") |
| cpp_quote("#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)") |
| |
| |
| /***************************************************************************** |
| * ICommDlgBrowser interface |
| */ |
| [ |
| object, |
| uuid(000214f1-0000-0000-c000-000000000046), |
| pointer_default(unique) |
| ] |
| interface ICommDlgBrowser : IUnknown |
| { |
| 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") |
| |
| typedef ICommDlgBrowser *LPCOMMDLGBROWSER; |
| |
| HRESULT OnDefaultCommand( [in] IShellView *shv ); |
| HRESULT OnStateChange( [in] IShellView *shv, [in] ULONG uChange ); |
| HRESULT IncludeObject( [in] IShellView *shv, [in] LPCITEMIDLIST pidl ); |
| } |
| |
| |
| /***************************************************************************** |
| * ICommDlgBrowser2 interface |
| */ |
| [ |
| 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); |
| } |
| |
| |
| /***************************************************************************** |
| * ICommDlgBrowser3 interface |
| */ |
| [ |
| 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); |
| } |
| |
| /***************************************************************************** |
| * IDockingWindow interface |
| */ |
| [ |
| object, |
| uuid(012dd920-7b26-11d0-8ca9-00a0c92dbfe8) |
| ] |
| interface IDockingWindow : IOleWindow |
| { |
| HRESULT ShowDW( |
| [in] BOOL fShow); |
| |
| HRESULT CloseDW( |
| [in] DWORD dwReserved); |
| |
| HRESULT ResizeBorderDW( |
| [in] LPCRECT prcBorder, |
| [in] IUnknown *punkToolbarSite, |
| [in] BOOL fReserved); |
| }; |
| |
| |
| /***************************************************************************** |
| * IDockingWindowFrame interface |
| */ |
| [ |
| object, |
| uuid(47d2657a-7b27-11d0-8ca9-00a0c92dbfe8), |
| pointer_default(unique), |
| local |
| ] |
| interface IDockingWindowFrame : IOleWindow |
| { |
| cpp_quote("#define DWFRF_NORMAL 0x0000") |
| cpp_quote("#define DWFRF_DELETECONFIGDATA 0x0001") |
| cpp_quote("#define DWFAF_HIDDEN 0x0001") |
| |
| HRESULT AddToolbar( |
| [in] IUnknown *punkSrc, |
| [in] LPCWSTR pwszItem, |
| [in] DWORD dwAddFlags); |
| |
| HRESULT RemoveToolbar( |
| [in] IUnknown *punkSrc, |
| [in] DWORD dwRemoveFlags); |
| |
| HRESULT FindToolbar( |
| [in] LPCWSTR pwszItem, |
| [in] REFIID riid, |
| [out] LPVOID *ppvObj); |
| } |
| |
| |
| /***************************************************************************** |
| * IDragSourceHelper interface |
| */ |
| [ |
| object, |
| uuid(de5bf786-477a-11d2-839d-00c04fd918d0), |
| pointer_default(unique), |
| local |
| ] |
| interface IDragSourceHelper : IUnknown |
| { |
| typedef struct |
| { |
| SIZE sizeDragImage; |
| POINT ptOffset; |
| HBITMAP hbmpDragImage; |
| COLORREF crColorKey; |
| } SHDRAGIMAGE, *LPSHDRAGIMAGE; |
| |
| HRESULT InitializeFromBitmap( |
| [in] LPSHDRAGIMAGE pshdi, |
| [in] IDataObject *pDataObject); |
| |
| HRESULT InitializeFromWindow( |
| [in] HWND hwnd, |
| [in] POINT *ppt, |
| [in] IDataObject *pDataObject); |
| } |
| |
| |
| /***************************************************************************** |
| * IDropTargetHelper interface |
| */ |
| [ |
| object, |
| uuid(4657278b-411b-11d2-839a-00c04fd918d0), |
| pointer_default(unique), |
| local |
| ] |
| 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 ); |
| } |
| |
| |
| /***************************************************************************** |
| * IContextMenu interface |
| */ |
| [ |
| object, |
| uuid(000214e4-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IContextMenu : IUnknown |
| { |
| cpp_quote("#define CMF_NORMAL 0x00000000") |
| cpp_quote("#define CMF_DEFAULTONLY 0x00000001") |
| cpp_quote("#define CMF_VERBSONLY 0x00000002") |
| cpp_quote("#define CMF_EXPLORE 0x00000004") |
| cpp_quote("#define CMF_NOVERBS 0x00000008") |
| cpp_quote("#define CMF_CANRENAME 0x00000010") |
| cpp_quote("#define CMF_NODEFAULT 0x00000020") |
| cpp_quote("#define CMF_INCLUDESTATIC 0x00000040") |
| cpp_quote("#define CMF_EXTENDEDVERBS 0x00000100") |
| cpp_quote("#define CMF_RESERVED 0xffff0000") |
| |
| cpp_quote("#define GCS_VERBA 0x00000000") |
| cpp_quote("#define GCS_HELPTEXTA 0x00000001") |
| cpp_quote("#define GCS_VALIDATEA 0x00000002") |
| cpp_quote("#define GCS_VERBW 0x00000004") |
| cpp_quote("#define GCS_HELPTEXTW 0x00000005") |
| cpp_quote("#define GCS_VALIDATEW 0x00000006") |
| cpp_quote("#define GCS_UNICODE 0x00000004") |
| cpp_quote("#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)") |
| cpp_quote("#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)") |
| cpp_quote("#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)") |
| |
| cpp_quote("#define CMDSTR_NEWFOLDERA \"NewFolder\"") |
| cpp_quote("#define CMDSTR_VIEWLISTA \"ViewList\"") |
| cpp_quote("#define CMDSTR_VIEWDETAILSA \"ViewDetails\"") |
| cpp_quote("#if defined(__GNUC__)") |
| cpp_quote("# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }") |
| cpp_quote("# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }") |
| cpp_quote("# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }") |
| cpp_quote("#elif defined(_MSC_VER)") |
| cpp_quote("# define CMDSTR_NEWFOLDERW L\"NewFolder\"") |
| cpp_quote("# define CMDSTR_VIEWLISTW L\"ViewList\"") |
| cpp_quote("# define CMDSTR_VIEWDETAILSW L\"ViewDetails\"") |
| cpp_quote("#else") |
| cpp_quote("static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};") |
| cpp_quote("static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};") |
| cpp_quote("static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};") |
| cpp_quote("#endif") |
| cpp_quote("#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)") |
| cpp_quote("#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)") |
| cpp_quote("#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)") |
| |
| 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("#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME") |
| cpp_quote("#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM") |
| cpp_quote("#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE") |
| cpp_quote("#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK") |
| cpp_quote("#define CMIC_MASK_NOASYNC SEE_MASK_NOASYNC") |
| cpp_quote("#define CMIC_MASK_SHIFT_DOWN 0x10000000") |
| cpp_quote("#define CMIC_MASK_PTINVOKE 0x20000000") |
| 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") |
| |
| typedef IContextMenu *LPCONTEXTMENU; |
| |
| typedef struct tagCMINVOKECOMMANDINFO |
| { |
| DWORD cbSize; |
| DWORD fMask; |
| HWND hwnd; |
| LPCSTR lpVerb; |
| LPCSTR lpParameters; |
| LPCSTR lpDirectory; |
| INT nShow; |
| DWORD dwHotKey; |
| HANDLE hIcon; |
| } CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO; |
| |
| typedef struct tagCMInvokeCommandInfoEx |
| { |
| 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, *LPCMINVOKECOMMANDINFOEX; |
| |
| HRESULT QueryContextMenu( |
| [in] HMENU hmenu, |
| [in] UINT indexMenu, |
| [in] UINT idCmdFirst, |
| [in] UINT idCmdLast, |
| [in] UINT uFlags); |
| |
| HRESULT InvokeCommand( [in] LPCMINVOKECOMMANDINFO lpici ); |
| |
| HRESULT GetCommandString( |
| [in] UINT_PTR idCmd, |
| [in] UINT uType, |
| [out] UINT *pwReserved, |
| [out, size_is(cchMax)] LPSTR pszName, |
| [in] UINT cchMax); |
| } |
| |
| |
| /***************************************************************************** |
| * IContextMenu2 interface |
| */ |
| [ |
| object, |
| uuid(000214f4-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IContextMenu2 : IContextMenu |
| { |
| typedef IContextMenu2 *LPCONTEXTMENU2; |
| |
| HRESULT HandleMenuMsg( |
| [in] UINT uMsg, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam); |
| } |
| |
| |
| /***************************************************************************** |
| * IContextMenu3 interface |
| */ |
| [ |
| object, |
| uuid(bcfce0a0-ec17-11d0-8d10-00a0c90f2719), |
| pointer_default(unique), |
| local |
| ] |
| interface IContextMenu3 : IContextMenu2 |
| { |
| typedef IContextMenu3 *LPCONTEXTMENU3; |
| |
| HRESULT HandleMenuMsg2( |
| [in] UINT uMsg, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam, |
| [out] LRESULT *plResult); |
| } |
| |
| |
| [ |
| object, |
| uuid(3409e930-5a39-11d1-83fa-00a0c90dc849), |
| pointer_default(unique), |
| local |
| ] |
| interface IContextMenuCB : IUnknown |
| { |
| HRESULT CallBack( |
| [in] IShellFolder *psf, |
| [in] HWND hwndOwner, |
| [in] IDataObject *pdtobj, |
| [in] UINT uMsg, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam); |
| } |
| |
| /***************************************************************************** |
| * IShellExecuteHookA interface |
| */ |
| [ |
| object, |
| uuid(000214f5-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IShellExecuteHookA : IUnknown |
| { |
| cpp_quote("struct _SHELLEXECUTEINFOA;") |
| HRESULT Execute( |
| [in, out] struct _SHELLEXECUTEINFOA* pei); |
| } |
| |
| |
| /***************************************************************************** |
| * IShellExecuteHookW interface |
| */ |
| [ |
| object, |
| uuid(000214fb-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface IShellExecuteHookW : IUnknown |
| { |
| cpp_quote("struct _SHELLEXECUTEINFOW;") |
| HRESULT Execute( |
| [in, out] struct _SHELLEXECUTEINFOW* pei); |
| } |
| |
| /***************************************************************************** |
| * IShellLinkDataList interface |
| */ |
| [ |
| 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); |
| } |
| |
| |
| /***************************************************************************** |
| * IResolveShellLink interface |
| */ |
| [ |
| object, |
| uuid(5cd52983-9449-11d2-963a-00c04f79adf0), |
| pointer_default(unique) |
| ] |
| interface IResolveShellLink : IUnknown |
| { |
| HRESULT ResolveShellLink( |
| [in] IUnknown *punk, |
| [in] HWND hwnd, |
| [in] DWORD fFlags); |
| } |
| |
| |
| /***************************************************************************** |
| * IURLSearchHook interface |
| */ |
| [ |
| object, |
| uuid(ac60f6a0-0fd9-11d0-99cb-00c04fd64497), |
| pointer_default(unique), |
| local |
| ] |
| interface IURLSearchHook : IUnknown |
| { |
| HRESULT Translate( |
| [in, out] LPWSTR lpwszSearchURL, |
| [in] DWORD cchBufferSize); |
| } |
| |
| |
| /***************************************************************************** |
| * ISearchContext interface |
| */ |
| [ |
| object, |
| uuid(09f656a2-41af-480c-88f7-16cc0d164615), |
| pointer_default(unique), |
| local |
| ] |
| interface ISearchContext : IUnknown |
| { |
| HRESULT GetSearchUrl( |
| [in] BSTR *pbstrSearchUrl); |
| HRESULT GetSearchText( |
| [in] BSTR *pbstrSearchText); |
| HRESULT GetSearchStyle( |
| [in] BSTR *pdwSearchStyle); |
| } |
| |
| |
| /***************************************************************************** |
| * IURLSearchHook2 interface |
| */ |
| [ |
| object, |
| uuid(5ee44da4-6d32-46e3-86bc-07540dedd0e0), |
| pointer_default(unique), |
| local |
| ] |
| interface IURLSearchHook2 : IURLSearchHook |
| { |
| HRESULT TranslateWithSearchContext( |
| [in, out] LPWSTR lpwszSearchURL, |
| [in] DWORD cchBufferSize, |
| [in] ISearchContext *pSearchContext); |
| } |
| |
| |
| cpp_quote("#define INewShortcutHook WINELIB_NAME_AW(INewShortcutHook)") |
| |
| /***************************************************************************** |
| * INewShortcutHookA interface |
| */ |
| [ |
| object, |
| uuid(000214e1-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface INewShortcutHookA : IUnknown |
| { |
| HRESULT SetReferent( |
| [in] LPCSTR pcszReferent, |
| [in] HWND hwnd); |
| HRESULT GetReferent( |
| [out] LPSTR pcszReferent, |
| [in] int cchReferent); |
| HRESULT SetFolder( |
| [in] LPCSTR pcszReferent); |
| HRESULT GetFolder( |
| [out] LPSTR pcszReferent, |
| [in] int cchFolder); |
| HRESULT GetName( |
| [out] LPSTR pszName, |
| [in] int cchName); |
| HRESULT GetExtension( |
| [out] LPSTR pszExtension, |
| [in] int cchExtension); |
| } |
| |
| |
| /***************************************************************************** |
| * INewShortcutHookW interface |
| */ |
| [ |
| object, |
| uuid(000214f7-0000-0000-c000-000000000046), |
| pointer_default(unique), |
| local |
| ] |
| interface INewShortcutHookW : IUnknown |
| { |
| HRESULT SetReferent( |
| [in] LPCWSTR pcszReferent, |
| [in] HWND hwnd); |
| HRESULT GetReferent( |
| [out] LPWSTR pcszReferent, |
| [in] int cchReferent); |
| HRESULT SetFolder( |
| [in] LPCWSTR pcszReferent); |
| HRESULT GetFolder( |
| [out] LPWSTR pcszReferent, |
| [in] int cchFolder); |
| HRESULT GetName( |
| [out] LPWSTR pszName, |
| [in] int cchName); |
| HRESULT GetExtension( |
| [out] LPWSTR pszExtension, |
| [in] int cchExtension); |
| } |
| |
| /***************************************************************************** |
| * IRunnableTask interface |
| */ |
| [ |
| object, |
| uuid(85788d00-6807-11d0-b810-00c04fd706ec), |
| pointer_default(unique), |
| local |
| ] |
| interface IRunnableTask : IUnknown |
| { |
| HRESULT Run(); |
| HRESULT Kill([in] BOOL fWait); |
| HRESULT Suspend(); |
| HRESULT Resume(); |
| ULONG IsRunning(); |
| } |
| |
| /***************************************************************************** |
| * IShellChangeNotify interface |
| */ |
| [ |
| object, |
| uuid(d82be2b1-5764-11d0-a96e-00c04fd705a2), |
| pointer_default(unique), |
| local |
| ] |
| interface IShellChangeNotify : IUnknown |
| { |
| HRESULT OnChange( |
| [in] LONG lEvent, |
| [in] LPCITEMIDLIST pidl1, |
| [in] LPCITEMIDLIST pidl2); |
| } |
| |
| /***************************************************************************** |
| * IFileSystemBindData interface |
| */ |
| [ |
| object, |
| uuid(01e18d10-4d8b-11d2-855d-006008059367), |
| pointer_default(unique), |
| local |
| ] |
| interface IFileSystemBindData : IUnknown |
| { |
| HRESULT SetFindData( |
| [in] const WIN32_FIND_DATAW *pfd); |
| HRESULT GetFindData( |
| [out] WIN32_FIND_DATAW *pfd); |
| } |
| |
| /***************************************************************************** |
| * ITaskbarList interface |
| */ |
| [ |
| object, |
| uuid(56FDF342-FD6D-11d0-958A-006097C9A090), |
| pointer_default(unique) |
| ] |
| 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); |
| } |
| |
| /***************************************************************************** |
| * ITaskbarList2 interface |
| */ |
| [ |
| object, |
| uuid(602D4995-B13A-429B-A66E-1935E44F4317), |
| pointer_default(unique) |
| ] |
| interface ITaskbarList2 : ITaskbarList |
| { |
| HRESULT MarkFullscreenWindow( |
| [in] HWND hwnd, |
| [in] BOOL fullscreen); |
| } |
| |
| cpp_quote("#ifdef MIDL_PASS") |
| typedef IUnknown* HIMAGELIST; |
| cpp_quote("#endif") |
| |
| typedef [v1_enum] enum THUMBBUTTONFLAGS { |
| THBF_ENABLED = 0x0000, |
| THBF_DISABLED = 0x0001, |
| THBF_DISMISSONCLICK = 0x0002, |
| THBF_NOBACKGROUND = 0x0004, |
| THBF_HIDDEN = 0x0008, |
| THBF_NONINTERACTIVE = 0x0010 |
| } THUMBBUTTONFLAGS; |
| |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)") |
| |
| typedef [v1_enum] enum THUMBBUTTONMASK { |
| THB_BITMAP = 0x0001, |
| THB_ICON = 0x0002, |
| THB_TOOLTIP = 0x0004, |
| THB_FLAGS = 0x0008 |
| } THUMBBUTTONMASK; |
| |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)") |
| |
| 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>") |
| |
| [ |
| uuid(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf), |
| object |
| ] |
| interface ITaskbarList3 : ITaskbarList2 |
| { |
| typedef [v1_enum] enum TBPFLAG { |
| TBPF_NOPROGRESS = 0x0000, |
| TBPF_INDETERMINATE = 0x0001, |
| TBPF_NORMAL = 0x0002, |
| TBPF_ERROR = 0x0004, |
| TBPF_PAUSED = 0x0008 |
| } TBPFLAG; |
| |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)") |
| |
| 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); |
| } |
| |
| [ |
| uuid(c43dc798-95d1-4bea-9030-bb99e2983a1a), |
| object |
| ] |
| interface ITaskbarList4 : ITaskbarList3 |
| { |
| typedef [v1_enum] enum STPFLAG { |
| STPF_NONE = 0x0000, |
| STPF_USEAPPTHUMBNAILALWAYS = 0x0001, |
| STPF_USEAPPTHUMBNAILWHENACTIVE = 0x0002, |
| STPF_USEAPPPEEKALWAYS = 0x0004, |
| STPF_USEAPPPEEKWHENACTIVE = 0x0008 |
| } STPFLAG; |
| |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)") |
| |
| HRESULT SetTabProperties( |
| [in] HWND hwndTab, |
| [in] STPFLAG stpFlags); |
| } |
| |
| /***************************************************************************** |
| * IAutoCompleteDropDown interface |
| */ |
| [ |
| object, |
| uuid(3CD141F4-3C6A-11d2-BCAA-00C04FD929DB), |
| pointer_default(unique) |
| ] |
| interface IAutoCompleteDropDown : IUnknown |
| { |
| cpp_quote("#define ACDD_VISIBLE 0x0001") |
| |
| HRESULT GetDropDownStatus( |
| [out] DWORD *pdwFlags, |
| [out, string] LPWSTR *ppwszString); |
| |
| HRESULT ResetEnumerator(); |
| } |
| |
| [ |
| object, |
| uuid(cb728b20-f786-11ce-92ad-00aa00a74cd0), |
| pointer_default(unique) |
| ] |
| interface IProfferService : IUnknown |
| { |
| HRESULT ProfferService( |
| [in] REFGUID service, |
| [in] IServiceProvider *pService, |
| [out] DWORD *pCookie); |
| |
| HRESULT RevokeService([in] DWORD cookie); |
| } |
| |
| /***************************************************************************** |
| * IExplorerBrowserEvents interface |
| */ |
| [ |
| 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); |
| } |
| |
| typedef GUID EXPLORERPANE; |
| typedef EXPLORERPANE *REFEXPLORERPANE; |
| |
| cpp_quote("#define SID_ExplorerPaneVisibility IID_IExplorerPaneVisibility") |
| |
| /***************************************************************************** |
| * IExplorerPaneVisibility interface |
| */ |
| [ |
| object, |
| uuid(E07010EC-BC17-44C0-97B0-46C7C95B9EDC) |
| ] |
| interface IExplorerPaneVisibility : IUnknown |
| { |
| typedef enum tagEXPLORERPANESTATE { |
| EPS_DONTCARE = 0x0, |
| EPS_DEFAULT_ON = 0x1, |
| EPS_DEFAULT_OFF = 0x2, |
| EPS_STATE_MASK = 0xffff, |
| EPS_INITIALSTATE = 0x10000, |
| EPS_FORCE = 0x20000 |
| } EXPLORERPANESTATE; |
| |
| HRESULT GetPaneState( |
| [in] REFEXPLORERPANE ep, |
| [out] EXPLORERPANESTATE *peps); |
| } |
| |
| typedef [v1_enum] enum tagEXPLORER_BROWSER_FILL_FLAGS { |
| EBF_NONE = 0, |
| EBF_SELECTFROMDATAOBJECT = 0x100, |
| EBF_NODROPTARGET = 0x200 |
| } EXPLORER_BROWSER_FILL_FLAGS; |
| |
| typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS { |
| EBO_NONE = 0x00, |
| EBO_NAVIGATEONCE = 0x01, |
| EBO_SHOWFRAMES = 0x02, |
| EBO_ALWAYSNAVIGATE = 0x04, |
| EBO_NOTRAVELLOG = 0x08, |
| EBO_NOWRAPPERWINDOW = 0x10, |
| EBO_HTMLSHAREPOINTVIEW = 0x20 |
| } EXPLORER_BROWSER_OPTIONS; |
| |
| cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser") |
| |
| /***************************************************************************** |
| * IExplorerBrowser interface |
| */ |
| [ |
| object, |
| uuid(DFD3B6B5-C10C-4BE9-85F6-A66969F402F6), |
| pointer_default(unique) |
| ] |
| 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] IUnknown *punk, |
| [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags); |
| |
| HRESULT RemoveAll(); |
| |
| HRESULT GetCurrentView( |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| } |
| |
| /***************************************************************************** |
| * INameSpaceTreeControl interface |
| */ |
| [ |
| object, |
| uuid(028212A3-B627-47E9-8856-C14265554E4F) |
| ] |
| interface INameSpaceTreeControl : IUnknown |
| { |
| [v1_enum] enum _NSTCSTYLE { |
| NSTCS_HASEXPANDOS = 0x00000001, |
| NSTCS_HASLINES = 0x00000002, |
| NSTCS_SINGLECLICKEXPAND = 0x00000004, |
| NSTCS_FULLROWSELECT = 0x00000008, |
| NSTCS_SPRINGEXPAND = 0x00000010, |
| NSTCS_HORIZONTALSCROLL = 0x00000020, |
| NSTCS_ROOTHASEXPANDO = 0x00000040, |
| NSTCS_SHOWSELECTIONALWAYS = 0x00000080, |
| NSTCS_NOINFOTIP = 0x00000200, |
| NSTCS_EVENHEIGHT = 0x00000400, |
| NSTCS_NOREPLACEOPEN = 0x00000800, |
| NSTCS_DISABLEDRAGDROP = 0x00001000, |
| NSTCS_NOORDERSTREAM = 0x00002000, |
| NSTCS_RICHTOOLTIP = 0x00004000, |
| NSTCS_BORDER = 0x00008000, |
| NSTCS_NOEDITLABELS = 0x00010000, |
| NSTCS_TABSTOP = 0x00020000, |
| NSTCS_FAVORITESMODE = 0x00080000, |
| NSTCS_AUTOHSCROLL = 0x00100000, |
| NSTCS_FADEINOUTEXPANDOS = 0x00200000, |
| NSTCS_EMPTYTEXT = 0x00400000, |
| NSTCS_CHECKBOXES = 0x00800000, |
| NSTCS_PARTIALCHECKBOXES = 0x01000000, |
| NSTCS_EXCLUSIONCHECKBOXES = 0x02000000, |
| NSTCS_DIMMEDCHECKBOXES = 0x04000000, |
| NSTCS_NOINDENTCHECKS = 0x08000000, |
| NSTCS_ALLOWJUNCTIONS = 0x10000000, |
| NSTCS_SHOWTABSBUTTON = 0x20000000, |
| NSTCS_SHOWDELETEBUTTON = 0x40000000, |
| NSTCS_SHOWREFRESHBUTTON = (int)0x80000000 |
| }; |
| typedef DWORD NSTCSTYLE; |
| |
| [v1_enum] enum _NSTCROOTSTYLE { |
| NSTCRS_VISIBLE = 0x0000, |
| NSTCRS_HIDDEN = 0x0001, |
| NSTCRS_EXPANDED = 0x0002 |
| }; |
| typedef DWORD NSTCROOTSTYLE; |
| |
| [v1_enum] enum _NSTCITEMSTATE { |
| NSTCIS_NONE = 0x0000, |
| NSTCIS_SELECTED = 0x0001, |
| NSTCIS_EXPANDED = 0x0002, |
| NSTCIS_BOLD = 0x0004, |
| NSTCIS_DISABLED = 0x0008, |
| NSTCIS_SELECTEDNOEXPAND = 0x0010 |
| }; |
| typedef DWORD NSTCITEMSTATE; |
| |
| typedef [v1_enum] enum NSTCGNI { |
| NSTCGNI_NEXT = 0, |
| NSTCGNI_NEXTVISIBLE = 1, |
| NSTCGNI_PREV = 2, |
| NSTCGNI_PREVVISIBLE = 3, |
| NSTCGNI_PARENT = 4, |
| NSTCGNI_CHILD = 5, |
| NSTCGNI_FIRSTVISIBLE = 6, |
| NSTCGNI_LASTVISIBLE = 7 |
| } NSTCGNI; |
| |
| HRESULT Initialize( |
| [in] HWND hwndParent, |
| [in, unique] RECT *prc, |
| [in] NSTCSTYLE nstcsFlags); |
| |
| HRESULT TreeAdvise( |
| [in] IUnknown *punk, |
| [out] DWORD *pdwCookie); |
| |
| HRESULT TreeUnadvise( |
| [in] DWORD dwCookie); |
| |
| HRESULT AppendRoot( |
| [in] IShellItem *psiRoot, |
| [in] SHCONTF grfEnumFlags, |
| [in] NSTCROOTSTYLE grfRootStyle, |
| [in, unique] IShellItemFilter *pif); |
| |
| HRESULT InsertRoot( |
| [in] int iIndex, |
| [in] IShellItem *psiRoot, |
| [in] SHCONTF grfEnumFlags, |
| [in] NSTCROOTSTYLE grfRootStyle, |
| [in, unique] IShellItemFilter *pif); |
| |
| HRESULT RemoveRoot( |
| [in] IShellItem *psiRoot); |
| |
| HRESULT RemoveAllRoots(); |
| |
| HRESULT GetRootItems( |
| [out] IShellItemArray **ppsiaRootItems); |
| |
| HRESULT SetItemState( |
| [in] IShellItem *psi, |
| [in] NSTCITEMSTATE nstcisMask, |
| [in] NSTCITEMSTATE nstcisFlags); |
| |
| HRESULT GetItemState( |
| [in] IShellItem *psi, |
| [in] NSTCITEMSTATE nstcismask, |
| [out] NSTCITEMSTATE *pnstcisFlags); |
| |
| HRESULT GetSelectedItems( |
| [out] IShellItemArray **psiaItems); |
| |
| HRESULT GetItemCustomState( |
| [in] IShellItem *psi, |
| [out] int *piStateNumber); |
| |
| HRESULT SetItemCustomState( |
| [in] IShellItem *psi, |
| [in] int iStateNumber); |
| |
| HRESULT EnsureItemVisible( |
| [in] IShellItem *psi); |
| |
| HRESULT SetTheme( |
| [in, string] LPCWSTR pszTheme); |
| |
| HRESULT GetNextItem( |
| [in, unique] IShellItem *psi, |
| [in] NSTCGNI nstcgi, |
| [out] IShellItem **ppsiNext); |
| |
| HRESULT HitTest( |
| [in] POINT *ppt, |
| [out] IShellItem **ppsiOut); |
| |
| HRESULT GetItemRect( |
| [in] IShellItem *psi, |
| [out] RECT *prect); |
| |
| HRESULT CollapseAll(); |
| } |
| |
| /***************************************************************************** |
| * INameSpaceTreeControl2 interface |
| */ |
| [ |
| object, |
| uuid(7CC7AED8-290E-49BC-8945-C1401CC9306C) |
| ] |
| interface INameSpaceTreeControl2 : INameSpaceTreeControl |
| { |
| typedef [v1_enum] enum NSTCSTYLE2 { |
| NSTCS2_DEFAULT = 0x00, |
| NSTCS2_INTERRUPTNOTIFICATIONS = 0x01, |
| NSTCS2_SHOWNULLSPACEMENU = 0x02, |
| NSTCS2_DISPLAYPADDING = 0x04, |
| NSTCS2_DISPLAYPINNEDONLY = 0x08, |
| NTSCS2_NOSINGLETONAUTOEXPAND = 0x10, /* The apparent typo here is */ |
| NTSCS2_NEVERINSERTNONENUMERATED = 0x20 /* present also in the Win SDK */ |
| } NSTCSTYLE2; |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(NSTCSTYLE2)") |
| |
| HRESULT SetControlStyle( |
| [in] NSTCSTYLE nstcsMask, |
| [in] NSTCSTYLE nstcsStyle); |
| |
| HRESULT GetControlStyle( |
| [in] NSTCSTYLE nstcsMask, |
| [out] NSTCSTYLE *pnstcsStyle); |
| |
| HRESULT SetControlStyle2( |
| [in] NSTCSTYLE2 nstcsMask, |
| [in] NSTCSTYLE2 nstcsStyle); |
| |
| HRESULT GetControlStyle2( |
| [in] NSTCSTYLE2 nstcsMask, |
| [out] NSTCSTYLE2 *pnstcsStyle); |
| } |
| |
| /***************************************************************************** |
| * INameSpaceTreeControlEvents interface |
| */ |
| |
| [ |
| object, |
| uuid(93D77985-B3D8-4484-8318-672CDDA002CE), |
| local |
| ] |
| interface INameSpaceTreeControlEvents : IUnknown |
| { |
| [v1_enum] enum _NSTCEHITTEST { |
| NSTCEHT_NOWHERE = 0x0001, |
| NSTCEHT_ONITEMICON = 0x0002, |
| NSTCEHT_ONITEMLABEL = 0x0004, |
| NSTCEHT_ONITEMIDENT = 0x0008, |
| NSTCEHT_ONITEMBUTTON = 0x0010, |
| NSTCEHT_ONITEMRIGHT = 0x0020, |
| NSTCEHT_ONITEMSTATEICON = 0x0040, |
| NSTCEHT_ONITEM = 0x0046, |
| NSTCEHT_ONITEMTABBUTTON = 0x1000 |
| }; |
| typedef DWORD NSTCEHITTEST; |
| |
| [v1_enum] enum _NSTCECLICKTYPE { |
| NSTCECT_LBUTTON = 0x1, |
| NSTCECT_MBUTTON = 0x2, |
| NSTCECT_RBUTTON = 0x3, |
| NSTCECT_BUTTON = 0x3, |
| NSTCECT_DBLCLICK = 0x4 |
| }; |
| typedef DWORD NSTCECLICKTYPE; |
| |
| HRESULT OnItemClick( |
| [in] IShellItem *psi, |
| [in] NSTCEHITTEST nstceHitTest, |
| [in] NSTCECLICKTYPE nstceClickType); |
| |
| HRESULT OnPropertyItemCommit( |
| [in] IShellItem *psi); |
| |
| HRESULT OnItemStateChanging( |
| [in] IShellItem *psi, |
| [in] NSTCITEMSTATE nstcisMask, |
| [in] NSTCITEMSTATE nstcisState); |
| |
| HRESULT OnItemStateChanged( |
| [in] IShellItem *psi, |
| [in] NSTCITEMSTATE nstcisMask, |
| [in] NSTCITEMSTATE nstcisState); |
| |
| HRESULT OnSelectionChanged( |
| [in] IShellItemArray *psiaSelection); |
| |
| HRESULT OnKeyboardInput( |
| [in] UINT uMsg, |
| [in] WPARAM wParam, |
| [in] LPARAM lParam); |
| |
| HRESULT OnBeforeExpand( |
| [in] IShellItem *psi); |
| |
| HRESULT OnAfterExpand( |
| [in] IShellItem *psi); |
| |
| HRESULT OnBeginLabelEdit( |
| [in] IShellItem *psi); |
| |
| HRESULT OnEndLabelEdit( |
| [in] IShellItem *psi); |
| |
| HRESULT OnGetToolTip( |
| [in] IShellItem *psi, |
| [out, string, size_is(cchTip)] LPWSTR pszTip, |
| [in] int cchTip); |
| |
| HRESULT OnBeforeItemDelete( |
| [in] IShellItem *psi); |
| |
| HRESULT OnItemAdded( |
| [in] IShellItem *psi, |
| [in] BOOL fIsRoot); |
| |
| HRESULT OnItemDeleted( |
| [in] IShellItem *psi, |
| [in] BOOL fIsRoot); |
| |
| HRESULT OnBeforeContextMenu( |
| [in, unique] IShellItem *psi, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| |
| HRESULT OnAfterContextMenu( |
| [in] IShellItem *psi, |
| [in] IContextMenu *pcmIn, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| |
| HRESULT OnBeforeStateImageChange( |
| [in] IShellItem *psi); |
| |
| HRESULT OnGetDefaultIconIndex( |
| [in] IShellItem *psi, |
| [out] int *piDefaultIcon, |
| [out] int *piOpenIcon); |
| } |
| |
| /***************************************************************************** |
| * INameSpaceTreeControlCustomDraw interface |
| */ |
| [ |
| object, |
| uuid(2D3BA758-33EE-42D5-BB7B-5F3431D86C78), |
| local |
| ] |
| |
| interface INameSpaceTreeControlCustomDraw : IUnknown |
| { |
| typedef struct NSTCCUSTOMDRAW |
| { |
| IShellItem *psi; |
| UINT uItemState; |
| NSTCITEMSTATE nstcis; |
| LPCWSTR pszText; |
| int iImage; |
| HIMAGELIST himl; |
| int iLevel; |
| int iIndent; |
| } NSTCCUSTOMDRAW; |
| |
| HRESULT PrePaint( |
| [in] HDC hdc, |
| [in] RECT *prc, |
| [out] LRESULT *plres); |
| |
| HRESULT PostPaint( |
| [in] HDC hdc, |
| [in] RECT *prc); |
| |
| HRESULT ItemPrePaint( |
| [in] HDC hdc, |
| [in] RECT *prc, |
| [in, out] COLORREF *pclrText, |
| [in, out] COLORREF *pclrTextBk, |
| [out] LRESULT *plres); |
| |
| HRESULT ItemPostPaint( |
| [in] HDC hdc, |
| [in] RECT *prc, |
| [in] NSTCCUSTOMDRAW *pnstccdItem); |
| } |
| |
| /***************************************************************************** |
| * INameSpaceTreeControlDropHandler interface |
| */ |
| [ |
| object, |
| uuid(F9C665D6-C2F2-4C19-BF33-8322D7352F51), |
| local |
| ] |
| interface INameSpaceTreeControlDropHandler : IUnknown |
| { |
| HRESULT OnDragEnter( |
| [in, unique] IShellItem *psiOver, |
| [in] IShellItemArray *psiaData, |
| [in] BOOL fOutsideSource, |
| [in] DWORD grfKeyState, |
| [in, out] DWORD *pdwEffect); |
| |
| HRESULT OnDragOver( |
| [in, unique] IShellItem *psiOver, |
| [in] IShellItemArray *psiaData, |
| [in] DWORD grfKeyState, |
| [in, out] DWORD *pdwEffect); |
| |
| HRESULT OnDragPosition( |
| [in, unique] IShellItem *psiOver, |
| [in] IShellItemArray *psiaData, |
| [in] int iNewPosition, |
| [in] int iOldPosition); |
| |
| HRESULT OnDrop( |
| [in, unique] IShellItem *psiOver, |
| [in] IShellItemArray *psiaData, |
| [in] int iPosition, |
| [in] DWORD grfKeyState, |
| [in, out] DWORD *pdwEffect); |
| |
| HRESULT OnDropPosition( |
| [in, unique] IShellItem *psiOver, |
| [in] IShellItemArray *psiaData, |
| [in] int iNewPosition, |
| [in] int iOldPosition); |
| |
| HRESULT OnDragLeave( |
| [in, unique] IShellItem *psiOver); |
| } |
| cpp_quote("#define NSTCDHPOS_ONTOP -1") |
| |
| interface IFileDialog; |
| |
| typedef [v1_enum] enum FDE_OVERWRITE_RESPONSE |
| { |
| FDEOR_DEFAULT = 0, |
| FDEOR_ACCCEP = 1, |
| FDEOR_REFUSE = 2 |
| } FDE_OVERWRITE_RESPONSE; |
| |
| typedef [v1_enum] enum FDE_SHAREVIOLATION_RESPONSE |
| { |
| FDESVR_DEFAULT = 0, |
| FDESVR_ACCEPT = 1, |
| FDESVR_REFUSE = 2 |
| } FDE_SHAREVIOLATION_RESPONSE; |
| |
| /***************************************************************************** |
| * IFileDialogEvents interface |
| */ |
| [ |
| object, |
| uuid(973510DB-7D7F-452B-8975-74A85828D354), |
| pointer_default(unique) |
| ] |
| interface IFileDialogEvents : IUnknown |
| { |
| HRESULT OnFileOk( |
| [in] IFileDialog *pfd); |
| |
| HRESULT OnFolderChanging( |
| [in] IFileDialog *pfd, |
| [in] IShellItem *psiFolder); |
| |
| HRESULT OnFolderChange( |
| [in] IFileDialog *pfd); |
| |
| HRESULT OnSelectionChange( |
| [in] IFileDialog *pfd); |
| |
| HRESULT OnShareViolation( |
| [in] IFileDialog *pfd, |
| [in] IShellItem *psi, |
| [out] FDE_SHAREVIOLATION_RESPONSE *pResponse); |
| |
| HRESULT OnTypeChange( |
| [in] IFileDialog *pfd); |
| |
| HRESULT OnOverwrite( |
| [in] IFileDialog *pfd, |
| [in] IShellItem *psi, |
| [out] FDE_OVERWRITE_RESPONSE *pResponse); |
| } |
| |
| /***************************************************************************** |
| * IModalWindow interface |
| */ |
| [ |
| object, |
| uuid(B4DB1657-70D7-485E-8E3E-6FCB5A5C1802), |
| pointer_default(unique) |
| ] |
| interface IModalWindow : IUnknown |
| { |
| [local] |
| HRESULT Show( |
| [in, unique, annotation("__in_opt")] HWND hwndOwner); |
| |
| [call_as(Show)] |
| HRESULT RemoteShow( |
| [in, unique] HWND hwndOwner); |
| } |
| |
| typedef [v1_enum] enum FDAP |
| { |
| FDAP_BOTTOM = 0, |
| FDAP_TOP = 1 |
| } FDAP; |
| |
| /***************************************************************************** |
| * IFileDialog interface |
| */ |
| [ |
| object, |
| uuid(42F85136-DB7E-439C-85F1-E4075D135FC8), |
| pointer_default(unique) |
| ] |
| interface IFileDialog : IModalWindow |
| { |
| [v1_enum] enum _FILEOPENDIALOGOPTIONS |
| { |
| FOS_OVERWRITEPROMPT = 0x00000002, |
| FOS_STRICTFILETYPES = 0x00000004, |
| FOS_NOCHANGEDIR = 0x00000008, |
| FOS_PICKFOLDERS = 0x00000020, |
| FOS_FORCEFILESYSTEM = 0x00000040, |
| FOS_ALLNONSTORAGEITEMS = 0x00000080, |
| FOS_NOVALIDATE = 0x00000100, |
| FOS_ALLOWMULTISELECT = 0x00000200, |
| FOS_PATHMUSTEXIST = 0x00000800, |
| FOS_FILEMUSTEXIST = 0x00001000, |
| FOS_CREATEPROMPT = 0x00002000, |
| FOS_SHAREAWARE = 0x00004000, |
| FOS_NOREADONLYRETURN = 0x00008000, |
| FOS_NOTESTFILECREATE = 0x00010000, |
| FOS_HIDEMRUPLACES = 0x00020000, |
| FOS_HIDEPINNEDPLACES = 0x00040000, |
| FOS_NODEREFERENCELINKS = 0x00100000, |
| FOS_DONTADDTORECENT = 0x02000000, |
| FOS_FORCESHOWHIDDEN = 0x10000000, |
| FOS_DEFAULTNOMINIMODE = 0x20000000, |
| FOS_FORCEPREVIEWPANEON = 0x40000000 |
| }; |
| typedef DWORD FILEOPENDIALOGOPTIONS; |
| |
| HRESULT SetFileTypes( |
| [in] UINT cFileTypes, |
| [in, size_is(cFileTypes)] const COMDLG_FILTERSPEC *rgFilterSpec); |
| |
| HRESULT SetFileTypeIndex( |
| [in] UINT iFileType); |
| |
| HRESULT GetFileTypeIndex( |
| [out] UINT *piFileType); |
| |
| HRESULT Advise( |
| [in] IFileDialogEvents *pfde, |
| [out] DWORD *pdwCookie); |
| |
| HRESULT Unadvise( |
| [in] DWORD dwCookie); |
| |
| HRESULT SetOptions( |
| [in] FILEOPENDIALOGOPTIONS fos); |
| |
| HRESULT GetOptions( |
| [in] FILEOPENDIALOGOPTIONS *pfos); |
| |
| HRESULT SetDefaultFolder( |
| [in] IShellItem *psi); |
| |
| HRESULT SetFolder( |
| [in] IShellItem *psi); |
| |
| HRESULT GetFolder( |
| [out] IShellItem **ppsi); |
| |
| HRESULT GetCurrentSelection( |
| [out] IShellItem **ppsi); |
| |
| HRESULT SetFileName( |
| [in, string] LPCWSTR pszName); |
| |
| HRESULT GetFileName( |
| [out, string] LPWSTR *pszName); |
| |
| HRESULT SetTitle( |
| [in, string] LPCWSTR pszTitle); |
| |
| HRESULT SetOkButtonLabel( |
| [in, string] LPCWSTR pszText); |
| |
| HRESULT SetFileNameLabel( |
| [in, string] LPCWSTR pszLabel); |
| |
| HRESULT GetResult( |
| [out] IShellItem **ppsi); |
| |
| HRESULT AddPlace( |
| [in] IShellItem *psi, |
| [in] FDAP fdap); |
| |
| HRESULT SetDefaultExtension( |
| [in, string] LPCWSTR pszDefaultExtension); |
| |
| HRESULT Close( |
| [in] HRESULT hr); |
| |
| HRESULT SetClientGuid( |
| [in] REFGUID guid); |
| |
| HRESULT ClearClientData(); |
| |
| HRESULT SetFilter( |
| [in] IShellItemFilter *pFilter); |
| } |
| |
| /***************************************************************************** |
| * IFileDialog2 interface |
| */ |
| [ |
| object, |
| uuid(61744FC7-85B5-4791-A9B0-272276309B13), |
| pointer_default(unique) |
| ] |
| interface IFileDialog2 : IFileDialog |
| { |
| HRESULT SetCancelButtonLabel( |
| [in] LPCWSTR pszLabel); |
| |
| HRESULT SetNavigationRoot( |
| [in] IShellItem *psi); |
| } |
| |
| /***************************************************************************** |
| * IFileOperationProgressSink interface |
| */ |
| [ |
| 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(); |
| } |
| |
| /***************************************************************************** |
| * IFileSaveDialog interface |
| */ |
| [ |
| object, |
| uuid(84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB), |
| pointer_default(unique) |
| ] |
| interface IFileSaveDialog : IFileDialog |
| { |
| HRESULT SetSaveAsItem( |
| [in] IShellItem *psi); |
| |
| HRESULT SetProperties( |
| [in] IPropertyStore *pStore); |
| |
| HRESULT SetCollectedProperties( |
| [in] IPropertyDescriptionList *pList, |
| [in] BOOL fAppendDefault); |
| |
| HRESULT GetProperties( |
| [in] IPropertyStore **ppStore); |
| |
| HRESULT ApplyProperties( |
| [in] IShellItem *psi, |
| [in] IPropertyStore *pStore, |
| [in, unique] HWND hwnd, |
| [in, unique] IFileOperationProgressSink *pSink); |
| } |
| |
| |
| /***************************************************************************** |
| * IFileOpenDialog interface |
| */ |
| [ |
| object, |
| uuid(D57C7288-D4AD-4768-BE02-9D969532D960), |
| pointer_default(unique) |
| ] |
| interface IFileOpenDialog : IFileDialog |
| { |
| HRESULT GetResults( |
| [out] IShellItemArray **ppenum); |
| |
| HRESULT GetSelectedItems( |
| [out] IShellItemArray **ppsai); |
| } |
| |
| typedef [v1_enum] enum CDCONTROLSTATEF |
| { |
| CDCS_INACTIVE = 0x0, |
| CDCS_ENABLED = 0x1, |
| CDCS_VISIBLE = 0x2, |
| CDCS_ENABLEDVISIBLE = 0x3 |
| } CDCONTROLSTATEF; |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CDCONTROLSTATEF)") |
| /***************************************************************************** |
| * IFileDialogCustomize interface |
| */ |
| [ |
| object, |
| uuid(E6FDD21A-163F-4975-9C8C-A69F1BA37034), |
| pointer_default(unique) |
| ] |
| interface IFileDialogCustomize : IUnknown |
| { |
| HRESULT EnableOpenDropDown( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT AddMenu( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszLabel); |
| |
| HRESULT AddPushButton( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszLabel); |
| |
| HRESULT AddComboBox( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT AddRadioButtonList( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT AddCheckButton( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszLabel, |
| [in] BOOL bChecked); |
| |
| HRESULT AddEditBox( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszText); |
| |
| HRESULT AddSeparator( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT AddText( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszText); |
| |
| HRESULT SetControlLabel( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszLabel); |
| |
| HRESULT GetControlState( |
| [in] DWORD dwIDCtl, |
| [out] CDCONTROLSTATEF *pdwState); |
| |
| HRESULT SetControlState( |
| [in] DWORD dwIDCtl, |
| [in] CDCONTROLSTATEF dwState); |
| |
| HRESULT GetEditBoxText( |
| [in] DWORD dwIDCtl, |
| [out, string] WCHAR **ppszText); |
| |
| HRESULT SetEditBoxText( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszText); |
| |
| HRESULT GetCheckButtonState( |
| [in] DWORD dwIDCtl, |
| [out] BOOL *pbChecked); |
| |
| HRESULT SetCheckButtonState( |
| [in] DWORD dwIDCtl, |
| [in] BOOL bChecked); |
| |
| HRESULT AddControlItem( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem, |
| [in] LPCWSTR pszLabel); |
| |
| HRESULT RemoveControlItem( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem); |
| |
| HRESULT RemoveAllControlItems( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT GetControlItemState( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem, |
| [out] CDCONTROLSTATEF *pdwState); |
| |
| HRESULT SetControlItemState( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem, |
| [in] CDCONTROLSTATEF dwState); |
| |
| HRESULT GetSelectedControlItem( |
| [in] DWORD dwIDCtl, |
| [out] DWORD *pdwIDItem); |
| |
| HRESULT SetSelectedControlItem( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem); |
| |
| HRESULT StartVisualGroup( |
| [in] DWORD dwIDCtl, |
| [in, string] LPCWSTR pszLabel); |
| |
| HRESULT EndVisualGroup(); |
| |
| HRESULT MakeProminent( |
| [in] DWORD dwIDCtl); |
| |
| HRESULT SetControlItemText( |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem, |
| [in, string] LPCWSTR pszLabel); |
| } |
| |
| /***************************************************************************** |
| * IFileDialogControlEvents interface |
| */ |
| [ |
| object, |
| uuid(36116642-D713-4B97-9B83-7484A9D00433), |
| pointer_default(unique) |
| ] |
| interface IFileDialogControlEvents : IUnknown |
| { |
| HRESULT OnItemSelected( |
| [in] IFileDialogCustomize *pfdc, |
| [in] DWORD dwIDCtl, |
| [in] DWORD dwIDItem); |
| |
| HRESULT OnButtonClicked( |
| [in] IFileDialogCustomize *pfdc, |
| [in] DWORD dwIDCtl); |
| |
| HRESULT OnCheckButtonToggled( |
| [in] IFileDialogCustomize *pfdc, |
| [in] BOOL dwIDCtl, |
| [in] BOOL bChecked); |
| |
| HRESULT OnControlActivating( |
| [in] IFileDialogCustomize *pfdc, |
| [in] DWORD dwIDCtl); |
| } |
| |
| typedef [v1_enum] enum tagKF_CATEGORY |
| { |
| KF_CATEGORY_VIRTUAL = 0x00000001, |
| KF_CATEGORY_FIXED = 0x00000002, |
| KF_CATEGORY_COMMON = 0x00000003, |
| KF_CATEGORY_PERUSER = 0x00000004 |
| } KF_CATEGORY; |
| |
| typedef [v1_enum] enum tagKF_REDIRECTION_CAPABILITIES |
| { |
| KF_REDIRECTION_CAPABILITIES_ALLOW_ALL = 0x000000ff, |
| KF_REDIRECTION_CAPABILITIES_REDIRECTABLE = 0x00000001, |
| KF_REDIRECTION_CAPABILITIES_DENY_ALL = 0x000fff00, |
| KF_REDIRECTION_CAPABILITIES_DENY_POLICY_REDIRECTED = 0x00000100, |
| KF_REDIRECTION_CAPABILITIES_DENY_POLICY = 0x00000200, |
| KF_REDIRECTION_CAPABILITIES_DENY_PERMISSIONS = 0x00000400 |
| } KF_REDIRECTION_CAPABILITIES; |
| |
| typedef [v1_enum] enum tagKF_DEFINITION_FLAGS |
| { |
| KFDF_LOCAL_REDIRECT_ONLY = 0x00000002, |
| KFDF_ROAMABLE = 0x00000004, |
| KFDF_PRECREATE = 0x00000008, |
| KFDF_STREAM = 0x00000010, |
| KFDF_PUBLISHEXPANDEDPATH = 0x00000020 |
| } KF_DEFINITION_FLAGS; |
| |
| typedef struct tagKNOWNFOLDER_DEFINITION |
| { |
| KF_CATEGORY category; |
| LPWSTR pszName; |
| LPWSTR pszDescription; |
| KNOWNFOLDERID fidParent; |
| LPWSTR pszRelativePath; |
| LPWSTR pszParsingName; |
| LPWSTR pszTooltip; |
| LPWSTR pszLocalizedName; |
| LPWSTR pszIcon; |
| LPWSTR pszSecurity; |
| DWORD dwAttributes; |
| KF_DEFINITION_FLAGS kfdFlags; |
| FOLDERTYPEID ftidType; |
| } KNOWNFOLDER_DEFINITION; |
| |
| [ |
| object, |
| uuid(3aa7af7e-9b36-420C-a8e3-f77d4674a488), |
| pointer_default(ref) |
| ] |
| interface IKnownFolder : IUnknown |
| { |
| HRESULT GetId( |
| [out] KNOWNFOLDERID *pkfid); |
| |
| HRESULT GetCategory( |
| [out] KF_CATEGORY *pCategory); |
| |
| HRESULT GetShellItem( |
| [in] DWORD dwFlags, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| |
| HRESULT GetPath( |
| [in] DWORD dwFlags, |
| [out, string] LPWSTR *ppszPath); |
| |
| HRESULT SetPath( |
| [in] DWORD dwFlags, |
| [in, string] LPCWSTR pszPath); |
| |
| HRESULT GetIDList( |
| [in] DWORD dwFlags, |
| [out] PIDLIST_ABSOLUTE *ppidl); |
| |
| HRESULT GetFolderType( |
| [out] FOLDERTYPEID *pftid); |
| |
| HRESULT GetRedirectionCapabilities( |
| [out] KF_REDIRECTION_CAPABILITIES *pCapabilities); |
| |
| HRESULT GetFolderDefinition( |
| [out] KNOWNFOLDER_DEFINITION *pKFD); |
| } |
| |
| typedef [v1_enum] enum tagKF_REDIRECT_FLAGS |
| { |
| KF_REDIRECT_USER_EXCLUSIVE = 0x00000001, |
| KF_REDIRECT_COPY_SOURCE_DACL = 0x00000002, |
| KF_REDIRECT_OWNER_USER = 0x00000004, |
| KF_REDIRECT_SET_OWNER_EXPLICIT = 0x00000008, |
| KF_REDIRECT_CHECK_ONLY = 0x00000010, |
| KF_REDIRECT_WITH_UI = 0x00000020, |
| KF_REDIRECT_UNPIN = 0x00000040, |
| KF_REDIRECT_PIN = 0x00000080, |
| KF_REDIRECT_COPY_CONTENTS = 0x00000200, |
| KF_REDIRECT_DEL_SOURCE_CONTENTS = 0x00000400, |
| KF_REDIRECT_EXCLUDE_ALL_KNOWN_SUBFOLDERS = 0x00000800 |
| } KF_REDIRECT_FLAGS; |
| |
| [ |
| object, |
| uuid(8BE2D872-86AA-4d47-B776-32CCA40C7018), |
| pointer_default(ref) |
| ] |
| interface IKnownFolderManager : IUnknown |
| { |
| typedef [v1_enum] enum tagFFFP_MODE |
| { |
| FFFP_EXACTMATCH, |
| FFFP_NEARESTPARENTMATCH |
| } FFFP_MODE; |
| |
| HRESULT FolderIdFromCsidl( |
| [in] int nCsidl, |
| [out] KNOWNFOLDERID *pfid); |
| |
| HRESULT FolderIdToCsidl( |
| [in] REFKNOWNFOLDERID rfid, |
| [out] int *pnCsidl); |
| |
| HRESULT GetFolderIds( |
| [out, size_is(, *pCount)] KNOWNFOLDERID **ppKFId, |
| [in, out] UINT *pCount); |
| |
| HRESULT GetFolder( |
| [in] REFKNOWNFOLDERID rfid, |
| [out] IKnownFolder **ppkf); |
| |
| HRESULT GetFolderByName( |
| [in, string] LPCWSTR pszCanonicalName, |
| [out] IKnownFolder **ppkf); |
| |
| HRESULT RegisterFolder( |
| [in] REFKNOWNFOLDERID rfid, |
| [in] KNOWNFOLDER_DEFINITION const *pKFD); |
| |
| HRESULT UnregisterFolder( |
| [in] REFKNOWNFOLDERID rfid); |
| |
| HRESULT FindFolderFromPath( |
| [in, string] LPCWSTR pszPath, |
| [in] FFFP_MODE mode, |
| [out] IKnownFolder **ppkf); |
| |
| HRESULT FindFolderFromIDList( |
| [in] PCIDLIST_ABSOLUTE pidl, |
| [out] IKnownFolder **ppkf); |
| |
| HRESULT Redirect( |
| [in] REFKNOWNFOLDERID rfid, |
| [in, unique] HWND hwnd, |
| [in] KF_REDIRECT_FLAGS flags, |
| [in, unique, string] LPCWSTR pszTargetPath, |
| [in] UINT cFolders, |
| [in, size_is(cFolders), unique] KNOWNFOLDERID const *pExclusion, |
| [out, string] LPWSTR *ppszError); |
| } |
| |
| /* function for releasing structure returned from IKnownFolder::GetFolderDefinition */ |
| cpp_quote("static inline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD)") |
| cpp_quote("{") |
| cpp_quote(" CoTaskMemFree(pKFD->pszName);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszDescription);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszRelativePath);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszParsingName);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszTooltip);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszLocalizedName);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszIcon);") |
| cpp_quote(" CoTaskMemFree(pKFD->pszSecurity);") |
| cpp_quote("}") |
| |
| typedef [v1_enum] enum ASSOCIATIONLEVEL { |
| AL_MACHINE, |
| AL_EFFECTIVE, |
| AL_USER |
| } ASSOCIATIONLEVEL; |
| |
| typedef [v1_enum] enum ASSOCIATIONTYPE { |
| AT_FILEEXTENSION, |
| AT_URLPROTOCOL, |
| AT_STARTMENUCLIENT, |
| AT_MIMETYPE |
| } ASSOCIATIONTYPE; |
| |
| [ |
| object, |
| uuid(4e530b0a-e611-4c77-a3ac-9031d022281b), |
| pointer_default(unique) |
| ] |
| interface IApplicationAssociationRegistration : IUnknown |
| { |
| HRESULT QueryCurrentDefault( |
| [in, string] LPCWSTR pszQuery, |
| [in] ASSOCIATIONTYPE atQueryType, |
| [in] ASSOCIATIONLEVEL alQueryLevel, |
| [out, string] LPWSTR *ppszAssociation); |
| |
| HRESULT QueryAppIsDefault( |
| [in, string] LPCWSTR pszQuery, |
| [in] ASSOCIATIONTYPE atQueryType, |
| [in] ASSOCIATIONLEVEL alQueryLevel, |
| [in, string] LPCWSTR pszAppRegistryName, |
| [out] BOOL *pfDefault); |
| |
| HRESULT QueryAppIsDefaultAll( |
| [in] ASSOCIATIONLEVEL alQueryLevel, |
| [in, string] LPCWSTR pszAppRegistryName, |
| [out] BOOL* pfDefault); |
| |
| HRESULT SetAppAsDefault( |
| [in, string] LPCWSTR pszAppRegistryName, |
| [in, string] LPCWSTR pszSet, |
| [in] ASSOCIATIONTYPE atSetType); |
| |
| HRESULT SetAppAsDefaultAll( |
| [in, string] LPCWSTR pszAppRegistryName); |
| |
| HRESULT ClearUserAssociations(); |
| } |
| |
| [ |
| uuid(6332debf-87b5-4670-90c0-5e57b408a49e), |
| object, |
| pointer_default(unique) |
| ] |
| interface ICustomDestinationList : IUnknown |
| { |
| typedef [v1_enum] enum KNOWNDESTCATEGORY { |
| KDC_FREQUENT = 1, |
| KDC_RECENT |
| } KNOWNDESTCATEGORY; |
| |
| HRESULT SetAppID([in, string] LPCWSTR pszAppID); |
| |
| HRESULT BeginList( |
| [out] UINT *pcMinSlots, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| |
| HRESULT AppendCategory( |
| [in, string] LPCWSTR pszCategory, |
| [in] IObjectArray *poa); |
| |
| HRESULT AppendKnownCategory([in] KNOWNDESTCATEGORY category); |
| HRESULT AddUserTasks([in] IObjectArray *poa); |
| HRESULT CommitList(); |
| |
| HRESULT GetRemovedDestinations( |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| |
| HRESULT DeleteList([in, unique, string] LPCWSTR pszAppID); |
| HRESULT AbortList(); |
| } |
| |
| [ |
| uuid(ddefe873-6997-4e68-be26-39b633adbe12), |
| object, |
| pointer_default(unique) |
| ] |
| interface IQueryCancelAutoPlay : IUnknown |
| { |
| HRESULT AllowAutoPlay([in, string] LPCWSTR path, |
| [in] DWORD content_type, |
| [in, string] LPCWSTR label, |
| [in] DWORD serial_number); |
| } |
| |
| [ |
| uuid(d594d0d8-8da7-457b-b3b4-ce5dbaac0b88), |
| pointer_default(unique) |
| ] |
| interface ITransferAdviseSink : IUnknown |
| { |
| [v1_enum] enum _TRANSFER_ADVISE_STATE |
| { |
| TS_NONE = 0, |
| TS_PERFORMING = 1, |
| TS_PREPARING = 2, |
| TS_INDETERMINATE = 4 |
| }; |
| typedef DWORD TRANSFER_ADVISE_STATE; |
| |
| HRESULT UpdateProgress([in] ULONGLONG size_current, |
| [in] ULONGLONG size_total, |
| [in] INT files_current, |
| [in] INT files_total, |
| [in] INT folders_current, |
| [in] INT folders_total); |
| HRESULT UpdateTransferState([in] TRANSFER_ADVISE_STATE state); |
| HRESULT ConfirmOverwrite([in] IShellItem *source, |
| [in] IShellItem *dest_parent, |
| [in, string] LPCWSTR name); |
| HRESULT ConfirmEncryptLoss([in] IShellItem *source); |
| HRESULT FileFailure([in] IShellItem *item, |
| [in, unique, string] LPCWSTR itemname, |
| [in] HRESULT hr, |
| [in, out, unique, size_is(crename)] LPWSTR rename, |
| [in] ULONG crename); |
| HRESULT SubStreamFailure([in] IShellItem *item, |
| [in, string] LPCWSTR stream, |
| [in] HRESULT hr); |
| HRESULT PropertyFailure([in] IShellItem *item, |
| [in, unique] const PROPERTYKEY *key, |
| [in] HRESULT hr); |
| } |
| |
| [v1_enum] enum _TRANSFER_SOURCE_FLAGS |
| { |
| TSF_NORMAL = 0, |
| TSF_FAIL_EXIST = 0, |
| TSF_RENAME_EXIST = 0x1, |
| TSF_OVERWRITE_EXIST = 0x2, |
| TSF_ALLOW_DECRYPTION = 0x4, |
| TSF_NO_SECURITY = 0x8, |
| TSF_COPY_CREATION_TIME = 0x10, |
| TSF_COPY_WRITE_TIME = 0x20, |
| TSF_USE_FULL_ACCESS = 0x40, |
| TSF_DELETE_RECYCLE_IF_POSSIBLE = 0x80, |
| TSF_COPY_HARD_LINK = 0x100, |
| TSF_COPY_LOCALIZED_NAME = 0x200, |
| TSF_MOVE_AS_COPY_DELETE = 0x400, |
| TSF_SUSPEND_SHELLEVENTS = 0x800 |
| }; |
| typedef DWORD TRANSFER_SOURCE_FLAGS; |
| |
| [ |
| uuid(00adb003-bde9-45c6-8e29-d09f9353e108), |
| object, |
| pointer_default(unique) |
| ] |
| interface ITransferSource : IUnknown |
| { |
| HRESULT Advise([in] ITransferAdviseSink *sink, [out] DWORD *cookie); |
| HRESULT Unadvise([in] DWORD cookie); |
| HRESULT SetProperties([in] IPropertyChangeArray *array); |
| HRESULT OpenItem([in] IShellItem *item, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv); |
| HRESULT MoveItem([in] IShellItem *item, |
| [in] IShellItem *parent_dest, |
| [in, string] LPCWSTR name_dest, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [out] IShellItem **newitem); |
| HRESULT RecycleItem([in] IShellItem *source, |
| [in] IShellItem *parent_dest, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [out] IShellItem **new_dest); |
| HRESULT RemoveItem([in] IShellItem *source, [in] TRANSFER_SOURCE_FLAGS flags); |
| HRESULT RenameItem([in] IShellItem *source, |
| [in, string] LPCWSTR newname, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [out] IShellItem **new_dest); |
| HRESULT LinkItem([in] IShellItem *source, |
| [in] IShellItem *parent_dest, |
| [in, unique, string] LPCWSTR new_name, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [out] IShellItem **new_dest); |
| HRESULT ApplyPropertiesToItem([in] IShellItem *source, [out] IShellItem **newitem); |
| HRESULT GetDefaultDestinationName([in] IShellItem *source, |
| [in] IShellItem *parent_dest, |
| [out, string] LPWSTR *dest_name); |
| HRESULT EnterFolder([in] IShellItem *child_folder); |
| HRESULT LeaveFolder([in] IShellItem *child_folder); |
| } |
| |
| [ |
| uuid(48addd32-3ca5-4124-abe3-b5a72531b207), |
| object, |
| pointer_default(unique) |
| ] |
| interface ITransferDestination : IUnknown |
| { |
| HRESULT Advise([in] ITransferAdviseSink *sink, [out] DWORD *cookie); |
| HRESULT Unadvise([in] DWORD cookie); |
| HRESULT CreateItem([in, string] LPCWSTR name, |
| [in] DWORD attr, |
| [in] ULONGLONG size, |
| [in] TRANSFER_SOURCE_FLAGS flags, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppv, |
| [in] REFIID resources, |
| [out, iid_is(riid)] void **presources); |
| } |
| |
| /***************************************************************************** |
| * ShellObjects typelibrary |
| */ |
| [ |
| uuid(50A7E9B1-70EF-11D1-B75A-00A0C90564FE), |
| lcid(0x0000), |
| version(1.0) |
| ] |
| library ShellObjects |
| { |
| [ |
| uuid(71F96385-DDD6-48D3-A0C1-AE06E8B055FB) |
| ] |
| coclass ExplorerBrowser |
| { |
| interface IExplorerBrowser; |
| } |
| |
| [ |
| uuid(DC1C5A9C-E88A-4DDE-A5A1-60F82A20AEF7) |
| ] |
| coclass FileOpenDialog |
| { |
| interface IFileOpenDialog; |
| } |
| |
| [ |
| uuid(C0B4E2F3-BA21-4773-8DBA-335EC946EB8B) |
| ] |
| coclass FileSaveDialog |
| { |
| interface IFileSaveDialog; |
| } |
| |
| [ |
| uuid(AE054212-3535-4430-83ED-D501AA6680E6) |
| ] |
| coclass NamespaceTreeControl |
| { |
| interface INameSpaceTreeControl2; |
| } |
| |
| [ |
| uuid(4df0c730-df9d-4ae3-9153-aa6b82e9795a) |
| ] |
| coclass KnownFolderManager |
| { |
| interface IKnownFolderManager; |
| } |
| |
| [ |
| uuid(591209c7-767b-42b2-9fba-44ee4615f2c7) |
| ] |
| coclass ApplicationAssociationRegistration |
| { |
| interface IApplicationAssociationRegistration; |
| } |
| |
| [ |
| uuid(00021401-0000-0000-c000-000000000046) |
| ] |
| coclass ShellLink |
| { |
| interface IShellLinkW; |
| } |
| |
| [ |
| uuid(56fdf344-fd6d-11d0-958a-006097c9a090) |
| ] |
| coclass TaskbarList |
| { |
| interface ITaskbarList4; |
| } |
| |
| [ |
| uuid(77f10cf0-3db5-4966-b520-b7c54fd35ed6) |
| ] |
| coclass DestinationList { |
| interface ICustomDestinationList; |
| } |
| |
| [ |
| uuid(2d3468c1-36a7-43b6-ac24-d3f02fd9607a) |
| ] |
| coclass EnumerableObjectCollection |
| { |
| interface IEnumObjects; |
| } |
| |
| [ |
| uuid(331f1768-05a9-4ddd-b86e-dae34ddc998a) |
| ] |
| coclass QueryCancelAutoPlay |
| { |
| interface IQueryCancelAutoPlay; |
| } |
| } |