/*** Autogenerated by WIDL 0.1 from shobjidl.idl - Do not edit ***/ #include #include #ifndef __WIDL_SHOBJIDL_H #define __WIDL_SHOBJIDL_H #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #ifndef __IPersistFolder_FWD_DEFINED__ #define __IPersistFolder_FWD_DEFINED__ typedef struct IPersistFolder IPersistFolder; #endif typedef IPersistFolder *LPPERSISTFOLDER; /***************************************************************************** * IPersistFolder interface */ #ifndef __IPersistFolder_INTERFACE_DEFINED__ #define __IPersistFolder_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistFolder : public IPersist { virtual HRESULT STDMETHODCALLTYPE Initialize( LPCITEMIDLIST pidl) = 0; }; #else typedef struct IPersistFolderVtbl IPersistFolderVtbl; struct IPersistFolder { const IPersistFolderVtbl* lpVtbl; }; struct IPersistFolderVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPersistFolder* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPersistFolder* This); ULONG (STDMETHODCALLTYPE *Release)( IPersistFolder* This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IPersistFolder* This, CLSID* pClassID); /*** IPersistFolder methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IPersistFolder* This, LPCITEMIDLIST pidl); }; /*** IUnknown methods ***/ #define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p) #define IPersistFolder_Release(p) (p)->lpVtbl->Release(p) /*** IPersist methods ***/ #define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) /*** IPersistFolder methods ***/ #define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) #endif #define IPersistFolder_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IPersist methods ***/ \ STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \ /*** IPersistFolder methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; HRESULT CALLBACK IPersistFolder_Initialize_Proxy( IPersistFolder* This, LPCITEMIDLIST pidl); void __RPC_STUB IPersistFolder_Initialize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IPersistFolder_INTERFACE_DEFINED__ */ #ifndef __IPersistFolder2_FWD_DEFINED__ #define __IPersistFolder2_FWD_DEFINED__ typedef struct IPersistFolder2 IPersistFolder2; #endif typedef IPersistFolder2 *LPPERSISTFOLDER2; /***************************************************************************** * IPersistFolder2 interface */ #ifndef __IPersistFolder2_INTERFACE_DEFINED__ #define __IPersistFolder2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistFolder2 : public IPersistFolder { virtual HRESULT STDMETHODCALLTYPE GetCurFolder( LPITEMIDLIST* ppidl) = 0; }; #else typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl; struct IPersistFolder2 { const IPersistFolder2Vtbl* lpVtbl; }; struct IPersistFolder2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPersistFolder2* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPersistFolder2* This); ULONG (STDMETHODCALLTYPE *Release)( IPersistFolder2* This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IPersistFolder2* This, CLSID* pClassID); /*** IPersistFolder methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IPersistFolder2* This, LPCITEMIDLIST pidl); /*** IPersistFolder2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetCurFolder)( IPersistFolder2* This, LPITEMIDLIST* ppidl); }; /*** IUnknown methods ***/ #define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p) #define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p) /*** IPersist methods ***/ #define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) /*** IPersistFolder methods ***/ #define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) /*** IPersistFolder2 methods ***/ #define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a) #endif #define IPersistFolder2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IPersist methods ***/ \ STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \ /*** IPersistFolder methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \ /*** IPersistFolder2 methods ***/ \ STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; HRESULT CALLBACK IPersistFolder2_GetCurFolder_Proxy( IPersistFolder2* This, LPITEMIDLIST* ppidl); void __RPC_STUB IPersistFolder2_GetCurFolder_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */ #ifndef __IEnumIDList_FWD_DEFINED__ #define __IEnumIDList_FWD_DEFINED__ typedef struct IEnumIDList IEnumIDList; #endif typedef IEnumIDList *LPENUMIDLIST; /***************************************************************************** * IEnumIDList interface */ #ifndef __IEnumIDList_INTERFACE_DEFINED__ #define __IEnumIDList_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumIDList : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Next( ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( ULONG celt) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( ) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IEnumIDList** ppenum) = 0; }; #else typedef struct IEnumIDListVtbl IEnumIDListVtbl; struct IEnumIDList { const IEnumIDListVtbl* lpVtbl; }; struct IEnumIDListVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IEnumIDList* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IEnumIDList* This); ULONG (STDMETHODCALLTYPE *Release)( IEnumIDList* This); /*** IEnumIDList methods ***/ HRESULT (STDMETHODCALLTYPE *Next)( IEnumIDList* This, ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched); HRESULT (STDMETHODCALLTYPE *Skip)( IEnumIDList* This, ULONG celt); HRESULT (STDMETHODCALLTYPE *Reset)( IEnumIDList* This); HRESULT (STDMETHODCALLTYPE *Clone)( IEnumIDList* This, IEnumIDList** ppenum); }; /*** IUnknown methods ***/ #define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p) #define IEnumIDList_Release(p) (p)->lpVtbl->Release(p) /*** IEnumIDList methods ***/ #define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) #define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a) #define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p) #define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a) #endif #define IEnumIDList_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IEnumIDList methods ***/ \ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE; HRESULT CALLBACK IEnumIDList_Next_Proxy( IEnumIDList* This, ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched); void __RPC_STUB IEnumIDList_Next_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumIDList_Skip_Proxy( IEnumIDList* This, ULONG celt); void __RPC_STUB IEnumIDList_Skip_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumIDList_Reset_Proxy( IEnumIDList* This); void __RPC_STUB IEnumIDList_Reset_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumIDList_Clone_Proxy( IEnumIDList* This, IEnumIDList** ppenum); void __RPC_STUB IEnumIDList_Clone_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IEnumIDList_INTERFACE_DEFINED__ */ #ifndef __IShellFolder_FWD_DEFINED__ #define __IShellFolder_FWD_DEFINED__ typedef struct IShellFolder IShellFolder; #endif 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; #define SFGAO_CANCOPY DROPEFFECT_COPY #define SFGAO_CANMOVE DROPEFFECT_MOVE #define SFGAO_CANLINK DROPEFFECT_LINK #define SFGAO_CANRENAME 0x00000010L #define SFGAO_CANDELETE 0x00000020L #define SFGAO_HASPROPSHEET 0x00000040L #define SFGAO_DROPTARGET 0x00000100L #define SFGAO_CAPABILITYMASK 0x00000177L #define SFGAO_LINK 0x00010000L #define SFGAO_SHARE 0x00020000L #define SFGAO_READONLY 0x00040000L #define SFGAO_GHOSTED 0x00080000L #define SFGAO_HIDDEN 0x00080000L #define SFGAO_DISPLAYATTRMASK 0x000F0000L #define SFGAO_FILESYSANCESTOR 0x10000000L #define SFGAO_FOLDER 0x20000000L #define SFGAO_FILESYSTEM 0x40000000L #define SFGAO_HASSUBFOLDER 0x80000000L #define SFGAO_CONTENTSMASK 0x80000000L #define SFGAO_VALIDATE 0x01000000L #define SFGAO_REMOVABLE 0x02000000L #define SFGAO_COMPRESSED 0x04000000L #define SFGAO_BROWSABLE 0x08000000L #define SFGAO_NONENUMERATED 0x00100000L #define SFGAO_NEWCONTENT 0x00200000L typedef ULONG SFGAOF; /***************************************************************************** * IShellFolder interface */ #ifndef __IShellFolder_INTERFACE_DEFINED__ #define __IShellFolder_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellFolder : public IUnknown { virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) = 0; virtual HRESULT STDMETHODCALLTYPE EnumObjects( HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) = 0; virtual HRESULT STDMETHODCALLTYPE BindToObject( LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) = 0; virtual HRESULT STDMETHODCALLTYPE BindToStorage( LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) = 0; virtual HRESULT STDMETHODCALLTYPE CompareIDs( LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) = 0; virtual HRESULT STDMETHODCALLTYPE CreateViewObject( HWND hwndOwner, REFIID riid, void** ppvOut) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributesOf( UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) = 0; virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf( HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) = 0; virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf( LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) = 0; virtual HRESULT STDMETHODCALLTYPE SetNameOf( HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) = 0; }; #else typedef struct IShellFolderVtbl IShellFolderVtbl; struct IShellFolder { const IShellFolderVtbl* lpVtbl; }; struct IShellFolderVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellFolder* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellFolder* This); ULONG (STDMETHODCALLTYPE *Release)( IShellFolder* This); /*** IShellFolder methods ***/ HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( IShellFolder* This, HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes); HRESULT (STDMETHODCALLTYPE *EnumObjects)( IShellFolder* This, HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList); HRESULT (STDMETHODCALLTYPE *BindToObject)( IShellFolder* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut); HRESULT (STDMETHODCALLTYPE *BindToStorage)( IShellFolder* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj); HRESULT (STDMETHODCALLTYPE *CompareIDs)( IShellFolder* This, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); HRESULT (STDMETHODCALLTYPE *CreateViewObject)( IShellFolder* This, HWND hwndOwner, REFIID riid, void** ppvOut); HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( IShellFolder* This, UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut); HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( IShellFolder* This, HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut); HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( IShellFolder* This, LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName); HRESULT (STDMETHODCALLTYPE *SetNameOf)( IShellFolder* This, HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut); }; /*** IUnknown methods ***/ #define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellFolder_Release(p) (p)->lpVtbl->Release(p) /*** IShellFolder methods ***/ #define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f) #define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c) #define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d) #define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d) #define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c) #define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c) #define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c) #define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f) #define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c) #define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e) #endif #define IShellFolder_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IShellFolder methods ***/ \ STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \ STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \ STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \ STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \ STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \ STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \ STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; HRESULT CALLBACK IShellFolder_ParseDisplayName_Proxy( IShellFolder* This, HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes); void __RPC_STUB IShellFolder_ParseDisplayName_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_EnumObjects_Proxy( IShellFolder* This, HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList); void __RPC_STUB IShellFolder_EnumObjects_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_BindToObject_Proxy( IShellFolder* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut); void __RPC_STUB IShellFolder_BindToObject_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_BindToStorage_Proxy( IShellFolder* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj); void __RPC_STUB IShellFolder_BindToStorage_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_CompareIDs_Proxy( IShellFolder* This, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); void __RPC_STUB IShellFolder_CompareIDs_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_CreateViewObject_Proxy( IShellFolder* This, HWND hwndOwner, REFIID riid, void** ppvOut); void __RPC_STUB IShellFolder_CreateViewObject_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_GetAttributesOf_Proxy( IShellFolder* This, UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut); void __RPC_STUB IShellFolder_GetAttributesOf_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_GetUIObjectOf_Proxy( IShellFolder* This, HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut); void __RPC_STUB IShellFolder_GetUIObjectOf_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_GetDisplayNameOf_Proxy( IShellFolder* This, LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName); void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder_SetNameOf_Proxy( IShellFolder* This, HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut); void __RPC_STUB IShellFolder_SetNameOf_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellFolder_INTERFACE_DEFINED__ */ #ifndef __IEnumExtraSearch_FWD_DEFINED__ #define __IEnumExtraSearch_FWD_DEFINED__ typedef struct IEnumExtraSearch IEnumExtraSearch; #endif typedef IEnumExtraSearch *LPENUMEXTRASEARCH; typedef struct { GUID guidSearch; WCHAR wszFriendlyName[80]; WCHAR wszUrl[2084]; } EXTRASEARCH, *LPEXTRASEARCH; /***************************************************************************** * IEnumExtraSearch interface */ #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__ #define __IEnumExtraSearch_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumExtraSearch : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Next( ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) = 0; virtual HRESULT STDMETHODCALLTYPE Skip( ULONG celt) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( ) = 0; virtual HRESULT STDMETHODCALLTYPE Clone( IEnumExtraSearch** ppenum) = 0; }; #else typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl; struct IEnumExtraSearch { const IEnumExtraSearchVtbl* lpVtbl; }; struct IEnumExtraSearchVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IEnumExtraSearch* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IEnumExtraSearch* This); ULONG (STDMETHODCALLTYPE *Release)( IEnumExtraSearch* This); /*** IEnumExtraSearch methods ***/ HRESULT (STDMETHODCALLTYPE *Next)( IEnumExtraSearch* This, ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched); HRESULT (STDMETHODCALLTYPE *Skip)( IEnumExtraSearch* This, ULONG celt); HRESULT (STDMETHODCALLTYPE *Reset)( IEnumExtraSearch* This); HRESULT (STDMETHODCALLTYPE *Clone)( IEnumExtraSearch* This, IEnumExtraSearch** ppenum); }; /*** IUnknown methods ***/ #define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p) #define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p) /*** IEnumExtraSearch methods ***/ #define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) #define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a) #define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p) #define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a) #endif #define IEnumExtraSearch_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IEnumExtraSearch methods ***/ \ STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \ STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE; HRESULT CALLBACK IEnumExtraSearch_Next_Proxy( IEnumExtraSearch* This, ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched); void __RPC_STUB IEnumExtraSearch_Next_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumExtraSearch_Skip_Proxy( IEnumExtraSearch* This, ULONG celt); void __RPC_STUB IEnumExtraSearch_Skip_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumExtraSearch_Reset_Proxy( IEnumExtraSearch* This); void __RPC_STUB IEnumExtraSearch_Reset_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IEnumExtraSearch_Clone_Proxy( IEnumExtraSearch* This, IEnumExtraSearch** ppenum); void __RPC_STUB IEnumExtraSearch_Clone_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */ #ifndef __IShellFolder2_FWD_DEFINED__ #define __IShellFolder2_FWD_DEFINED__ typedef struct IShellFolder2 IShellFolder2; #endif typedef enum { SHCOLSTATE_TYPE_STR = 0x1, SHCOLSTATE_TYPE_INT = 0x2, SHCOLSTATE_TYPE_DATE = 0x3, SHCOLSTATE_TYPEMASK = 0xf, SHCOLSTATE_ONBYDEFAULT = 0x10, SHCOLSTATE_SLOW = 0x20, SHCOLSTATE_EXTENDED = 0x40, SHCOLSTATE_SECONDARYUI = 0x80, SHCOLSTATE_HIDDEN = 0x100, SHCOLSTATE_PREFER_VARCMP = 0x200 } SHCOLSTATE; typedef DWORD SHCOLSTATEF; typedef struct { GUID fmtid; DWORD pid; } SHCOLUMNID, *LPSHCOLUMNID; typedef const SHCOLUMNID *LPCSHCOLUMNID; /***************************************************************************** * IShellFolder2 interface */ #ifndef __IShellFolder2_INTERFACE_DEFINED__ #define __IShellFolder2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellFolder2 : public IShellFolder { virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID( GUID* lpguid) = 0; virtual HRESULT STDMETHODCALLTYPE EnumSearches( IEnumExtraSearch** ppenum) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn( DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState( UINT iColumn, SHCOLSTATEF* pcsFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetDetailsEx( LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) = 0; virtual HRESULT STDMETHODCALLTYPE GetDetailsOf( LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) = 0; virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID( UINT iColumn, SHCOLUMNID* pscid) = 0; }; #else typedef struct IShellFolder2Vtbl IShellFolder2Vtbl; struct IShellFolder2 { const IShellFolder2Vtbl* lpVtbl; }; struct IShellFolder2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellFolder2* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellFolder2* This); ULONG (STDMETHODCALLTYPE *Release)( IShellFolder2* This); /*** IShellFolder methods ***/ HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( IShellFolder2* This, HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes); HRESULT (STDMETHODCALLTYPE *EnumObjects)( IShellFolder2* This, HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList); HRESULT (STDMETHODCALLTYPE *BindToObject)( IShellFolder2* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut); HRESULT (STDMETHODCALLTYPE *BindToStorage)( IShellFolder2* This, LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj); HRESULT (STDMETHODCALLTYPE *CompareIDs)( IShellFolder2* This, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); HRESULT (STDMETHODCALLTYPE *CreateViewObject)( IShellFolder2* This, HWND hwndOwner, REFIID riid, void** ppvOut); HRESULT (STDMETHODCALLTYPE *GetAttributesOf)( IShellFolder2* This, UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut); HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)( IShellFolder2* This, HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut); HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)( IShellFolder2* This, LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName); HRESULT (STDMETHODCALLTYPE *SetNameOf)( IShellFolder2* This, HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut); /*** IShellFolder2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)( IShellFolder2* This, GUID* lpguid); HRESULT (STDMETHODCALLTYPE *EnumSearches)( IShellFolder2* This, IEnumExtraSearch** ppenum); HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)( IShellFolder2* This, DWORD dwReserved, ULONG* pSort, ULONG* pDisplay); HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)( IShellFolder2* This, UINT iColumn, SHCOLSTATEF* pcsFlags); HRESULT (STDMETHODCALLTYPE *GetDetailsEx)( IShellFolder2* This, LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv); HRESULT (STDMETHODCALLTYPE *GetDetailsOf)( IShellFolder2* This, LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd); HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)( IShellFolder2* This, UINT iColumn, SHCOLUMNID* pscid); }; /*** IUnknown methods ***/ #define IShellFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellFolder2_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellFolder2_Release(p) (p)->lpVtbl->Release(p) /*** IShellFolder methods ***/ #define IShellFolder2_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f) #define IShellFolder2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c) #define IShellFolder2_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d) #define IShellFolder2_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d) #define IShellFolder2_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c) #define IShellFolder2_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c) #define IShellFolder2_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c) #define IShellFolder2_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f) #define IShellFolder2_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c) #define IShellFolder2_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e) /*** IShellFolder2 methods ***/ #define IShellFolder2_GetDefaultSearchGUID(p,a) (p)->lpVtbl->GetDefaultSearchGUID(p,a) #define IShellFolder2_EnumSearches(p,a) (p)->lpVtbl->EnumSearches(p,a) #define IShellFolder2_GetDefaultColumn(p,a,b,c) (p)->lpVtbl->GetDefaultColumn(p,a,b,c) #define IShellFolder2_GetDefaultColumnState(p,a,b) (p)->lpVtbl->GetDefaultColumnState(p,a,b) #define IShellFolder2_GetDetailsEx(p,a,b,c) (p)->lpVtbl->GetDetailsEx(p,a,b,c) #define IShellFolder2_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c) #define IShellFolder2_MapColumnToSCID(p,a,b) (p)->lpVtbl->MapColumnToSCID(p,a,b) #endif #define IShellFolder2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IShellFolder methods ***/ \ STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \ STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \ STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \ STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \ STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \ STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \ STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \ STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; \ /*** IShellFolder2 methods ***/ \ STDMETHOD_(HRESULT,GetDefaultSearchGUID)(THIS_ GUID* lpguid) PURE; \ STDMETHOD_(HRESULT,EnumSearches)(THIS_ IEnumExtraSearch** ppenum) PURE; \ STDMETHOD_(HRESULT,GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) PURE; \ STDMETHOD_(HRESULT,GetDefaultColumnState)(THIS_ UINT iColumn, SHCOLSTATEF* pcsFlags) PURE; \ STDMETHOD_(HRESULT,GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) PURE; \ STDMETHOD_(HRESULT,GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) PURE; \ STDMETHOD_(HRESULT,MapColumnToSCID)(THIS_ UINT iColumn, SHCOLUMNID* pscid) PURE; HRESULT CALLBACK IShellFolder2_GetDefaultSearchGUID_Proxy( IShellFolder2* This, GUID* lpguid); void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_EnumSearches_Proxy( IShellFolder2* This, IEnumExtraSearch** ppenum); void __RPC_STUB IShellFolder2_EnumSearches_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_GetDefaultColumn_Proxy( IShellFolder2* This, DWORD dwReserved, ULONG* pSort, ULONG* pDisplay); void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_GetDefaultColumnState_Proxy( IShellFolder2* This, UINT iColumn, SHCOLSTATEF* pcsFlags); void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_GetDetailsEx_Proxy( IShellFolder2* This, LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv); void __RPC_STUB IShellFolder2_GetDetailsEx_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_GetDetailsOf_Proxy( IShellFolder2* This, LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd); void __RPC_STUB IShellFolder2_GetDetailsOf_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellFolder2_MapColumnToSCID_Proxy( IShellFolder2* This, UINT iColumn, SHCOLUMNID* pscid); void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellFolder2_INTERFACE_DEFINED__ */ typedef char *LPVIEWSETTINGS; typedef enum { FWF_AUTOARRANGE = 0x1, FWF_ABBREVIATEDNAMES = 0x2, FWF_SNAPTOGRID = 0x4, FWF_OWNERDATA = 0x8, FWF_BESTFITWINDOW = 0x10, FWF_DESKTOP = 0x20, FWF_SINGLESEL = 0x40, FWF_NOSUBFOLDERS = 0x80, FWF_TRANSPARENT = 0x100, FWF_NOCLIENTEDGE = 0x200, FWF_NOSCROLL = 0x400, FWF_ALIGNLEFT = 0x800, FWF_NOICONS = 0x1000, FWF_SHOWSELALWAYS = 0x2000, FWF_NOVISIBLE = 0x4000, FWF_SINGLECLICKACTIVATE = 0x8000, FWF_NOWEBVIEW = 0x10000, FWF_HIDEFILENAMES = 0x20000, FWF_CHECKSELECT = 0x40000 } FOLDERFLAGS; typedef enum { 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_LAST = FVM_THUMBSTRIP } FOLDERVIEWMODE; typedef struct { UINT ViewMode; UINT fFlags; } FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS; typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS; #ifndef __IShellBrowser_FWD_DEFINED__ #define __IShellBrowser_FWD_DEFINED__ typedef struct IShellBrowser IShellBrowser; #endif #ifndef __IShellView_FWD_DEFINED__ #define __IShellView_FWD_DEFINED__ typedef struct IShellView IShellView; #endif typedef IShellView *LPSHELLVIEW; #define SVSI_DESELECT 0x00000000 #define SVSI_SELECT 0x00000001 #define SVSI_EDIT 0x00000003 #define SVSI_DESELECTOTHERS 0x00000004 #define SVSI_ENSUREVISIBLE 0x00000008 #define SVSI_FOCUSED 0x00000010 #define SVSI_TRANSLATEPT 0x00000020 #define SVSI_SELECTIONMARK 0x00000040 #define SVSI_POSITIONITEM 0x00000080 #define SVSI_CHECK 0x00000100 #define SVSI_NOSTATECHANGE 0x80000000 typedef UINT SVSIF; typedef enum { SVGIO_BACKGROUND = 0x0, SVGIO_SELECTION = 0x1, SVGIO_ALLVIEW = 0x2, SVGIO_CHECKED = 0x3, SVGIO_TYPE_MASK = 0xf, SVGIO_FLAG_VIEWORDER = 0x80000000 } SVGIO; typedef enum { SVUIA_DEACTIVATE = 0, SVUIA_ACTIVATE_NOFOCUS = 1, SVUIA_ACTIVATE_FOCUS = 2, SVUIA_INPLACEACTIVATE = 3 } SVUIA_STATUS; #if 0 typedef LPARAM LPFNSVADDPROPSHEETPAGE; #else #include typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE; #endif /***************************************************************************** * IShellView interface */ #ifndef __IShellView_INTERFACE_DEFINED__ #define __IShellView_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellView : public IOleWindow { virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( MSG* pmsg) = 0; virtual HRESULT STDMETHODCALLTYPE EnableModeless( BOOL fEnable) = 0; virtual HRESULT STDMETHODCALLTYPE UIActivate( UINT uState) = 0; virtual HRESULT STDMETHODCALLTYPE Refresh( ) = 0; virtual HRESULT STDMETHODCALLTYPE CreateViewWindow( IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) = 0; virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow( ) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo( LPFOLDERSETTINGS lpfs) = 0; virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages( DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) = 0; virtual HRESULT STDMETHODCALLTYPE SaveViewState( ) = 0; virtual HRESULT STDMETHODCALLTYPE SelectItem( LPCITEMIDLIST pidlItem, SVSIF uFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetItemObject( UINT uItem, REFIID riid, void** ppv) = 0; }; #else typedef struct IShellViewVtbl IShellViewVtbl; struct IShellView { const IShellViewVtbl* lpVtbl; }; struct IShellViewVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellView* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellView* This); ULONG (STDMETHODCALLTYPE *Release)( IShellView* This); /*** IOleWindow methods ***/ HRESULT (STDMETHODCALLTYPE *GetWindow)( IShellView* This, HWND* phwnd); HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( IShellView* This, BOOL fEnterMode); /*** IShellView methods ***/ HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)( IShellView* This, MSG* pmsg); HRESULT (STDMETHODCALLTYPE *EnableModeless)( IShellView* This, BOOL fEnable); HRESULT (STDMETHODCALLTYPE *UIActivate)( IShellView* This, UINT uState); HRESULT (STDMETHODCALLTYPE *Refresh)( IShellView* This); HRESULT (STDMETHODCALLTYPE *CreateViewWindow)( IShellView* This, IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd); HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)( IShellView* This); HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)( IShellView* This, LPFOLDERSETTINGS lpfs); HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)( IShellView* This, DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam); HRESULT (STDMETHODCALLTYPE *SaveViewState)( IShellView* This); HRESULT (STDMETHODCALLTYPE *SelectItem)( IShellView* This, LPCITEMIDLIST pidlItem, SVSIF uFlags); HRESULT (STDMETHODCALLTYPE *GetItemObject)( IShellView* This, UINT uItem, REFIID riid, void** ppv); }; /*** IUnknown methods ***/ #define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellView_Release(p) (p)->lpVtbl->Release(p) /*** IOleWindow methods ***/ #define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a) #define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a) /*** IShellView methods ***/ #define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a) #define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a) #define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a) #define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p) #define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e) #define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p) #define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a) #define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c) #define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p) #define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b) #define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c) #endif #define IShellView_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IOleWindow methods ***/ \ STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \ STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \ /*** IShellView methods ***/ \ STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ MSG* pmsg) PURE; \ STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \ STDMETHOD_(HRESULT,UIActivate)(THIS_ UINT uState) PURE; \ STDMETHOD_(HRESULT,Refresh)(THIS) PURE; \ STDMETHOD_(HRESULT,CreateViewWindow)(THIS_ IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) PURE; \ STDMETHOD_(HRESULT,DestroyViewWindow)(THIS) PURE; \ STDMETHOD_(HRESULT,GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \ STDMETHOD_(HRESULT,AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) PURE; \ STDMETHOD_(HRESULT,SaveViewState)(THIS) PURE; \ STDMETHOD_(HRESULT,SelectItem)(THIS_ LPCITEMIDLIST pidlItem, SVSIF uFlags) PURE; \ STDMETHOD_(HRESULT,GetItemObject)(THIS_ UINT uItem, REFIID riid, void** ppv) PURE; HRESULT CALLBACK IShellView_TranslateAccelerator_Proxy( IShellView* This, MSG* pmsg); void __RPC_STUB IShellView_TranslateAccelerator_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_EnableModeless_Proxy( IShellView* This, BOOL fEnable); void __RPC_STUB IShellView_EnableModeless_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_UIActivate_Proxy( IShellView* This, UINT uState); void __RPC_STUB IShellView_UIActivate_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_Refresh_Proxy( IShellView* This); void __RPC_STUB IShellView_Refresh_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_CreateViewWindow_Proxy( IShellView* This, IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd); void __RPC_STUB IShellView_CreateViewWindow_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_DestroyViewWindow_Proxy( IShellView* This); void __RPC_STUB IShellView_DestroyViewWindow_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_GetCurrentInfo_Proxy( IShellView* This, LPFOLDERSETTINGS lpfs); void __RPC_STUB IShellView_GetCurrentInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_SaveViewState_Proxy( IShellView* This); void __RPC_STUB IShellView_SaveViewState_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_SelectItem_Proxy( IShellView* This, LPCITEMIDLIST pidlItem, SVSIF uFlags); void __RPC_STUB IShellView_SelectItem_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellView_GetItemObject_Proxy( IShellView* This, UINT uItem, REFIID riid, void** ppv); void __RPC_STUB IShellView_GetItemObject_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellView_INTERFACE_DEFINED__ */ typedef IShellBrowser *LPSHELLBROWSER; #define SBSP_DEFBROWSER 0x00000000 #define SBSP_SAMEBROWSER 0x00000001 #define SBSP_NEWBROWSER 0x00000002 #define SBSP_DEFMODE 0x00000000 #define SBSP_OPENMODE 0x00000010 #define SBSP_EXPLOREMODE 0x00000020 #define SBSP_HELPMODE 0x00000040 #define SBSP_NOTRANSFERHIST 0x00000080 #define SBSP_ABSOLUTE 0x00000000 #define SBSP_RELATIVE 0x00001000 #define SBSP_PARENT 0x00002000 #define SBSP_NAVIGATEBACK 0x00004000 #define SBSP_NAVIGATEFORWARD 0x00008000 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000 #define SBSP_NOAUTOSELECT 0x04000000 #define SBSP_WRITENOHISTORY 0x08000000 #define SBSP_REDIRECT 0x40000000 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000 #define FCW_STATUS 0x0001 #define FCW_TOOLBAR 0x0002 #define FCW_TREE 0x0003 #define FCW_INTERNETBAR 0x0006 #define FCW_PROGRESS 0x0008 #define FCT_MERGE 0x0001 #define FCT_CONFIGABLE 0x0002 #define FCT_ADDTOEND 0x0004 #if 0 typedef LPARAM LPTBBUTTONSB; #else #include typedef LPTBBUTTON LPTBBUTTONSB; #endif /***************************************************************************** * IShellBrowser interface */ #ifndef __IShellBrowser_INTERFACE_DEFINED__ #define __IShellBrowser_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellBrowser : public IOleWindow { virtual HRESULT STDMETHODCALLTYPE InsertMenusSB( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0; virtual HRESULT STDMETHODCALLTYPE SetMenuSB( HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB( HMENU hmenuShared) = 0; virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB( LPCOLESTR pszStatusText) = 0; virtual HRESULT STDMETHODCALLTYPE EnableModelessSB( BOOL fEnable) = 0; virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB( MSG* pmsg, WORD wID) = 0; virtual HRESULT STDMETHODCALLTYPE BrowseObject( LPCITEMIDLIST pidl, UINT wFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetViewStateStream( DWORD grfMode, IStream** ppStrm) = 0; virtual HRESULT STDMETHODCALLTYPE GetControlWindow( UINT id, HWND* phwnd) = 0; virtual HRESULT STDMETHODCALLTYPE SendControlMsg( UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) = 0; virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView( IShellView** ppshv) = 0; virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive( IShellView* pshv) = 0; virtual HRESULT STDMETHODCALLTYPE SetToolbarItems( LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) = 0; }; #else typedef struct IShellBrowserVtbl IShellBrowserVtbl; struct IShellBrowser { const IShellBrowserVtbl* lpVtbl; }; struct IShellBrowserVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellBrowser* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellBrowser* This); ULONG (STDMETHODCALLTYPE *Release)( IShellBrowser* This); /*** IOleWindow methods ***/ HRESULT (STDMETHODCALLTYPE *GetWindow)( IShellBrowser* This, HWND* phwnd); HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( IShellBrowser* This, BOOL fEnterMode); /*** IShellBrowser methods ***/ HRESULT (STDMETHODCALLTYPE *InsertMenusSB)( IShellBrowser* This, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); HRESULT (STDMETHODCALLTYPE *SetMenuSB)( IShellBrowser* This, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject); HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)( IShellBrowser* This, HMENU hmenuShared); HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)( IShellBrowser* This, LPCOLESTR pszStatusText); HRESULT (STDMETHODCALLTYPE *EnableModelessSB)( IShellBrowser* This, BOOL fEnable); HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)( IShellBrowser* This, MSG* pmsg, WORD wID); HRESULT (STDMETHODCALLTYPE *BrowseObject)( IShellBrowser* This, LPCITEMIDLIST pidl, UINT wFlags); HRESULT (STDMETHODCALLTYPE *GetViewStateStream)( IShellBrowser* This, DWORD grfMode, IStream** ppStrm); HRESULT (STDMETHODCALLTYPE *GetControlWindow)( IShellBrowser* This, UINT id, HWND* phwnd); HRESULT (STDMETHODCALLTYPE *SendControlMsg)( IShellBrowser* This, UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret); HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)( IShellBrowser* This, IShellView** ppshv); HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)( IShellBrowser* This, IShellView* pshv); HRESULT (STDMETHODCALLTYPE *SetToolbarItems)( IShellBrowser* This, LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags); }; /*** IUnknown methods ***/ #define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellBrowser_Release(p) (p)->lpVtbl->Release(p) /*** IOleWindow methods ***/ #define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a) #define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a) /*** IShellBrowser methods ***/ #define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b) #define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c) #define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a) #define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a) #define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a) #define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b) #define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b) #define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b) #define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b) #define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e) #define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a) #define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a) #define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c) #endif #define IShellBrowser_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IOleWindow methods ***/ \ STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \ STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \ /*** IShellBrowser methods ***/ \ STDMETHOD_(HRESULT,InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \ STDMETHOD_(HRESULT,SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \ STDMETHOD_(HRESULT,RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \ STDMETHOD_(HRESULT,SetStatusTextSB)(THIS_ LPCOLESTR pszStatusText) PURE; \ STDMETHOD_(HRESULT,EnableModelessSB)(THIS_ BOOL fEnable) PURE; \ STDMETHOD_(HRESULT,TranslateAcceleratorSB)(THIS_ MSG* pmsg, WORD wID) PURE; \ STDMETHOD_(HRESULT,BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \ STDMETHOD_(HRESULT,GetViewStateStream)(THIS_ DWORD grfMode, IStream** ppStrm) PURE; \ STDMETHOD_(HRESULT,GetControlWindow)(THIS_ UINT id, HWND* phwnd) PURE; \ STDMETHOD_(HRESULT,SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) PURE; \ STDMETHOD_(HRESULT,QueryActiveShellView)(THIS_ IShellView** ppshv) PURE; \ STDMETHOD_(HRESULT,OnViewWindowActive)(THIS_ IShellView* pshv) PURE; \ STDMETHOD_(HRESULT,SetToolbarItems)(THIS_ LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) PURE; HRESULT CALLBACK IShellBrowser_InsertMenusSB_Proxy( IShellBrowser* This, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); void __RPC_STUB IShellBrowser_InsertMenusSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_SetMenuSB_Proxy( IShellBrowser* This, HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject); void __RPC_STUB IShellBrowser_SetMenuSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_RemoveMenusSB_Proxy( IShellBrowser* This, HMENU hmenuShared); void __RPC_STUB IShellBrowser_RemoveMenusSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_SetStatusTextSB_Proxy( IShellBrowser* This, LPCOLESTR pszStatusText); void __RPC_STUB IShellBrowser_SetStatusTextSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_EnableModelessSB_Proxy( IShellBrowser* This, BOOL fEnable); void __RPC_STUB IShellBrowser_EnableModelessSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_TranslateAcceleratorSB_Proxy( IShellBrowser* This, MSG* pmsg, WORD wID); void __RPC_STUB IShellBrowser_TranslateAcceleratorSB_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_BrowseObject_Proxy( IShellBrowser* This, LPCITEMIDLIST pidl, UINT wFlags); void __RPC_STUB IShellBrowser_BrowseObject_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_GetViewStateStream_Proxy( IShellBrowser* This, DWORD grfMode, IStream** ppStrm); void __RPC_STUB IShellBrowser_GetViewStateStream_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_GetControlWindow_Proxy( IShellBrowser* This, UINT id, HWND* phwnd); void __RPC_STUB IShellBrowser_GetControlWindow_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_QueryActiveShellView_Proxy( IShellBrowser* This, IShellView** ppshv); void __RPC_STUB IShellBrowser_QueryActiveShellView_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellBrowser_OnViewWindowActive_Proxy( IShellBrowser* This, IShellView* pshv); void __RPC_STUB IShellBrowser_OnViewWindowActive_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellBrowser_INTERFACE_DEFINED__ */ #ifndef __IShellLinkA_FWD_DEFINED__ #define __IShellLinkA_FWD_DEFINED__ typedef struct IShellLinkA IShellLinkA; #endif typedef enum { SLR_NO_UI = 0x1, SLR_ANY_MATCH = 0x2, SLR_UPDATE = 0x4, SLR_NOUPDATE = 0x8, SLR_NOSEARCH = 0x10, SLR_NOTRACK = 0x20, SLR_NOLINKINFO = 0x40, SLR_INVOKE_MSI = 0x80, SLR_NO_UI_WITH_MSG_PUMP = 0x101 } SLR_FLAGS; typedef enum { SLGP_SHORTPATH = 0x1, SLGP_UNCPRIORITY = 0x2, SLGP_RAWPATH = 0x4 } SLGP_FLAGS; /***************************************************************************** * IShellLinkA interface */ #ifndef __IShellLinkA_INTERFACE_DEFINED__ #define __IShellLinkA_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellLinkA : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetPath( LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetIDList( LPITEMIDLIST* ppidl) = 0; virtual HRESULT STDMETHODCALLTYPE SetIDList( LPCITEMIDLIST pidl) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescription( LPSTR pszName, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetDescription( LPCSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory( LPSTR pszDir, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory( LPCSTR pszDir) = 0; virtual HRESULT STDMETHODCALLTYPE GetArguments( LPSTR pszArgs, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetArguments( LPCSTR pszArgs) = 0; virtual HRESULT STDMETHODCALLTYPE GetHotkey( WORD* pwHotkey) = 0; virtual HRESULT STDMETHODCALLTYPE SetHotkey( WORD wHotkey) = 0; virtual HRESULT STDMETHODCALLTYPE GetShowCmd( int* piShowCmd) = 0; virtual HRESULT STDMETHODCALLTYPE SetShowCmd( int iShowCmd) = 0; virtual HRESULT STDMETHODCALLTYPE GetIconLocation( LPSTR pszIconPath, int cch, int* piIcon) = 0; virtual HRESULT STDMETHODCALLTYPE SetIconLocation( LPCSTR pszIconPath, int iIcon) = 0; virtual HRESULT STDMETHODCALLTYPE SetRelativePath( LPCSTR pszPathRel, DWORD dwReserved) = 0; virtual HRESULT STDMETHODCALLTYPE Resolve( HWND hwnd, DWORD fFlags) = 0; virtual HRESULT STDMETHODCALLTYPE SetPath( LPCSTR pszFile) = 0; }; #else typedef struct IShellLinkAVtbl IShellLinkAVtbl; struct IShellLinkA { const IShellLinkAVtbl* lpVtbl; }; struct IShellLinkAVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellLinkA* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellLinkA* This); ULONG (STDMETHODCALLTYPE *Release)( IShellLinkA* This); /*** IShellLinkA methods ***/ HRESULT (STDMETHODCALLTYPE *GetPath)( IShellLinkA* This, LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags); HRESULT (STDMETHODCALLTYPE *GetIDList)( IShellLinkA* This, LPITEMIDLIST* ppidl); HRESULT (STDMETHODCALLTYPE *SetIDList)( IShellLinkA* This, LPCITEMIDLIST pidl); HRESULT (STDMETHODCALLTYPE *GetDescription)( IShellLinkA* This, LPSTR pszName, int cch); HRESULT (STDMETHODCALLTYPE *SetDescription)( IShellLinkA* This, LPCSTR pszName); HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)( IShellLinkA* This, LPSTR pszDir, int cch); HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)( IShellLinkA* This, LPCSTR pszDir); HRESULT (STDMETHODCALLTYPE *GetArguments)( IShellLinkA* This, LPSTR pszArgs, int cch); HRESULT (STDMETHODCALLTYPE *SetArguments)( IShellLinkA* This, LPCSTR pszArgs); HRESULT (STDMETHODCALLTYPE *GetHotkey)( IShellLinkA* This, WORD* pwHotkey); HRESULT (STDMETHODCALLTYPE *SetHotkey)( IShellLinkA* This, WORD wHotkey); HRESULT (STDMETHODCALLTYPE *GetShowCmd)( IShellLinkA* This, int* piShowCmd); HRESULT (STDMETHODCALLTYPE *SetShowCmd)( IShellLinkA* This, int iShowCmd); HRESULT (STDMETHODCALLTYPE *GetIconLocation)( IShellLinkA* This, LPSTR pszIconPath, int cch, int* piIcon); HRESULT (STDMETHODCALLTYPE *SetIconLocation)( IShellLinkA* This, LPCSTR pszIconPath, int iIcon); HRESULT (STDMETHODCALLTYPE *SetRelativePath)( IShellLinkA* This, LPCSTR pszPathRel, DWORD dwReserved); HRESULT (STDMETHODCALLTYPE *Resolve)( IShellLinkA* This, HWND hwnd, DWORD fFlags); HRESULT (STDMETHODCALLTYPE *SetPath)( IShellLinkA* This, LPCSTR pszFile); }; /*** IUnknown methods ***/ #define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellLinkA_Release(p) (p)->lpVtbl->Release(p) /*** IShellLinkA methods ***/ #define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d) #define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a) #define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a) #define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b) #define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a) #define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b) #define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a) #define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b) #define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a) #define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a) #define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a) #define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a) #define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a) #define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c) #define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b) #define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b) #define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b) #define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a) #endif #define IShellLinkA_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IShellLinkA methods ***/ \ STDMETHOD_(HRESULT,GetPath)(THIS_ LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) PURE; \ STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \ STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \ STDMETHOD_(HRESULT,GetDescription)(THIS_ LPSTR pszName, int cch) PURE; \ STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCSTR pszName) PURE; \ STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPSTR pszDir, int cch) PURE; \ STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \ STDMETHOD_(HRESULT,GetArguments)(THIS_ LPSTR pszArgs, int cch) PURE; \ STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCSTR pszArgs) PURE; \ STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \ STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \ STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \ STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \ STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPSTR pszIconPath, int cch, int* piIcon) PURE; \ STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCSTR pszIconPath, int iIcon) PURE; \ STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \ STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \ STDMETHOD_(HRESULT,SetPath)(THIS_ LPCSTR pszFile) PURE; HRESULT CALLBACK IShellLinkA_GetPath_Proxy( IShellLinkA* This, LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags); void __RPC_STUB IShellLinkA_GetPath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetIDList_Proxy( IShellLinkA* This, LPITEMIDLIST* ppidl); void __RPC_STUB IShellLinkA_GetIDList_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetIDList_Proxy( IShellLinkA* This, LPCITEMIDLIST pidl); void __RPC_STUB IShellLinkA_SetIDList_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetDescription_Proxy( IShellLinkA* This, LPSTR pszName, int cch); void __RPC_STUB IShellLinkA_GetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetDescription_Proxy( IShellLinkA* This, LPCSTR pszName); void __RPC_STUB IShellLinkA_SetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetWorkingDirectory_Proxy( IShellLinkA* This, LPSTR pszDir, int cch); void __RPC_STUB IShellLinkA_GetWorkingDirectory_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetWorkingDirectory_Proxy( IShellLinkA* This, LPCSTR pszDir); void __RPC_STUB IShellLinkA_SetWorkingDirectory_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetArguments_Proxy( IShellLinkA* This, LPSTR pszArgs, int cch); void __RPC_STUB IShellLinkA_GetArguments_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetArguments_Proxy( IShellLinkA* This, LPCSTR pszArgs); void __RPC_STUB IShellLinkA_SetArguments_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetHotkey_Proxy( IShellLinkA* This, WORD* pwHotkey); void __RPC_STUB IShellLinkA_GetHotkey_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetHotkey_Proxy( IShellLinkA* This, WORD wHotkey); void __RPC_STUB IShellLinkA_SetHotkey_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetShowCmd_Proxy( IShellLinkA* This, int* piShowCmd); void __RPC_STUB IShellLinkA_GetShowCmd_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetShowCmd_Proxy( IShellLinkA* This, int iShowCmd); void __RPC_STUB IShellLinkA_SetShowCmd_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_GetIconLocation_Proxy( IShellLinkA* This, LPSTR pszIconPath, int cch, int* piIcon); void __RPC_STUB IShellLinkA_GetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetIconLocation_Proxy( IShellLinkA* This, LPCSTR pszIconPath, int iIcon); void __RPC_STUB IShellLinkA_SetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetRelativePath_Proxy( IShellLinkA* This, LPCSTR pszPathRel, DWORD dwReserved); void __RPC_STUB IShellLinkA_SetRelativePath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_Resolve_Proxy( IShellLinkA* This, HWND hwnd, DWORD fFlags); void __RPC_STUB IShellLinkA_Resolve_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkA_SetPath_Proxy( IShellLinkA* This, LPCSTR pszFile); void __RPC_STUB IShellLinkA_SetPath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellLinkA_INTERFACE_DEFINED__ */ #ifndef __IShellLinkW_FWD_DEFINED__ #define __IShellLinkW_FWD_DEFINED__ typedef struct IShellLinkW IShellLinkW; #endif /***************************************************************************** * IShellLinkW interface */ #ifndef __IShellLinkW_INTERFACE_DEFINED__ #define __IShellLinkW_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellLinkW : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetPath( LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) = 0; virtual HRESULT STDMETHODCALLTYPE GetIDList( LPITEMIDLIST* ppidl) = 0; virtual HRESULT STDMETHODCALLTYPE SetIDList( LPCITEMIDLIST pidl) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescription( LPWSTR pszName, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetDescription( LPCWSTR pszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory( LPWSTR pszDir, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory( LPCWSTR pszDir) = 0; virtual HRESULT STDMETHODCALLTYPE GetArguments( LPWSTR pszArgs, int cch) = 0; virtual HRESULT STDMETHODCALLTYPE SetArguments( LPCWSTR pszArgs) = 0; virtual HRESULT STDMETHODCALLTYPE GetHotkey( WORD* pwHotkey) = 0; virtual HRESULT STDMETHODCALLTYPE SetHotkey( WORD wHotkey) = 0; virtual HRESULT STDMETHODCALLTYPE GetShowCmd( int* piShowCmd) = 0; virtual HRESULT STDMETHODCALLTYPE SetShowCmd( int iShowCmd) = 0; virtual HRESULT STDMETHODCALLTYPE GetIconLocation( LPWSTR pszIconPath, int cch, int* piIcon) = 0; virtual HRESULT STDMETHODCALLTYPE SetIconLocation( LPCWSTR pszIconPath, int iIcon) = 0; virtual HRESULT STDMETHODCALLTYPE SetRelativePath( LPCWSTR pszPathRel, DWORD dwReserved) = 0; virtual HRESULT STDMETHODCALLTYPE Resolve( HWND hwnd, DWORD fFlags) = 0; virtual HRESULT STDMETHODCALLTYPE SetPath( LPCWSTR pszFile) = 0; }; #else typedef struct IShellLinkWVtbl IShellLinkWVtbl; struct IShellLinkW { const IShellLinkWVtbl* lpVtbl; }; struct IShellLinkWVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellLinkW* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellLinkW* This); ULONG (STDMETHODCALLTYPE *Release)( IShellLinkW* This); /*** IShellLinkW methods ***/ HRESULT (STDMETHODCALLTYPE *GetPath)( IShellLinkW* This, LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags); HRESULT (STDMETHODCALLTYPE *GetIDList)( IShellLinkW* This, LPITEMIDLIST* ppidl); HRESULT (STDMETHODCALLTYPE *SetIDList)( IShellLinkW* This, LPCITEMIDLIST pidl); HRESULT (STDMETHODCALLTYPE *GetDescription)( IShellLinkW* This, LPWSTR pszName, int cch); HRESULT (STDMETHODCALLTYPE *SetDescription)( IShellLinkW* This, LPCWSTR pszName); HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)( IShellLinkW* This, LPWSTR pszDir, int cch); HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)( IShellLinkW* This, LPCWSTR pszDir); HRESULT (STDMETHODCALLTYPE *GetArguments)( IShellLinkW* This, LPWSTR pszArgs, int cch); HRESULT (STDMETHODCALLTYPE *SetArguments)( IShellLinkW* This, LPCWSTR pszArgs); HRESULT (STDMETHODCALLTYPE *GetHotkey)( IShellLinkW* This, WORD* pwHotkey); HRESULT (STDMETHODCALLTYPE *SetHotkey)( IShellLinkW* This, WORD wHotkey); HRESULT (STDMETHODCALLTYPE *GetShowCmd)( IShellLinkW* This, int* piShowCmd); HRESULT (STDMETHODCALLTYPE *SetShowCmd)( IShellLinkW* This, int iShowCmd); HRESULT (STDMETHODCALLTYPE *GetIconLocation)( IShellLinkW* This, LPWSTR pszIconPath, int cch, int* piIcon); HRESULT (STDMETHODCALLTYPE *SetIconLocation)( IShellLinkW* This, LPCWSTR pszIconPath, int iIcon); HRESULT (STDMETHODCALLTYPE *SetRelativePath)( IShellLinkW* This, LPCWSTR pszPathRel, DWORD dwReserved); HRESULT (STDMETHODCALLTYPE *Resolve)( IShellLinkW* This, HWND hwnd, DWORD fFlags); HRESULT (STDMETHODCALLTYPE *SetPath)( IShellLinkW* This, LPCWSTR pszFile); }; /*** IUnknown methods ***/ #define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellLinkW_Release(p) (p)->lpVtbl->Release(p) /*** IShellLinkW methods ***/ #define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d) #define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a) #define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a) #define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b) #define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a) #define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b) #define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a) #define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b) #define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a) #define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a) #define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a) #define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a) #define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a) #define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c) #define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b) #define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b) #define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b) #define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a) #endif #define IShellLinkW_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IShellLinkW methods ***/ \ STDMETHOD_(HRESULT,GetPath)(THIS_ LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) PURE; \ STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \ STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \ STDMETHOD_(HRESULT,GetDescription)(THIS_ LPWSTR pszName, int cch) PURE; \ STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCWSTR pszName) PURE; \ STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPWSTR pszDir, int cch) PURE; \ STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \ STDMETHOD_(HRESULT,GetArguments)(THIS_ LPWSTR pszArgs, int cch) PURE; \ STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \ STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \ STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \ STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \ STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \ STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPWSTR pszIconPath, int cch, int* piIcon) PURE; \ STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCWSTR pszIconPath, int iIcon) PURE; \ STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \ STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \ STDMETHOD_(HRESULT,SetPath)(THIS_ LPCWSTR pszFile) PURE; HRESULT CALLBACK IShellLinkW_GetPath_Proxy( IShellLinkW* This, LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags); void __RPC_STUB IShellLinkW_GetPath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetIDList_Proxy( IShellLinkW* This, LPITEMIDLIST* ppidl); void __RPC_STUB IShellLinkW_GetIDList_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetIDList_Proxy( IShellLinkW* This, LPCITEMIDLIST pidl); void __RPC_STUB IShellLinkW_SetIDList_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetDescription_Proxy( IShellLinkW* This, LPWSTR pszName, int cch); void __RPC_STUB IShellLinkW_GetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetDescription_Proxy( IShellLinkW* This, LPCWSTR pszName); void __RPC_STUB IShellLinkW_SetDescription_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetWorkingDirectory_Proxy( IShellLinkW* This, LPWSTR pszDir, int cch); void __RPC_STUB IShellLinkW_GetWorkingDirectory_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetWorkingDirectory_Proxy( IShellLinkW* This, LPCWSTR pszDir); void __RPC_STUB IShellLinkW_SetWorkingDirectory_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetArguments_Proxy( IShellLinkW* This, LPWSTR pszArgs, int cch); void __RPC_STUB IShellLinkW_GetArguments_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetArguments_Proxy( IShellLinkW* This, LPCWSTR pszArgs); void __RPC_STUB IShellLinkW_SetArguments_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetHotkey_Proxy( IShellLinkW* This, WORD* pwHotkey); void __RPC_STUB IShellLinkW_GetHotkey_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetHotkey_Proxy( IShellLinkW* This, WORD wHotkey); void __RPC_STUB IShellLinkW_SetHotkey_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetShowCmd_Proxy( IShellLinkW* This, int* piShowCmd); void __RPC_STUB IShellLinkW_GetShowCmd_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetShowCmd_Proxy( IShellLinkW* This, int iShowCmd); void __RPC_STUB IShellLinkW_SetShowCmd_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_GetIconLocation_Proxy( IShellLinkW* This, LPWSTR pszIconPath, int cch, int* piIcon); void __RPC_STUB IShellLinkW_GetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetIconLocation_Proxy( IShellLinkW* This, LPCWSTR pszIconPath, int iIcon); void __RPC_STUB IShellLinkW_SetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetRelativePath_Proxy( IShellLinkW* This, LPCWSTR pszPathRel, DWORD dwReserved); void __RPC_STUB IShellLinkW_SetRelativePath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_Resolve_Proxy( IShellLinkW* This, HWND hwnd, DWORD fFlags); void __RPC_STUB IShellLinkW_Resolve_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IShellLinkW_SetPath_Proxy( IShellLinkW* This, LPCWSTR pszFile); void __RPC_STUB IShellLinkW_SetPath_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellLinkW_INTERFACE_DEFINED__ */ #define IShellLink WINELIB_NAME_AW(IShellLink) #ifndef __IShellExtInit_FWD_DEFINED__ #define __IShellExtInit_FWD_DEFINED__ typedef struct IShellExtInit IShellExtInit; #endif typedef IShellExtInit *LPSHELLEXTINIT; /***************************************************************************** * IShellExtInit interface */ #ifndef __IShellExtInit_INTERFACE_DEFINED__ #define __IShellExtInit_INTERFACE_DEFINED__ DEFINE_GUID(IID_IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IShellExtInit : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Initialize( LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) = 0; }; #else typedef struct IShellExtInitVtbl IShellExtInitVtbl; struct IShellExtInit { const IShellExtInitVtbl* lpVtbl; }; struct IShellExtInitVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IShellExtInit* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IShellExtInit* This); ULONG (STDMETHODCALLTYPE *Release)( IShellExtInit* This); /*** IShellExtInit methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IShellExtInit* This, LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID); }; /*** IUnknown methods ***/ #define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p) #define IShellExtInit_Release(p) (p)->lpVtbl->Release(p) /*** IShellExtInit methods ***/ #define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c) #endif #define IShellExtInit_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IShellExtInit methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) PURE; HRESULT CALLBACK IShellExtInit_Initialize_Proxy( IShellExtInit* This, LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID); void __RPC_STUB IShellExtInit_Initialize_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IShellExtInit_INTERFACE_DEFINED__ */ #ifndef __IPersistFolder3_FWD_DEFINED__ #define __IPersistFolder3_FWD_DEFINED__ typedef struct IPersistFolder3 IPersistFolder3; #endif typedef struct { LPITEMIDLIST pidlTargetFolder; WCHAR szTargetParsingName[260]; WCHAR szNetworkProvider[260]; DWORD dwAttributes; int csidl; } PERSIST_FOLDER_TARGET_INFO; /***************************************************************************** * IPersistFolder3 interface */ #ifndef __IPersistFolder3_INTERFACE_DEFINED__ #define __IPersistFolder3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistFolder3 : public IPersistFolder2 { virtual HRESULT STDMETHODCALLTYPE InitializeEx( IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) = 0; virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo( PERSIST_FOLDER_TARGET_INFO* ppfti) = 0; }; #else typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl; struct IPersistFolder3 { const IPersistFolder3Vtbl* lpVtbl; }; struct IPersistFolder3Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IPersistFolder3* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IPersistFolder3* This); ULONG (STDMETHODCALLTYPE *Release)( IPersistFolder3* This); /*** IPersist methods ***/ HRESULT (STDMETHODCALLTYPE *GetClassID)( IPersistFolder3* This, CLSID* pClassID); /*** IPersistFolder methods ***/ HRESULT (STDMETHODCALLTYPE *Initialize)( IPersistFolder3* This, LPCITEMIDLIST pidl); /*** IPersistFolder2 methods ***/ HRESULT (STDMETHODCALLTYPE *GetCurFolder)( IPersistFolder3* This, LPITEMIDLIST* ppidl); /*** IPersistFolder3 methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeEx)( IPersistFolder3* This, IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti); HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)( IPersistFolder3* This, PERSIST_FOLDER_TARGET_INFO* ppfti); }; /*** IUnknown methods ***/ #define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p) #define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p) /*** IPersist methods ***/ #define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) /*** IPersistFolder methods ***/ #define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a) /*** IPersistFolder2 methods ***/ #define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a) /*** IPersistFolder3 methods ***/ #define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c) #define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a) #endif #define IPersistFolder3_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IPersist methods ***/ \ STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \ /*** IPersistFolder methods ***/ \ STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \ /*** IPersistFolder2 methods ***/ \ STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \ /*** IPersistFolder3 methods ***/ \ STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \ STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; HRESULT CALLBACK IPersistFolder3_InitializeEx_Proxy( IPersistFolder3* This, IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti); void __RPC_STUB IPersistFolder3_InitializeEx_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IPersistFolder3_GetFolderTargetInfo_Proxy( IPersistFolder3* This, PERSIST_FOLDER_TARGET_INFO* ppfti); void __RPC_STUB IPersistFolder3_GetFolderTargetInfo_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */ #ifndef __IExtractIconA_FWD_DEFINED__ #define __IExtractIconA_FWD_DEFINED__ typedef struct IExtractIconA IExtractIconA; #endif #define GIL_OPENICON 0x0001 #define GIL_FORSHELL 0x0002 #define GIL_ASYNC 0x0020 #define GIL_DEFAULTICON 0x0040 #define GIL_FORSHORTCUT 0x0080 #define GIL_SIMULATEDOC 0x0001 #define GIL_PERINSTANCE 0x0002 #define GIL_PERCLASS 0x0004 #define GIL_NOTFILENAME 0x0008 #define GIL_DONTCACHE 0x0010 typedef IExtractIconA *LPEXTRACTICONA; /***************************************************************************** * IExtractIconA interface */ #ifndef __IExtractIconA_INTERFACE_DEFINED__ #define __IExtractIconA_INTERFACE_DEFINED__ DEFINE_GUID(IID_IExtractIconA, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IExtractIconA : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetIconLocation( UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Extract( LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) = 0; }; #else typedef struct IExtractIconAVtbl IExtractIconAVtbl; struct IExtractIconA { const IExtractIconAVtbl* lpVtbl; }; struct IExtractIconAVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IExtractIconA* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IExtractIconA* This); ULONG (STDMETHODCALLTYPE *Release)( IExtractIconA* This); /*** IExtractIconA methods ***/ HRESULT (STDMETHODCALLTYPE *GetIconLocation)( IExtractIconA* This, UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags); HRESULT (STDMETHODCALLTYPE *Extract)( IExtractIconA* This, LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize); }; /*** IUnknown methods ***/ #define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p) #define IExtractIconA_Release(p) (p)->lpVtbl->Release(p) /*** IExtractIconA methods ***/ #define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e) #define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e) #endif #define IExtractIconA_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IExtractIconA methods ***/ \ STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \ STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE; HRESULT CALLBACK IExtractIconA_GetIconLocation_Proxy( IExtractIconA* This, UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags); void __RPC_STUB IExtractIconA_GetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IExtractIconA_Extract_Proxy( IExtractIconA* This, LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize); void __RPC_STUB IExtractIconA_Extract_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IExtractIconA_INTERFACE_DEFINED__ */ #ifndef __IExtractIconW_FWD_DEFINED__ #define __IExtractIconW_FWD_DEFINED__ typedef struct IExtractIconW IExtractIconW; #endif typedef IExtractIconW *LPEXTRACTICONW; /***************************************************************************** * IExtractIconW interface */ #ifndef __IExtractIconW_INTERFACE_DEFINED__ #define __IExtractIconW_INTERFACE_DEFINED__ DEFINE_GUID(IID_IExtractIconW, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IExtractIconW : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetIconLocation( UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE Extract( LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) = 0; }; #else typedef struct IExtractIconWVtbl IExtractIconWVtbl; struct IExtractIconW { const IExtractIconWVtbl* lpVtbl; }; struct IExtractIconWVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IExtractIconW* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IExtractIconW* This); ULONG (STDMETHODCALLTYPE *Release)( IExtractIconW* This); /*** IExtractIconW methods ***/ HRESULT (STDMETHODCALLTYPE *GetIconLocation)( IExtractIconW* This, UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags); HRESULT (STDMETHODCALLTYPE *Extract)( IExtractIconW* This, LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize); }; /*** IUnknown methods ***/ #define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p) #define IExtractIconW_Release(p) (p)->lpVtbl->Release(p) /*** IExtractIconW methods ***/ #define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e) #define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e) #endif #define IExtractIconW_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IExtractIconW methods ***/ \ STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \ STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE; HRESULT CALLBACK IExtractIconW_GetIconLocation_Proxy( IExtractIconW* This, UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags); void __RPC_STUB IExtractIconW_GetIconLocation_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IExtractIconW_Extract_Proxy( IExtractIconW* This, LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize); void __RPC_STUB IExtractIconW_Extract_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IExtractIconW_INTERFACE_DEFINED__ */ #define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON) #define IExtractIcon WINELIB_NAME_AW(IExtractIcon) #ifndef __ICommDlgBrowser_FWD_DEFINED__ #define __ICommDlgBrowser_FWD_DEFINED__ typedef struct ICommDlgBrowser ICommDlgBrowser; #endif #define CDBOSC_SETFOCUS 0x00000000 #define CDBOSC_KILLFOCUS 0x00000001 #define CDBOSC_SELCHANGE 0x00000002 #define CDBOSC_RENAME 0x00000003 #define CDBOSC_STATECHANGE 0x00000004 typedef ICommDlgBrowser *LPCOMMDLGBROWSER; /***************************************************************************** * ICommDlgBrowser interface */ #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__ #define __ICommDlgBrowser_INTERFACE_DEFINED__ DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ICommDlgBrowser : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand( IShellView* shv) = 0; virtual HRESULT STDMETHODCALLTYPE OnStateChange( IShellView* shv, ULONG uChange) = 0; virtual HRESULT STDMETHODCALLTYPE IncludeObject( IShellView* shv, LPCITEMIDLIST pidl) = 0; }; #else typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl; struct ICommDlgBrowser { const ICommDlgBrowserVtbl* lpVtbl; }; struct ICommDlgBrowserVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( ICommDlgBrowser* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( ICommDlgBrowser* This); ULONG (STDMETHODCALLTYPE *Release)( ICommDlgBrowser* This); /*** ICommDlgBrowser methods ***/ HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)( ICommDlgBrowser* This, IShellView* shv); HRESULT (STDMETHODCALLTYPE *OnStateChange)( ICommDlgBrowser* This, IShellView* shv, ULONG uChange); HRESULT (STDMETHODCALLTYPE *IncludeObject)( ICommDlgBrowser* This, IShellView* shv, LPCITEMIDLIST pidl); }; /*** IUnknown methods ***/ #define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p) #define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p) /*** ICommDlgBrowser methods ***/ #define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a) #define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b) #define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b) #endif #define ICommDlgBrowser_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** ICommDlgBrowser methods ***/ \ STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \ STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \ STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE; HRESULT CALLBACK ICommDlgBrowser_OnDefaultCommand_Proxy( ICommDlgBrowser* This, IShellView* shv); void __RPC_STUB ICommDlgBrowser_OnDefaultCommand_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICommDlgBrowser_OnStateChange_Proxy( ICommDlgBrowser* This, IShellView* shv, ULONG uChange); void __RPC_STUB ICommDlgBrowser_OnStateChange_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK ICommDlgBrowser_IncludeObject_Proxy( ICommDlgBrowser* This, IShellView* shv, LPCITEMIDLIST pidl); void __RPC_STUB ICommDlgBrowser_IncludeObject_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */ #ifndef __IDockingWindowFrame_FWD_DEFINED__ #define __IDockingWindowFrame_FWD_DEFINED__ typedef struct IDockingWindowFrame IDockingWindowFrame; #endif #define DWFRF_NORMAL 0x0000 #define DWFRF_DELETECONFIGDATA 0x0001 #define DWFAF_HIDDEN 0x0001 /***************************************************************************** * IDockingWindowFrame interface */ #ifndef __IDockingWindowFrame_INTERFACE_DEFINED__ #define __IDockingWindowFrame_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDockingWindowFrame, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDockingWindowFrame : public IOleWindow { virtual HRESULT STDMETHODCALLTYPE AddToolbar( IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveToolbar( IUnknown* punkSrc, DWORD dwRemoveFlags) = 0; virtual HRESULT STDMETHODCALLTYPE FindToolbar( LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) = 0; }; #else typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl; struct IDockingWindowFrame { const IDockingWindowFrameVtbl* lpVtbl; }; struct IDockingWindowFrameVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDockingWindowFrame* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDockingWindowFrame* This); ULONG (STDMETHODCALLTYPE *Release)( IDockingWindowFrame* This); /*** IOleWindow methods ***/ HRESULT (STDMETHODCALLTYPE *GetWindow)( IDockingWindowFrame* This, HWND* phwnd); HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)( IDockingWindowFrame* This, BOOL fEnterMode); /*** IDockingWindowFrame methods ***/ HRESULT (STDMETHODCALLTYPE *AddToolbar)( IDockingWindowFrame* This, IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); HRESULT (STDMETHODCALLTYPE *RemoveToolbar)( IDockingWindowFrame* This, IUnknown* punkSrc, DWORD dwRemoveFlags); HRESULT (STDMETHODCALLTYPE *FindToolbar)( IDockingWindowFrame* This, LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj); }; /*** IUnknown methods ***/ #define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p) /*** IOleWindow methods ***/ #define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a) #define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a) /*** IDockingWindowFrame methods ***/ #define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c) #define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b) #define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c) #endif #define IDockingWindowFrame_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IOleWindow methods ***/ \ STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \ STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \ /*** IDockingWindowFrame methods ***/ \ STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \ STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \ STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE; HRESULT CALLBACK IDockingWindowFrame_AddToolbar_Proxy( IDockingWindowFrame* This, IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); void __RPC_STUB IDockingWindowFrame_AddToolbar_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDockingWindowFrame_RemoveToolbar_Proxy( IDockingWindowFrame* This, IUnknown* punkSrc, DWORD dwRemoveFlags); void __RPC_STUB IDockingWindowFrame_RemoveToolbar_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDockingWindowFrame_FindToolbar_Proxy( IDockingWindowFrame* This, LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj); void __RPC_STUB IDockingWindowFrame_FindToolbar_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */ #ifndef __IDragSourceHelper_FWD_DEFINED__ #define __IDragSourceHelper_FWD_DEFINED__ typedef struct IDragSourceHelper IDragSourceHelper; #endif typedef struct { SIZE sizeDragImage; POINT ptOffset; HBITMAP hbmpDragImage; COLORREF crColorKey; } SHDRAGIMAGE, *LPSHDRAGIMAGE; /***************************************************************************** * IDragSourceHelper interface */ #ifndef __IDragSourceHelper_INTERFACE_DEFINED__ #define __IDragSourceHelper_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDragSourceHelper : public IUnknown { virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap( LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) = 0; virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow( HWND hwnd, POINT* ppt, IDataObject* pDataObject) = 0; }; #else typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl; struct IDragSourceHelper { const IDragSourceHelperVtbl* lpVtbl; }; struct IDragSourceHelperVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDragSourceHelper* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDragSourceHelper* This); ULONG (STDMETHODCALLTYPE *Release)( IDragSourceHelper* This); /*** IDragSourceHelper methods ***/ HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)( IDragSourceHelper* This, LPSHDRAGIMAGE pshdi, IDataObject* pDataObject); HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)( IDragSourceHelper* This, HWND hwnd, POINT* ppt, IDataObject* pDataObject); }; /*** IUnknown methods ***/ #define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p) /*** IDragSourceHelper methods ***/ #define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b) #define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c) #endif #define IDragSourceHelper_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IDragSourceHelper methods ***/ \ STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \ STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE; HRESULT CALLBACK IDragSourceHelper_InitializeFromBitmap_Proxy( IDragSourceHelper* This, LPSHDRAGIMAGE pshdi, IDataObject* pDataObject); void __RPC_STUB IDragSourceHelper_InitializeFromBitmap_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDragSourceHelper_InitializeFromWindow_Proxy( IDragSourceHelper* This, HWND hwnd, POINT* ppt, IDataObject* pDataObject); void __RPC_STUB IDragSourceHelper_InitializeFromWindow_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */ #ifndef __IDropTargetHelper_FWD_DEFINED__ #define __IDropTargetHelper_FWD_DEFINED__ typedef struct IDropTargetHelper IDropTargetHelper; #endif /***************************************************************************** * IDropTargetHelper interface */ #ifndef __IDropTargetHelper_INTERFACE_DEFINED__ #define __IDropTargetHelper_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDropTargetHelper : public IUnknown { virtual HRESULT STDMETHODCALLTYPE DragEnter( HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) = 0; virtual HRESULT STDMETHODCALLTYPE DragLeave( ) = 0; virtual HRESULT STDMETHODCALLTYPE DragOver( POINT* ppt, DWORD dwEffect) = 0; virtual HRESULT STDMETHODCALLTYPE Drop( IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) = 0; virtual HRESULT STDMETHODCALLTYPE Show( BOOL fShow) = 0; }; #else typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl; struct IDropTargetHelper { const IDropTargetHelperVtbl* lpVtbl; }; struct IDropTargetHelperVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDropTargetHelper* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDropTargetHelper* This); ULONG (STDMETHODCALLTYPE *Release)( IDropTargetHelper* This); /*** IDropTargetHelper methods ***/ HRESULT (STDMETHODCALLTYPE *DragEnter)( IDropTargetHelper* This, HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); HRESULT (STDMETHODCALLTYPE *DragLeave)( IDropTargetHelper* This); HRESULT (STDMETHODCALLTYPE *DragOver)( IDropTargetHelper* This, POINT* ppt, DWORD dwEffect); HRESULT (STDMETHODCALLTYPE *Drop)( IDropTargetHelper* This, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); HRESULT (STDMETHODCALLTYPE *Show)( IDropTargetHelper* This, BOOL fShow); }; /*** IUnknown methods ***/ #define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p) #define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p) /*** IDropTargetHelper methods ***/ #define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d) #define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p) #define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b) #define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c) #define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a) #endif #define IDropTargetHelper_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IDropTargetHelper methods ***/ \ STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \ STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \ STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \ STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \ STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE; HRESULT CALLBACK IDropTargetHelper_DragEnter_Proxy( IDropTargetHelper* This, HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); void __RPC_STUB IDropTargetHelper_DragEnter_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDropTargetHelper_DragLeave_Proxy( IDropTargetHelper* This); void __RPC_STUB IDropTargetHelper_DragLeave_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDropTargetHelper_DragOver_Proxy( IDropTargetHelper* This, POINT* ppt, DWORD dwEffect); void __RPC_STUB IDropTargetHelper_DragOver_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDropTargetHelper_Drop_Proxy( IDropTargetHelper* This, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); void __RPC_STUB IDropTargetHelper_Drop_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IDropTargetHelper_Show_Proxy( IDropTargetHelper* This, BOOL fShow); void __RPC_STUB IDropTargetHelper_Show_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */ #ifndef __IContextMenu_FWD_DEFINED__ #define __IContextMenu_FWD_DEFINED__ typedef struct IContextMenu IContextMenu; #endif #define CMF_NORMAL 0x00000000 #define CMF_DEFAULTONLY 0x00000001 #define CMF_VERBSONLY 0x00000002 #define CMF_EXPLORE 0x00000004 #define CMF_NOVERBS 0x00000008 #define CMF_CANRENAME 0x00000010 #define CMF_NODEFAULT 0x00000020 #define CMF_INCLUDESTATIC 0x00000040 #define CMF_EXTENDEDVERBS 0x00000100 #define CMF_RESERVED 0xffff0000 #define GCS_VERBA 0x00000000 #define GCS_HELPTEXTA 0x00000001 #define GCS_VALIDATEA 0x00000002 #define GCS_VERBW 0x00000004 #define GCS_HELPTEXTW 0x00000005 #define GCS_VALIDATEW 0x00000006 #define GCS_UNICODE 0x00000004 #define GCS_VERB WINELIB_NAME_AW(GCS_VERB) #define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT) #define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE) #define CMDSTR_NEWFOLDERA "NewFolder" #define CMDSTR_VIEWLISTA "ViewList" #define CMDSTR_VIEWDETAILSA "ViewDetails" #if defined(__GNUC__) # define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 } # define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 } # define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 } #elif defined(_MSC_VER) # define CMDSTR_NEWFOLDERW L"NewFolder" # define CMDSTR_VIEWLISTW L"ViewList" # define CMDSTR_VIEWDETAILSW L"ViewDetails" #else static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0}; static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0}; static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0}; #endif #define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER) #define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST) #define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS) #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY #define CMIC_MASK_ICON SEE_MASK_ICON #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI #define CMIC_MASK_UNICODE SEE_MASK_UNICODE #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK #define CMIC_MASK_SHIFT_DOWN 0x10000000 #define CMIC_MASK_PTINVOKE 0x20000000 #define CMIC_MASK_CONTROL_DOWN 0x40000000 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE #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; /***************************************************************************** * IContextMenu interface */ #ifndef __IContextMenu_INTERFACE_DEFINED__ #define __IContextMenu_INTERFACE_DEFINED__ DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IContextMenu : public IUnknown { virtual HRESULT STDMETHODCALLTYPE QueryContextMenu( HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) = 0; virtual HRESULT STDMETHODCALLTYPE InvokeCommand( LPCMINVOKECOMMANDINFO lpici) = 0; virtual HRESULT STDMETHODCALLTYPE GetCommandString( UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) = 0; }; #else typedef struct IContextMenuVtbl IContextMenuVtbl; struct IContextMenu { const IContextMenuVtbl* lpVtbl; }; struct IContextMenuVtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IContextMenu* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IContextMenu* This); ULONG (STDMETHODCALLTYPE *Release)( IContextMenu* This); /*** IContextMenu methods ***/ HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( IContextMenu* This, HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); HRESULT (STDMETHODCALLTYPE *InvokeCommand)( IContextMenu* This, LPCMINVOKECOMMANDINFO lpici); HRESULT (STDMETHODCALLTYPE *GetCommandString)( IContextMenu* This, UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax); }; /*** IUnknown methods ***/ #define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p) #define IContextMenu_Release(p) (p)->lpVtbl->Release(p) /*** IContextMenu methods ***/ #define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e) #define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a) #define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e) #endif #define IContextMenu_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IContextMenu methods ***/ \ STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \ STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \ STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; HRESULT CALLBACK IContextMenu_QueryContextMenu_Proxy( IContextMenu* This, HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); void __RPC_STUB IContextMenu_QueryContextMenu_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IContextMenu_InvokeCommand_Proxy( IContextMenu* This, LPCMINVOKECOMMANDINFO lpici); void __RPC_STUB IContextMenu_InvokeCommand_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); HRESULT CALLBACK IContextMenu_GetCommandString_Proxy( IContextMenu* This, UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax); void __RPC_STUB IContextMenu_GetCommandString_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IContextMenu_INTERFACE_DEFINED__ */ #ifndef __IContextMenu2_FWD_DEFINED__ #define __IContextMenu2_FWD_DEFINED__ typedef struct IContextMenu2 IContextMenu2; #endif typedef IContextMenu2 *LPCONTEXTMENU2; /***************************************************************************** * IContextMenu2 interface */ #ifndef __IContextMenu2_INTERFACE_DEFINED__ #define __IContextMenu2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IContextMenu2 : public IContextMenu { virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg( UINT uMsg, WPARAM wParam, LPARAM lParam) = 0; }; #else typedef struct IContextMenu2Vtbl IContextMenu2Vtbl; struct IContextMenu2 { const IContextMenu2Vtbl* lpVtbl; }; struct IContextMenu2Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IContextMenu2* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IContextMenu2* This); ULONG (STDMETHODCALLTYPE *Release)( IContextMenu2* This); /*** IContextMenu methods ***/ HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( IContextMenu2* This, HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); HRESULT (STDMETHODCALLTYPE *InvokeCommand)( IContextMenu2* This, LPCMINVOKECOMMANDINFO lpici); HRESULT (STDMETHODCALLTYPE *GetCommandString)( IContextMenu2* This, UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax); /*** IContextMenu2 methods ***/ HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( IContextMenu2* This, UINT uMsg, WPARAM wParam, LPARAM lParam); }; /*** IUnknown methods ***/ #define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p) #define IContextMenu2_Release(p) (p)->lpVtbl->Release(p) /*** IContextMenu methods ***/ #define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e) #define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a) #define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e) /*** IContextMenu2 methods ***/ #define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c) #endif #define IContextMenu2_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IContextMenu methods ***/ \ STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \ STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \ STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \ /*** IContextMenu2 methods ***/ \ STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; HRESULT CALLBACK IContextMenu2_HandleMenuMsg_Proxy( IContextMenu2* This, UINT uMsg, WPARAM wParam, LPARAM lParam); void __RPC_STUB IContextMenu2_HandleMenuMsg_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IContextMenu2_INTERFACE_DEFINED__ */ #ifndef __IContextMenu3_FWD_DEFINED__ #define __IContextMenu3_FWD_DEFINED__ typedef struct IContextMenu3 IContextMenu3; #endif typedef IContextMenu3 *LPCONTEXTMENU3; /***************************************************************************** * IContextMenu3 interface */ #ifndef __IContextMenu3_INTERFACE_DEFINED__ #define __IContextMenu3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19); #if defined(__cplusplus) && !defined(CINTERFACE) struct IContextMenu3 : public IContextMenu2 { virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2( UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) = 0; }; #else typedef struct IContextMenu3Vtbl IContextMenu3Vtbl; struct IContextMenu3 { const IContextMenu3Vtbl* lpVtbl; }; struct IContextMenu3Vtbl { ICOM_MSVTABLE_COMPAT_FIELDS /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IContextMenu3* This, REFIID riid, void** ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IContextMenu3* This); ULONG (STDMETHODCALLTYPE *Release)( IContextMenu3* This); /*** IContextMenu methods ***/ HRESULT (STDMETHODCALLTYPE *QueryContextMenu)( IContextMenu3* This, HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); HRESULT (STDMETHODCALLTYPE *InvokeCommand)( IContextMenu3* This, LPCMINVOKECOMMANDINFO lpici); HRESULT (STDMETHODCALLTYPE *GetCommandString)( IContextMenu3* This, UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax); /*** IContextMenu2 methods ***/ HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)( IContextMenu3* This, UINT uMsg, WPARAM wParam, LPARAM lParam); /*** IContextMenu3 methods ***/ HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)( IContextMenu3* This, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); }; /*** IUnknown methods ***/ #define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) #define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p) #define IContextMenu3_Release(p) (p)->lpVtbl->Release(p) /*** IContextMenu methods ***/ #define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e) #define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a) #define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e) /*** IContextMenu2 methods ***/ #define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c) /*** IContextMenu3 methods ***/ #define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d) #endif #define IContextMenu3_METHODS \ ICOM_MSVTABLE_COMPAT_FIELDS \ /*** IUnknown methods ***/ \ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ STDMETHOD_(ULONG,Release)(THIS) PURE; \ /*** IContextMenu methods ***/ \ STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \ STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \ STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \ /*** IContextMenu2 methods ***/ \ STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \ /*** IContextMenu3 methods ***/ \ STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE; HRESULT CALLBACK IContextMenu3_HandleMenuMsg2_Proxy( IContextMenu3* This, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub( struct IRpcStubBuffer* This, struct IRpcChannelBuffer* pRpcChannelBuffer, PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase); #endif /* __IContextMenu3_INTERFACE_DEFINED__ */ #ifdef __cplusplus } #endif #endif /* __WIDL_SHOBJIDL_H */