| /*** Autogenerated by WIDL 0.1 from objidl.idl - Do not edit ***/ |
| #include "rpc.h" |
| #include "rpcndr.h" |
| |
| #ifndef __WIDL_OBJIDL_H |
| #define __WIDL_OBJIDL_H |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| #include "unknwn.h" |
| typedef struct IStream IStream; |
| typedef struct IStream16 IStream16; |
| typedef struct IEnumString IEnumString; |
| typedef struct IRunningObjectTable IRunningObjectTable; |
| typedef struct IMoniker IMoniker; |
| typedef struct IAdviseSink IAdviseSink; |
| typedef struct IAsyncManager IAsyncManager; |
| typedef struct IMarshal IMarshal; |
| typedef IMarshal *LPMARSHAL; |
| |
| /***************************************************************************** |
| * IMarshal interface |
| */ |
| DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMarshal: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| CLSID* pCid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| DWORD* pSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE MarshalInterface( |
| IStream* pStm, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( |
| IStream* pStm, |
| REFIID riid, |
| void** ppv) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( |
| IStream* pStm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DisconnectObject( |
| DWORD dwReserved) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMarshalVtbl IMarshalVtbl; |
| struct IMarshal { |
| const IMarshalVtbl* lpVtbl; |
| }; |
| struct IMarshalVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMarshal* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMarshal* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMarshal* This); |
| |
| /*** IMarshal methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetUnmarshalClass)( |
| IMarshal* This, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| CLSID* pCid); |
| |
| HRESULT (STDMETHODCALLTYPE *GetMarshalSizeMax)( |
| IMarshal* This, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| DWORD* pSize); |
| |
| HRESULT (STDMETHODCALLTYPE *MarshalInterface)( |
| IMarshal* This, |
| IStream* pStm, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags); |
| |
| HRESULT (STDMETHODCALLTYPE *UnmarshalInterface)( |
| IMarshal* This, |
| IStream* pStm, |
| REFIID riid, |
| void** ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseMarshalData)( |
| IMarshal* This, |
| IStream* pStm); |
| |
| HRESULT (STDMETHODCALLTYPE *DisconnectObject)( |
| IMarshal* This, |
| DWORD dwReserved); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMarshal_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMarshal_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMarshal_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMarshal methods ***/ |
| #define IMarshal_GetUnmarshalClass(p,a,b,c,d,e,f) (p)->lpVtbl->GetUnmarshalClass(p,a,b,c,d,e,f) |
| #define IMarshal_GetMarshalSizeMax(p,a,b,c,d,e,f) (p)->lpVtbl->GetMarshalSizeMax(p,a,b,c,d,e,f) |
| #define IMarshal_MarshalInterface(p,a,b,c,d,e,f) (p)->lpVtbl->MarshalInterface(p,a,b,c,d,e,f) |
| #define IMarshal_UnmarshalInterface(p,a,b,c) (p)->lpVtbl->UnmarshalInterface(p,a,b,c) |
| #define IMarshal_ReleaseMarshalData(p,a) (p)->lpVtbl->ReleaseMarshalData(p,a) |
| #define IMarshal_DisconnectObject(p,a) (p)->lpVtbl->DisconnectObject(p,a) |
| |
| #endif |
| |
| #define IMarshal_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; \ |
| /*** IMarshal methods ***/ \ |
| STDMETHOD_(HRESULT,GetUnmarshalClass)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) PURE; \ |
| STDMETHOD_(HRESULT,GetMarshalSizeMax)(THIS_ REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) PURE; \ |
| STDMETHOD_(HRESULT,MarshalInterface)(THIS_ IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) PURE; \ |
| STDMETHOD_(HRESULT,UnmarshalInterface)(THIS_ IStream* pStm, REFIID riid, void** ppv) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseMarshalData)(THIS_ IStream* pStm) PURE; \ |
| STDMETHOD_(HRESULT,DisconnectObject)(THIS_ DWORD dwReserved) PURE; |
| |
| HRESULT CALLBACK IMarshal_GetUnmarshalClass_Proxy( |
| IMarshal* This, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| CLSID* pCid); |
| void __RPC_STUB IMarshal_GetUnmarshalClass_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMarshal_GetMarshalSizeMax_Proxy( |
| IMarshal* This, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags, |
| DWORD* pSize); |
| void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMarshal_MarshalInterface_Proxy( |
| IMarshal* This, |
| IStream* pStm, |
| REFIID riid, |
| void* pv, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| DWORD mshlflags); |
| void __RPC_STUB IMarshal_MarshalInterface_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMarshal_UnmarshalInterface_Proxy( |
| IMarshal* This, |
| IStream* pStm, |
| REFIID riid, |
| void** ppv); |
| void __RPC_STUB IMarshal_UnmarshalInterface_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMarshal_ReleaseMarshalData_Proxy( |
| IMarshal* This, |
| IStream* pStm); |
| void __RPC_STUB IMarshal_ReleaseMarshalData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMarshal_DisconnectObject_Proxy( |
| IMarshal* This, |
| DWORD dwReserved); |
| void __RPC_STUB IMarshal_DisconnectObject_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IStdMarshalInfo IStdMarshalInfo; |
| typedef IStdMarshalInfo *LPSTDMARSHALINFO; |
| |
| /***************************************************************************** |
| * IStdMarshalInfo interface |
| */ |
| DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStdMarshalInfo: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( |
| DWORD dwDestContext, |
| void* pvDestContext, |
| CLSID* pClsid) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl; |
| struct IStdMarshalInfo { |
| const IStdMarshalInfoVtbl* lpVtbl; |
| }; |
| struct IStdMarshalInfoVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStdMarshalInfo* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStdMarshalInfo* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStdMarshalInfo* This); |
| |
| /*** IStdMarshalInfo methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassForHandler)( |
| IStdMarshalInfo* This, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| CLSID* pClsid); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStdMarshalInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStdMarshalInfo_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStdMarshalInfo_Release(p) (p)->lpVtbl->Release(p) |
| /*** IStdMarshalInfo methods ***/ |
| #define IStdMarshalInfo_GetClassForHandler(p,a,b,c) (p)->lpVtbl->GetClassForHandler(p,a,b,c) |
| |
| #endif |
| |
| #define IStdMarshalInfo_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; \ |
| /*** IStdMarshalInfo methods ***/ \ |
| STDMETHOD_(HRESULT,GetClassForHandler)(THIS_ DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) PURE; |
| |
| HRESULT CALLBACK IStdMarshalInfo_GetClassForHandler_Proxy( |
| IStdMarshalInfo* This, |
| DWORD dwDestContext, |
| void* pvDestContext, |
| CLSID* pClsid); |
| void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IExternalConnection IExternalConnection; |
| typedef IExternalConnection *LPEXTERNALCONNECTION; |
| |
| typedef enum tagEXTCONN { |
| EXTCONN_STRONG = 0x1, |
| EXTCONN_WEAK = 0x2, |
| EXTCONN_CALLABLE = 0x4 |
| } EXTCONN; |
| |
| /***************************************************************************** |
| * IExternalConnection interface |
| */ |
| DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IExternalConnection: IUnknown { |
| |
| virtual DWORD STDMETHODCALLTYPE AddConnection( |
| DWORD extconn, |
| DWORD reserved) = 0; |
| |
| virtual DWORD STDMETHODCALLTYPE ReleaseConnection( |
| DWORD extconn, |
| DWORD reserved, |
| BOOL fLastReleaseCloses) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IExternalConnectionVtbl IExternalConnectionVtbl; |
| struct IExternalConnection { |
| const IExternalConnectionVtbl* lpVtbl; |
| }; |
| struct IExternalConnectionVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IExternalConnection* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IExternalConnection* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IExternalConnection* This); |
| |
| /*** IExternalConnection methods ***/ |
| DWORD (STDMETHODCALLTYPE *AddConnection)( |
| IExternalConnection* This, |
| DWORD extconn, |
| DWORD reserved); |
| |
| DWORD (STDMETHODCALLTYPE *ReleaseConnection)( |
| IExternalConnection* This, |
| DWORD extconn, |
| DWORD reserved, |
| BOOL fLastReleaseCloses); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IExternalConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IExternalConnection_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IExternalConnection_Release(p) (p)->lpVtbl->Release(p) |
| /*** IExternalConnection methods ***/ |
| #define IExternalConnection_AddConnection(p,a,b) (p)->lpVtbl->AddConnection(p,a,b) |
| #define IExternalConnection_ReleaseConnection(p,a,b,c) (p)->lpVtbl->ReleaseConnection(p,a,b,c) |
| |
| #endif |
| |
| #define IExternalConnection_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; \ |
| /*** IExternalConnection methods ***/ \ |
| STDMETHOD_(DWORD,AddConnection)(THIS_ DWORD extconn, DWORD reserved) PURE; \ |
| STDMETHOD_(DWORD,ReleaseConnection)(THIS_ DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) PURE; |
| |
| DWORD CALLBACK IExternalConnection_AddConnection_Proxy( |
| IExternalConnection* This, |
| DWORD extconn, |
| DWORD reserved); |
| void __RPC_STUB IExternalConnection_AddConnection_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| DWORD CALLBACK IExternalConnection_ReleaseConnection_Proxy( |
| IExternalConnection* This, |
| DWORD extconn, |
| DWORD reserved, |
| BOOL fLastReleaseCloses); |
| void __RPC_STUB IExternalConnection_ReleaseConnection_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IMultiQI IMultiQI; |
| typedef IMultiQI *LPMULTIQI; |
| |
| typedef struct tagMULTI_QI { |
| const IID *pIID; |
| IUnknown *pItf; |
| HRESULT hr; |
| } MULTI_QI; |
| |
| /***************************************************************************** |
| * IMultiQI interface |
| */ |
| DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMultiQI: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( |
| ULONG cMQIs, |
| MULTI_QI* pMQIs) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMultiQIVtbl IMultiQIVtbl; |
| struct IMultiQI { |
| const IMultiQIVtbl* lpVtbl; |
| }; |
| struct IMultiQIVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMultiQI* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMultiQI* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMultiQI* This); |
| |
| /*** IMultiQI methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryMultipleInterfaces)( |
| IMultiQI* This, |
| ULONG cMQIs, |
| MULTI_QI* pMQIs); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMultiQI_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMultiQI_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMultiQI_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMultiQI methods ***/ |
| #define IMultiQI_QueryMultipleInterfaces(p,a,b) (p)->lpVtbl->QueryMultipleInterfaces(p,a,b) |
| |
| #endif |
| |
| #define IMultiQI_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; \ |
| /*** IMultiQI methods ***/ \ |
| STDMETHOD_(HRESULT,QueryMultipleInterfaces)(THIS_ ULONG cMQIs, MULTI_QI* pMQIs) PURE; |
| |
| HRESULT CALLBACK IMultiQI_QueryMultipleInterfaces_Proxy( |
| IMultiQI* This, |
| ULONG cMQIs, |
| MULTI_QI* pMQIs); |
| void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IMalloc IMalloc; |
| typedef IMalloc *LPMALLOC; |
| |
| /***************************************************************************** |
| * IMalloc interface |
| */ |
| DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMalloc: IUnknown { |
| |
| virtual LPVOID STDMETHODCALLTYPE Alloc( |
| ULONG cb) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE Realloc( |
| LPVOID pv, |
| ULONG cb) = 0; |
| |
| virtual void STDMETHODCALLTYPE Free( |
| LPVOID pv) = 0; |
| |
| virtual ULONG STDMETHODCALLTYPE GetSize( |
| LPVOID pv) = 0; |
| |
| virtual int STDMETHODCALLTYPE DidAlloc( |
| LPVOID pv) = 0; |
| |
| virtual void STDMETHODCALLTYPE HeapMinimize( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMallocVtbl IMallocVtbl; |
| struct IMalloc { |
| const IMallocVtbl* lpVtbl; |
| }; |
| struct IMallocVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMalloc* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMalloc* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMalloc* This); |
| |
| /*** IMalloc methods ***/ |
| LPVOID (STDMETHODCALLTYPE *Alloc)( |
| IMalloc* This, |
| ULONG cb); |
| |
| LPVOID (STDMETHODCALLTYPE *Realloc)( |
| IMalloc* This, |
| LPVOID pv, |
| ULONG cb); |
| |
| void (STDMETHODCALLTYPE *Free)( |
| IMalloc* This, |
| LPVOID pv); |
| |
| ULONG (STDMETHODCALLTYPE *GetSize)( |
| IMalloc* This, |
| LPVOID pv); |
| |
| int (STDMETHODCALLTYPE *DidAlloc)( |
| IMalloc* This, |
| LPVOID pv); |
| |
| void (STDMETHODCALLTYPE *HeapMinimize)( |
| IMalloc* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMalloc_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMalloc_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMalloc_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMalloc methods ***/ |
| #define IMalloc_Alloc(p,a) (p)->lpVtbl->Alloc(p,a) |
| #define IMalloc_Realloc(p,a,b) (p)->lpVtbl->Realloc(p,a,b) |
| #define IMalloc_Free(p,a) (p)->lpVtbl->Free(p,a) |
| #define IMalloc_GetSize(p,a) (p)->lpVtbl->GetSize(p,a) |
| #define IMalloc_DidAlloc(p,a) (p)->lpVtbl->DidAlloc(p,a) |
| #define IMalloc_HeapMinimize(p) (p)->lpVtbl->HeapMinimize(p) |
| |
| #endif |
| |
| #define IMalloc_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; \ |
| /*** IMalloc methods ***/ \ |
| STDMETHOD_(LPVOID,Alloc)(THIS_ ULONG cb) PURE; \ |
| STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, ULONG cb) PURE; \ |
| STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE; \ |
| STDMETHOD_(ULONG,GetSize)(THIS_ LPVOID pv) PURE; \ |
| STDMETHOD_(int,DidAlloc)(THIS_ LPVOID pv) PURE; \ |
| STDMETHOD_(void,HeapMinimize)(THIS) PURE; |
| |
| LPVOID CALLBACK IMalloc_Alloc_Proxy( |
| IMalloc* This, |
| ULONG cb); |
| void __RPC_STUB IMalloc_Alloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMalloc_Realloc_Proxy( |
| IMalloc* This, |
| LPVOID pv, |
| ULONG cb); |
| void __RPC_STUB IMalloc_Realloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IMalloc_Free_Proxy( |
| IMalloc* This, |
| LPVOID pv); |
| void __RPC_STUB IMalloc_Free_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| ULONG CALLBACK IMalloc_GetSize_Proxy( |
| IMalloc* This, |
| LPVOID pv); |
| void __RPC_STUB IMalloc_GetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| int CALLBACK IMalloc_DidAlloc_Proxy( |
| IMalloc* This, |
| LPVOID pv); |
| void __RPC_STUB IMalloc_DidAlloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IMalloc_HeapMinimize_Proxy( |
| IMalloc* This); |
| void __RPC_STUB IMalloc_HeapMinimize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IMallocSpy IMallocSpy; |
| typedef IMallocSpy *LPMALLOCSPY; |
| |
| /***************************************************************************** |
| * IMallocSpy interface |
| */ |
| DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMallocSpy: IUnknown { |
| |
| virtual ULONG STDMETHODCALLTYPE PreAlloc( |
| ULONG cbRequest) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE PostAlloc( |
| LPVOID pActual) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE PreFree( |
| LPVOID pRequest, |
| BOOL fSpyed) = 0; |
| |
| virtual void STDMETHODCALLTYPE PostFree( |
| BOOL fSpyed) = 0; |
| |
| virtual ULONG STDMETHODCALLTYPE PreRealloc( |
| LPVOID pRequest, |
| ULONG cbRequest, |
| LPVOID* ppNewRequest, |
| BOOL fSpyed) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE PostRealloc( |
| LPVOID pActual, |
| BOOL fSpyed) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE PreGetSize( |
| LPVOID pRequest, |
| BOOL fSpyed) = 0; |
| |
| virtual ULONG STDMETHODCALLTYPE PostGetSize( |
| ULONG cbActual, |
| BOOL fSpyed) = 0; |
| |
| virtual LPVOID STDMETHODCALLTYPE PreDidAlloc( |
| LPVOID pRequest, |
| BOOL fSpyed) = 0; |
| |
| virtual int STDMETHODCALLTYPE PostDidAlloc( |
| LPVOID pRequest, |
| BOOL fSpyed, |
| int fActual) = 0; |
| |
| virtual void STDMETHODCALLTYPE PreHeapMinimize( |
| ) = 0; |
| |
| virtual void STDMETHODCALLTYPE PostHeapMinimize( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMallocSpyVtbl IMallocSpyVtbl; |
| struct IMallocSpy { |
| const IMallocSpyVtbl* lpVtbl; |
| }; |
| struct IMallocSpyVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMallocSpy* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMallocSpy* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMallocSpy* This); |
| |
| /*** IMallocSpy methods ***/ |
| ULONG (STDMETHODCALLTYPE *PreAlloc)( |
| IMallocSpy* This, |
| ULONG cbRequest); |
| |
| LPVOID (STDMETHODCALLTYPE *PostAlloc)( |
| IMallocSpy* This, |
| LPVOID pActual); |
| |
| LPVOID (STDMETHODCALLTYPE *PreFree)( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| |
| void (STDMETHODCALLTYPE *PostFree)( |
| IMallocSpy* This, |
| BOOL fSpyed); |
| |
| ULONG (STDMETHODCALLTYPE *PreRealloc)( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| ULONG cbRequest, |
| LPVOID* ppNewRequest, |
| BOOL fSpyed); |
| |
| LPVOID (STDMETHODCALLTYPE *PostRealloc)( |
| IMallocSpy* This, |
| LPVOID pActual, |
| BOOL fSpyed); |
| |
| LPVOID (STDMETHODCALLTYPE *PreGetSize)( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| |
| ULONG (STDMETHODCALLTYPE *PostGetSize)( |
| IMallocSpy* This, |
| ULONG cbActual, |
| BOOL fSpyed); |
| |
| LPVOID (STDMETHODCALLTYPE *PreDidAlloc)( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| |
| int (STDMETHODCALLTYPE *PostDidAlloc)( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed, |
| int fActual); |
| |
| void (STDMETHODCALLTYPE *PreHeapMinimize)( |
| IMallocSpy* This); |
| |
| void (STDMETHODCALLTYPE *PostHeapMinimize)( |
| IMallocSpy* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMallocSpy_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMallocSpy_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMallocSpy_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMallocSpy methods ***/ |
| #define IMallocSpy_PreAlloc(p,a) (p)->lpVtbl->PreAlloc(p,a) |
| #define IMallocSpy_PostAlloc(p,a) (p)->lpVtbl->PostAlloc(p,a) |
| #define IMallocSpy_PreFree(p,a,b) (p)->lpVtbl->PreFree(p,a,b) |
| #define IMallocSpy_PostFree(p,a) (p)->lpVtbl->PostFree(p,a) |
| #define IMallocSpy_PreRealloc(p,a,b,c,d) (p)->lpVtbl->PreRealloc(p,a,b,c,d) |
| #define IMallocSpy_PostRealloc(p,a,b) (p)->lpVtbl->PostRealloc(p,a,b) |
| #define IMallocSpy_PreGetSize(p,a,b) (p)->lpVtbl->PreGetSize(p,a,b) |
| #define IMallocSpy_PostGetSize(p,a,b) (p)->lpVtbl->PostGetSize(p,a,b) |
| #define IMallocSpy_PreDidAlloc(p,a,b) (p)->lpVtbl->PreDidAlloc(p,a,b) |
| #define IMallocSpy_PostDidAlloc(p,a,b,c) (p)->lpVtbl->PostDidAlloc(p,a,b,c) |
| #define IMallocSpy_PreHeapMinimize(p) (p)->lpVtbl->PreHeapMinimize(p) |
| #define IMallocSpy_PostHeapMinimize(p) (p)->lpVtbl->PostHeapMinimize(p) |
| |
| #endif |
| |
| #define IMallocSpy_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; \ |
| /*** IMallocSpy methods ***/ \ |
| STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG cbRequest) PURE; \ |
| STDMETHOD_(LPVOID,PostAlloc)(THIS_ LPVOID pActual) PURE; \ |
| STDMETHOD_(LPVOID,PreFree)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \ |
| STDMETHOD_(void,PostFree)(THIS_ BOOL fSpyed) PURE; \ |
| STDMETHOD_(ULONG,PreRealloc)(THIS_ LPVOID pRequest, ULONG cbRequest, LPVOID* ppNewRequest, BOOL fSpyed) PURE; \ |
| STDMETHOD_(LPVOID,PostRealloc)(THIS_ LPVOID pActual, BOOL fSpyed) PURE; \ |
| STDMETHOD_(LPVOID,PreGetSize)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \ |
| STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG cbActual, BOOL fSpyed) PURE; \ |
| STDMETHOD_(LPVOID,PreDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed) PURE; \ |
| STDMETHOD_(int,PostDidAlloc)(THIS_ LPVOID pRequest, BOOL fSpyed, int fActual) PURE; \ |
| STDMETHOD_(void,PreHeapMinimize)(THIS) PURE; \ |
| STDMETHOD_(void,PostHeapMinimize)(THIS) PURE; |
| |
| ULONG CALLBACK IMallocSpy_PreAlloc_Proxy( |
| IMallocSpy* This, |
| ULONG cbRequest); |
| void __RPC_STUB IMallocSpy_PreAlloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMallocSpy_PostAlloc_Proxy( |
| IMallocSpy* This, |
| LPVOID pActual); |
| void __RPC_STUB IMallocSpy_PostAlloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMallocSpy_PreFree_Proxy( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PreFree_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IMallocSpy_PostFree_Proxy( |
| IMallocSpy* This, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PostFree_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| ULONG CALLBACK IMallocSpy_PreRealloc_Proxy( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| ULONG cbRequest, |
| LPVOID* ppNewRequest, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PreRealloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMallocSpy_PostRealloc_Proxy( |
| IMallocSpy* This, |
| LPVOID pActual, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PostRealloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMallocSpy_PreGetSize_Proxy( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PreGetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| ULONG CALLBACK IMallocSpy_PostGetSize_Proxy( |
| IMallocSpy* This, |
| ULONG cbActual, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PostGetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| LPVOID CALLBACK IMallocSpy_PreDidAlloc_Proxy( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed); |
| void __RPC_STUB IMallocSpy_PreDidAlloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| int CALLBACK IMallocSpy_PostDidAlloc_Proxy( |
| IMallocSpy* This, |
| LPVOID pRequest, |
| BOOL fSpyed, |
| int fActual); |
| void __RPC_STUB IMallocSpy_PostDidAlloc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IMallocSpy_PreHeapMinimize_Proxy( |
| IMallocSpy* This); |
| void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IMallocSpy_PostHeapMinimize_Proxy( |
| IMallocSpy* This); |
| void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumUnknown IEnumUnknown; |
| typedef IEnumUnknown *LPENUMUNKNOWN; |
| |
| /***************************************************************************** |
| * IEnumUnknown interface |
| */ |
| DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumUnknown: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| IUnknown** rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumUnknown** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumUnknownVtbl IEnumUnknownVtbl; |
| struct IEnumUnknown { |
| const IEnumUnknownVtbl* lpVtbl; |
| }; |
| struct IEnumUnknownVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumUnknown* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumUnknown* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumUnknown* This); |
| |
| /*** IEnumUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumUnknown* This, |
| ULONG celt, |
| IUnknown** rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumUnknown* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumUnknown* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumUnknown* This, |
| IEnumUnknown** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumUnknown_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumUnknown_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumUnknown methods ***/ |
| #define IEnumUnknown_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumUnknown_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumUnknown_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumUnknown_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumUnknown_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; \ |
| /*** IEnumUnknown methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IUnknown** rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumUnknown** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumUnknown_RemoteNext_Proxy( |
| IEnumUnknown* This, |
| ULONG celt, |
| IUnknown** rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumUnknown_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumUnknown_Next_Proxy( |
| IEnumUnknown* This, |
| ULONG celt, |
| IUnknown** rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumUnknown_Next_Stub( |
| IEnumUnknown* This, |
| ULONG celt, |
| IUnknown** rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumUnknown_Skip_Proxy( |
| IEnumUnknown* This, |
| ULONG celt); |
| void __RPC_STUB IEnumUnknown_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumUnknown_Reset_Proxy( |
| IEnumUnknown* This); |
| void __RPC_STUB IEnumUnknown_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumUnknown_Clone_Proxy( |
| IEnumUnknown* This, |
| IEnumUnknown** ppenum); |
| void __RPC_STUB IEnumUnknown_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct ISurrogate ISurrogate; |
| typedef ISurrogate *LPSURROGATE; |
| |
| /***************************************************************************** |
| * ISurrogate interface |
| */ |
| DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ISurrogate: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE LoadDllServer( |
| REFCLSID Clsid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct ISurrogateVtbl ISurrogateVtbl; |
| struct ISurrogate { |
| const ISurrogateVtbl* lpVtbl; |
| }; |
| struct ISurrogateVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ISurrogate* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ISurrogate* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ISurrogate* This); |
| |
| /*** ISurrogate methods ***/ |
| HRESULT (STDMETHODCALLTYPE *LoadDllServer)( |
| ISurrogate* This, |
| REFCLSID Clsid); |
| |
| HRESULT (STDMETHODCALLTYPE *FreeSurrogate)( |
| ISurrogate* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ISurrogate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ISurrogate_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ISurrogate_Release(p) (p)->lpVtbl->Release(p) |
| /*** ISurrogate methods ***/ |
| #define ISurrogate_LoadDllServer(p,a) (p)->lpVtbl->LoadDllServer(p,a) |
| #define ISurrogate_FreeSurrogate(p) (p)->lpVtbl->FreeSurrogate(p) |
| |
| #endif |
| |
| #define ISurrogate_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; \ |
| /*** ISurrogate methods ***/ \ |
| STDMETHOD_(HRESULT,LoadDllServer)(THIS_ REFCLSID Clsid) PURE; \ |
| STDMETHOD_(HRESULT,FreeSurrogate)(THIS) PURE; |
| |
| HRESULT CALLBACK ISurrogate_LoadDllServer_Proxy( |
| ISurrogate* This, |
| REFCLSID Clsid); |
| void __RPC_STUB ISurrogate_LoadDllServer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ISurrogate_FreeSurrogate_Proxy( |
| ISurrogate* This); |
| void __RPC_STUB ISurrogate_FreeSurrogate_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IGlobalInterfaceTable IGlobalInterfaceTable; |
| typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; |
| |
| /***************************************************************************** |
| * IGlobalInterfaceTable interface |
| */ |
| DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IGlobalInterfaceTable: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal( |
| IUnknown* pUnk, |
| REFIID riid, |
| DWORD* pdwCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal( |
| DWORD dwCookie) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal( |
| DWORD dwCookie, |
| REFIID riid, |
| void** ppv) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl; |
| struct IGlobalInterfaceTable { |
| const IGlobalInterfaceTableVtbl* lpVtbl; |
| }; |
| struct IGlobalInterfaceTableVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IGlobalInterfaceTable* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IGlobalInterfaceTable* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IGlobalInterfaceTable* This); |
| |
| /*** IGlobalInterfaceTable methods ***/ |
| HRESULT (STDMETHODCALLTYPE *RegisterInterfaceInGlobal)( |
| IGlobalInterfaceTable* This, |
| IUnknown* pUnk, |
| REFIID riid, |
| DWORD* pdwCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *RevokeInterfaceFromGlobal)( |
| IGlobalInterfaceTable* This, |
| DWORD dwCookie); |
| |
| HRESULT (STDMETHODCALLTYPE *GetInterfaceFromGlobal)( |
| IGlobalInterfaceTable* This, |
| DWORD dwCookie, |
| REFIID riid, |
| void** ppv); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IGlobalInterfaceTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IGlobalInterfaceTable_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IGlobalInterfaceTable_Release(p) (p)->lpVtbl->Release(p) |
| /*** IGlobalInterfaceTable methods ***/ |
| #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(p,a,b,c) (p)->lpVtbl->RegisterInterfaceInGlobal(p,a,b,c) |
| #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(p,a) (p)->lpVtbl->RevokeInterfaceFromGlobal(p,a) |
| #define IGlobalInterfaceTable_GetInterfaceFromGlobal(p,a,b,c) (p)->lpVtbl->GetInterfaceFromGlobal(p,a,b,c) |
| |
| #endif |
| |
| #define IGlobalInterfaceTable_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; \ |
| /*** IGlobalInterfaceTable methods ***/ \ |
| STDMETHOD_(HRESULT,RegisterInterfaceInGlobal)(THIS_ IUnknown* pUnk, REFIID riid, DWORD* pdwCookie) PURE; \ |
| STDMETHOD_(HRESULT,RevokeInterfaceFromGlobal)(THIS_ DWORD dwCookie) PURE; \ |
| STDMETHOD_(HRESULT,GetInterfaceFromGlobal)(THIS_ DWORD dwCookie, REFIID riid, void** ppv) PURE; |
| |
| HRESULT CALLBACK IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy( |
| IGlobalInterfaceTable* This, |
| IUnknown* pUnk, |
| REFIID riid, |
| DWORD* pdwCookie); |
| void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy( |
| IGlobalInterfaceTable* This, |
| DWORD dwCookie); |
| void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy( |
| IGlobalInterfaceTable* This, |
| DWORD dwCookie, |
| REFIID riid, |
| void** ppv); |
| void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IBindCtx IBindCtx; |
| typedef IBindCtx *LPBINDCTX; |
| |
| typedef IBindCtx *LPBC; |
| |
| typedef struct tagBIND_OPTS { |
| DWORD cbStruct; |
| DWORD grfFlags; |
| DWORD grfMode; |
| DWORD dwTickCountDeadline; |
| } BIND_OPTS, *LPBIND_OPTS; |
| |
| typedef struct tagBIND_OPTS2 { |
| DWORD cbStruct; |
| DWORD grfFlags; |
| DWORD grfMode; |
| DWORD dwTickCountDeadline; |
| DWORD dwTrackFlags; |
| DWORD dwClassContext; |
| LCID locale; |
| COSERVERINFO *pServerInfo; |
| } BIND_OPTS2, *LPBIND_OPTS2; |
| |
| typedef enum tagBIND_FLAGS { |
| BIND_MAYBOTHERUSER = 1, |
| BIND_JUSTTESTEXISTENCE = 2 |
| } BIND_FLAGS; |
| |
| /***************************************************************************** |
| * IBindCtx interface |
| */ |
| DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IBindCtx: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound( |
| IUnknown* punk) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound( |
| IUnknown* punk) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetBindOptions( |
| BIND_OPTS* pbindopts) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetBindOptions( |
| BIND_OPTS* pbindopts) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable( |
| IRunningObjectTable** pprot) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam( |
| LPOLESTR pszKey, |
| IUnknown* punk) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetObjectParam( |
| LPOLESTR pszKey, |
| IUnknown** ppunk) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumObjectParam( |
| IEnumString** ppenum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam( |
| LPOLESTR pszKey) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IBindCtxVtbl IBindCtxVtbl; |
| struct IBindCtx { |
| const IBindCtxVtbl* lpVtbl; |
| }; |
| struct IBindCtxVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IBindCtx* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IBindCtx* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IBindCtx* This); |
| |
| /*** IBindCtx methods ***/ |
| HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)( |
| IBindCtx* This, |
| IUnknown* punk); |
| |
| HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)( |
| IBindCtx* This, |
| IUnknown* punk); |
| |
| HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)( |
| IBindCtx* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBindOptions)( |
| IBindCtx* This, |
| BIND_OPTS* pbindopts); |
| |
| HRESULT (STDMETHODCALLTYPE *GetBindOptions)( |
| IBindCtx* This, |
| BIND_OPTS* pbindopts); |
| |
| HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)( |
| IBindCtx* This, |
| IRunningObjectTable** pprot); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)( |
| IBindCtx* This, |
| LPOLESTR pszKey, |
| IUnknown* punk); |
| |
| HRESULT (STDMETHODCALLTYPE *GetObjectParam)( |
| IBindCtx* This, |
| LPOLESTR pszKey, |
| IUnknown** ppunk); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumObjectParam)( |
| IBindCtx* This, |
| IEnumString** ppenum); |
| |
| HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)( |
| IBindCtx* This, |
| LPOLESTR pszKey); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IBindCtx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IBindCtx_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IBindCtx_Release(p) (p)->lpVtbl->Release(p) |
| /*** IBindCtx methods ***/ |
| #define IBindCtx_RegisterObjectBound(p,a) (p)->lpVtbl->RegisterObjectBound(p,a) |
| #define IBindCtx_RevokeObjectBound(p,a) (p)->lpVtbl->RevokeObjectBound(p,a) |
| #define IBindCtx_ReleaseBoundObjects(p) (p)->lpVtbl->ReleaseBoundObjects(p) |
| #define IBindCtx_SetBindOptions(p,a) (p)->lpVtbl->SetBindOptions(p,a) |
| #define IBindCtx_GetBindOptions(p,a) (p)->lpVtbl->GetBindOptions(p,a) |
| #define IBindCtx_GetRunningObjectTable(p,a) (p)->lpVtbl->GetRunningObjectTable(p,a) |
| #define IBindCtx_RegisterObjectParam(p,a,b) (p)->lpVtbl->RegisterObjectParam(p,a,b) |
| #define IBindCtx_GetObjectParam(p,a,b) (p)->lpVtbl->GetObjectParam(p,a,b) |
| #define IBindCtx_EnumObjectParam(p,a) (p)->lpVtbl->EnumObjectParam(p,a) |
| #define IBindCtx_RevokeObjectParam(p,a) (p)->lpVtbl->RevokeObjectParam(p,a) |
| |
| #endif |
| |
| #define IBindCtx_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; \ |
| /*** IBindCtx methods ***/ \ |
| STDMETHOD_(HRESULT,RegisterObjectBound)(THIS_ IUnknown* punk) PURE; \ |
| STDMETHOD_(HRESULT,RevokeObjectBound)(THIS_ IUnknown* punk) PURE; \ |
| STDMETHOD_(HRESULT,ReleaseBoundObjects)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \ |
| STDMETHOD_(HRESULT,GetBindOptions)(THIS_ BIND_OPTS* pbindopts) PURE; \ |
| STDMETHOD_(HRESULT,GetRunningObjectTable)(THIS_ IRunningObjectTable** pprot) PURE; \ |
| STDMETHOD_(HRESULT,RegisterObjectParam)(THIS_ LPOLESTR pszKey, IUnknown* punk) PURE; \ |
| STDMETHOD_(HRESULT,GetObjectParam)(THIS_ LPOLESTR pszKey, IUnknown** ppunk) PURE; \ |
| STDMETHOD_(HRESULT,EnumObjectParam)(THIS_ IEnumString** ppenum) PURE; \ |
| STDMETHOD_(HRESULT,RevokeObjectParam)(THIS_ LPOLESTR pszKey) PURE; |
| |
| HRESULT CALLBACK IBindCtx_RegisterObjectBound_Proxy( |
| IBindCtx* This, |
| IUnknown* punk); |
| void __RPC_STUB IBindCtx_RegisterObjectBound_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_RevokeObjectBound_Proxy( |
| IBindCtx* This, |
| IUnknown* punk); |
| void __RPC_STUB IBindCtx_RevokeObjectBound_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_ReleaseBoundObjects_Proxy( |
| IBindCtx* This); |
| void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_RemoteSetBindOptions_Proxy( |
| IBindCtx* This, |
| BIND_OPTS2* pbindopts); |
| void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy( |
| IBindCtx* This, |
| BIND_OPTS* pbindopts); |
| HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub( |
| IBindCtx* This, |
| BIND_OPTS2* pbindopts); |
| HRESULT CALLBACK IBindCtx_RemoteGetBindOptions_Proxy( |
| IBindCtx* This, |
| BIND_OPTS2* pbindopts); |
| void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy( |
| IBindCtx* This, |
| BIND_OPTS* pbindopts); |
| HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub( |
| IBindCtx* This, |
| BIND_OPTS2* pbindopts); |
| HRESULT CALLBACK IBindCtx_GetRunningObjectTable_Proxy( |
| IBindCtx* This, |
| IRunningObjectTable** pprot); |
| void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_RegisterObjectParam_Proxy( |
| IBindCtx* This, |
| LPOLESTR pszKey, |
| IUnknown* punk); |
| void __RPC_STUB IBindCtx_RegisterObjectParam_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_GetObjectParam_Proxy( |
| IBindCtx* This, |
| LPOLESTR pszKey, |
| IUnknown** ppunk); |
| void __RPC_STUB IBindCtx_GetObjectParam_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_EnumObjectParam_Proxy( |
| IBindCtx* This, |
| IEnumString** ppenum); |
| void __RPC_STUB IBindCtx_EnumObjectParam_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IBindCtx_RevokeObjectParam_Proxy( |
| IBindCtx* This, |
| LPOLESTR pszKey); |
| void __RPC_STUB IBindCtx_RevokeObjectParam_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumMoniker IEnumMoniker; |
| typedef IEnumMoniker *LPENUMMONIKER; |
| |
| /***************************************************************************** |
| * IEnumMoniker interface |
| */ |
| DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumMoniker: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| IMoniker** rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumMoniker** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumMonikerVtbl IEnumMonikerVtbl; |
| struct IEnumMoniker { |
| const IEnumMonikerVtbl* lpVtbl; |
| }; |
| struct IEnumMonikerVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumMoniker* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumMoniker* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumMoniker* This); |
| |
| /*** IEnumMoniker methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumMoniker* This, |
| ULONG celt, |
| IMoniker** rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumMoniker* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumMoniker* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumMoniker* This, |
| IEnumMoniker** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumMoniker_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumMoniker_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumMoniker methods ***/ |
| #define IEnumMoniker_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumMoniker_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumMoniker_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumMoniker_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumMoniker_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; \ |
| /*** IEnumMoniker methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, IMoniker** rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumMoniker** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumMoniker_RemoteNext_Proxy( |
| IEnumMoniker* This, |
| ULONG celt, |
| IMoniker** rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumMoniker_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMoniker_Next_Proxy( |
| IEnumMoniker* This, |
| ULONG celt, |
| IMoniker** rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumMoniker_Next_Stub( |
| IEnumMoniker* This, |
| ULONG celt, |
| IMoniker** rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumMoniker_Skip_Proxy( |
| IEnumMoniker* This, |
| ULONG celt); |
| void __RPC_STUB IEnumMoniker_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMoniker_Reset_Proxy( |
| IEnumMoniker* This); |
| void __RPC_STUB IEnumMoniker_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumMoniker_Clone_Proxy( |
| IEnumMoniker* This, |
| IEnumMoniker** ppenum); |
| void __RPC_STUB IEnumMoniker_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRunnableObject IRunnableObject; |
| typedef IRunnableObject *LPRUNNABLEOBJECT; |
| |
| /***************************************************************************** |
| * IRunnableObject interface |
| */ |
| DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRunnableObject: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetRunningClass( |
| LPCLSID lpClsid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Run( |
| LPBINDCTX pbc) = 0; |
| |
| virtual BOOL STDMETHODCALLTYPE IsRunning( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE LockRunning( |
| BOOL fLock, |
| BOOL fLastUnlockCloses) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetContainedObject( |
| BOOL fContained) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRunnableObjectVtbl IRunnableObjectVtbl; |
| struct IRunnableObject { |
| const IRunnableObjectVtbl* lpVtbl; |
| }; |
| struct IRunnableObjectVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRunnableObject* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRunnableObject* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRunnableObject* This); |
| |
| /*** IRunnableObject methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetRunningClass)( |
| IRunnableObject* This, |
| LPCLSID lpClsid); |
| |
| HRESULT (STDMETHODCALLTYPE *Run)( |
| IRunnableObject* This, |
| LPBINDCTX pbc); |
| |
| BOOL (STDMETHODCALLTYPE *IsRunning)( |
| IRunnableObject* This); |
| |
| HRESULT (STDMETHODCALLTYPE *LockRunning)( |
| IRunnableObject* This, |
| BOOL fLock, |
| BOOL fLastUnlockCloses); |
| |
| HRESULT (STDMETHODCALLTYPE *SetContainedObject)( |
| IRunnableObject* This, |
| BOOL fContained); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRunnableObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRunnableObject_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRunnableObject_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRunnableObject methods ***/ |
| #define IRunnableObject_GetRunningClass(p,a) (p)->lpVtbl->GetRunningClass(p,a) |
| #define IRunnableObject_Run(p,a) (p)->lpVtbl->Run(p,a) |
| #define IRunnableObject_IsRunning(p) (p)->lpVtbl->IsRunning(p) |
| #define IRunnableObject_LockRunning(p,a,b) (p)->lpVtbl->LockRunning(p,a,b) |
| #define IRunnableObject_SetContainedObject(p,a) (p)->lpVtbl->SetContainedObject(p,a) |
| |
| #endif |
| |
| #define IRunnableObject_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; \ |
| /*** IRunnableObject methods ***/ \ |
| STDMETHOD_(HRESULT,GetRunningClass)(THIS_ LPCLSID lpClsid) PURE; \ |
| STDMETHOD_(HRESULT,Run)(THIS_ LPBINDCTX pbc) PURE; \ |
| STDMETHOD_(BOOL,IsRunning)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,LockRunning)(THIS_ BOOL fLock, BOOL fLastUnlockCloses) PURE; \ |
| STDMETHOD_(HRESULT,SetContainedObject)(THIS_ BOOL fContained) PURE; |
| |
| HRESULT CALLBACK IRunnableObject_GetRunningClass_Proxy( |
| IRunnableObject* This, |
| LPCLSID lpClsid); |
| void __RPC_STUB IRunnableObject_GetRunningClass_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunnableObject_Run_Proxy( |
| IRunnableObject* This, |
| LPBINDCTX pbc); |
| void __RPC_STUB IRunnableObject_Run_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunnableObject_RemoteIsRunning_Proxy( |
| IRunnableObject* This); |
| void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| BOOL CALLBACK IRunnableObject_IsRunning_Proxy( |
| IRunnableObject* This); |
| HRESULT __RPC_STUB IRunnableObject_IsRunning_Stub( |
| IRunnableObject* This); |
| HRESULT CALLBACK IRunnableObject_LockRunning_Proxy( |
| IRunnableObject* This, |
| BOOL fLock, |
| BOOL fLastUnlockCloses); |
| void __RPC_STUB IRunnableObject_LockRunning_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunnableObject_SetContainedObject_Proxy( |
| IRunnableObject* This, |
| BOOL fContained); |
| void __RPC_STUB IRunnableObject_SetContainedObject_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #ifdef __WINESRC__ |
| #undef GetObject |
| #endif |
| typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE; |
| |
| /***************************************************************************** |
| * IRunningObjectTable interface |
| */ |
| DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRunningObjectTable: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Register( |
| DWORD grfFlags, |
| IUnknown* punkObject, |
| IMoniker* pmkObjectName, |
| DWORD* pdwRegister) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revoke( |
| DWORD dwRegister) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsRunning( |
| IMoniker* pmkObjectName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetObject( |
| IMoniker* pmkObjectName, |
| IUnknown** ppunkObject) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE NoteChangeTime( |
| DWORD dwRegister, |
| FILETIME* pfiletime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( |
| IMoniker* pmkObjectName, |
| FILETIME* pfiletime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumRunning( |
| IEnumMoniker** ppenumMoniker) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl; |
| struct IRunningObjectTable { |
| const IRunningObjectTableVtbl* lpVtbl; |
| }; |
| struct IRunningObjectTableVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRunningObjectTable* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRunningObjectTable* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRunningObjectTable* This); |
| |
| /*** IRunningObjectTable methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Register)( |
| IRunningObjectTable* This, |
| DWORD grfFlags, |
| IUnknown* punkObject, |
| IMoniker* pmkObjectName, |
| DWORD* pdwRegister); |
| |
| HRESULT (STDMETHODCALLTYPE *Revoke)( |
| IRunningObjectTable* This, |
| DWORD dwRegister); |
| |
| HRESULT (STDMETHODCALLTYPE *IsRunning)( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName); |
| |
| HRESULT (STDMETHODCALLTYPE *GetObject)( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName, |
| IUnknown** ppunkObject); |
| |
| HRESULT (STDMETHODCALLTYPE *NoteChangeTime)( |
| IRunningObjectTable* This, |
| DWORD dwRegister, |
| FILETIME* pfiletime); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName, |
| FILETIME* pfiletime); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumRunning)( |
| IRunningObjectTable* This, |
| IEnumMoniker** ppenumMoniker); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRunningObjectTable_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRunningObjectTable_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRunningObjectTable_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRunningObjectTable methods ***/ |
| #define IRunningObjectTable_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d) |
| #define IRunningObjectTable_Revoke(p,a) (p)->lpVtbl->Revoke(p,a) |
| #define IRunningObjectTable_IsRunning(p,a) (p)->lpVtbl->IsRunning(p,a) |
| #define IRunningObjectTable_GetObject(p,a,b) (p)->lpVtbl->GetObject(p,a,b) |
| #define IRunningObjectTable_NoteChangeTime(p,a,b) (p)->lpVtbl->NoteChangeTime(p,a,b) |
| #define IRunningObjectTable_GetTimeOfLastChange(p,a,b) (p)->lpVtbl->GetTimeOfLastChange(p,a,b) |
| #define IRunningObjectTable_EnumRunning(p,a) (p)->lpVtbl->EnumRunning(p,a) |
| |
| #endif |
| |
| #define IRunningObjectTable_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; \ |
| /*** IRunningObjectTable methods ***/ \ |
| STDMETHOD_(HRESULT,Register)(THIS_ DWORD grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, DWORD* pdwRegister) PURE; \ |
| STDMETHOD_(HRESULT,Revoke)(THIS_ DWORD dwRegister) PURE; \ |
| STDMETHOD_(HRESULT,IsRunning)(THIS_ IMoniker* pmkObjectName) PURE; \ |
| STDMETHOD_(HRESULT,GetObject)(THIS_ IMoniker* pmkObjectName, IUnknown** ppunkObject) PURE; \ |
| STDMETHOD_(HRESULT,NoteChangeTime)(THIS_ DWORD dwRegister, FILETIME* pfiletime) PURE; \ |
| STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IMoniker* pmkObjectName, FILETIME* pfiletime) PURE; \ |
| STDMETHOD_(HRESULT,EnumRunning)(THIS_ IEnumMoniker** ppenumMoniker) PURE; |
| |
| HRESULT CALLBACK IRunningObjectTable_Register_Proxy( |
| IRunningObjectTable* This, |
| DWORD grfFlags, |
| IUnknown* punkObject, |
| IMoniker* pmkObjectName, |
| DWORD* pdwRegister); |
| void __RPC_STUB IRunningObjectTable_Register_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_Revoke_Proxy( |
| IRunningObjectTable* This, |
| DWORD dwRegister); |
| void __RPC_STUB IRunningObjectTable_Revoke_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_IsRunning_Proxy( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName); |
| void __RPC_STUB IRunningObjectTable_IsRunning_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_GetObject_Proxy( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName, |
| IUnknown** ppunkObject); |
| void __RPC_STUB IRunningObjectTable_GetObject_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_NoteChangeTime_Proxy( |
| IRunningObjectTable* This, |
| DWORD dwRegister, |
| FILETIME* pfiletime); |
| void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_GetTimeOfLastChange_Proxy( |
| IRunningObjectTable* This, |
| IMoniker* pmkObjectName, |
| FILETIME* pfiletime); |
| void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRunningObjectTable_EnumRunning_Proxy( |
| IRunningObjectTable* This, |
| IEnumMoniker** ppenumMoniker); |
| void __RPC_STUB IRunningObjectTable_EnumRunning_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPersist IPersist; |
| typedef IPersist *LPPERSIST; |
| |
| /***************************************************************************** |
| * IPersist interface |
| */ |
| DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPersist: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetClassID( |
| CLSID* pClassID) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPersistVtbl IPersistVtbl; |
| struct IPersist { |
| const IPersistVtbl* lpVtbl; |
| }; |
| struct IPersistVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPersist* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPersist* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPersist* This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IPersist* This, |
| CLSID* pClassID); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPersist_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPersist_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPersist_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IPersist_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| |
| #endif |
| |
| #define IPersist_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; |
| |
| HRESULT CALLBACK IPersist_GetClassID_Proxy( |
| IPersist* This, |
| CLSID* pClassID); |
| void __RPC_STUB IPersist_GetClassID_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPersistStream IPersistStream; |
| typedef IPersistStream *LPPERSISTSTREAM; |
| |
| /***************************************************************************** |
| * IPersistStream interface |
| */ |
| DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPersistStream: IPersist { |
| |
| virtual HRESULT STDMETHODCALLTYPE IsDirty( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Load( |
| IStream* pStm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Save( |
| IStream* pStm, |
| BOOL fClearDirty) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetSizeMax( |
| ULARGE_INTEGER* pcbSize) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPersistStreamVtbl IPersistStreamVtbl; |
| struct IPersistStream { |
| const IPersistStreamVtbl* lpVtbl; |
| }; |
| struct IPersistStreamVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPersistStream* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPersistStream* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPersistStream* This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IPersistStream* This, |
| CLSID* pClassID); |
| |
| /*** IPersistStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *IsDirty)( |
| IPersistStream* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Load)( |
| IPersistStream* This, |
| IStream* pStm); |
| |
| HRESULT (STDMETHODCALLTYPE *Save)( |
| IPersistStream* This, |
| IStream* pStm, |
| BOOL fClearDirty); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSizeMax)( |
| IPersistStream* This, |
| ULARGE_INTEGER* pcbSize); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPersistStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPersistStream_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPersistStream_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IPersistStream_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IPersistStream methods ***/ |
| #define IPersistStream_IsDirty(p) (p)->lpVtbl->IsDirty(p) |
| #define IPersistStream_Load(p,a) (p)->lpVtbl->Load(p,a) |
| #define IPersistStream_Save(p,a,b) (p)->lpVtbl->Save(p,a,b) |
| #define IPersistStream_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a) |
| |
| #endif |
| |
| #define IPersistStream_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; \ |
| /*** IPersistStream methods ***/ \ |
| STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \ |
| STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \ |
| STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; |
| |
| HRESULT CALLBACK IPersistStream_IsDirty_Proxy( |
| IPersistStream* This); |
| void __RPC_STUB IPersistStream_IsDirty_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStream_Load_Proxy( |
| IPersistStream* This, |
| IStream* pStm); |
| void __RPC_STUB IPersistStream_Load_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStream_Save_Proxy( |
| IPersistStream* This, |
| IStream* pStm, |
| BOOL fClearDirty); |
| void __RPC_STUB IPersistStream_Save_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStream_GetSizeMax_Proxy( |
| IPersistStream* This, |
| ULARGE_INTEGER* pcbSize); |
| void __RPC_STUB IPersistStream_GetSizeMax_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IMoniker *LPMONIKER; |
| |
| typedef enum tagMKSYS { |
| MKSYS_NONE = 0, |
| MKSYS_GENERICCOMPOSITE = 1, |
| MKSYS_FILEMONIKER = 2, |
| MKSYS_ANTIMONIKER = 3, |
| MKSYS_ITEMMONIKER = 4, |
| MKSYS_POINTERMONIKER = 5, |
| MKSYS_CLASSMONIKER = 7 |
| } MKSYS; |
| |
| typedef enum tagMKREDUCE { |
| MKRREDUCE_ONE = 3 << 16, |
| MKRREDUCE_TOUSER = 2 << 16, |
| MKRREDUCE_THROUGHUSER = 1 << 16, |
| MKRREDUCE_ALL = 0 |
| } MKRREDUCE; |
| |
| /***************************************************************************** |
| * IMoniker interface |
| */ |
| DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMoniker: IPersistStream { |
| |
| virtual HRESULT STDMETHODCALLTYPE BindToObject( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riidResult, |
| void** ppvResult) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE BindToStorage( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riid, |
| void** ppvObj) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reduce( |
| IBindCtx* pbc, |
| DWORD dwReduceHowFar, |
| IMoniker** ppmkToLeft, |
| IMoniker** ppmkReduced) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ComposeWith( |
| IMoniker* pmkRight, |
| BOOL fOnlyIfNotGeneric, |
| IMoniker** ppmkComposite) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Enum( |
| BOOL fForward, |
| IEnumMoniker** ppenumMoniker) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsEqual( |
| IMoniker* pmkOtherMoniker) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Hash( |
| DWORD* pdwHash) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsRunning( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| IMoniker* pmkNewlyRunning) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| FILETIME* pFileTime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Inverse( |
| IMoniker** ppmk) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith( |
| IMoniker* pmkOther, |
| IMoniker** ppmkPrefix) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RelativePathTo( |
| IMoniker* pmkOther, |
| IMoniker** ppmkRelPath) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDisplayName( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR* ppszDisplayName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR pszDisplayName, |
| ULONG* pchEaten, |
| IMoniker** ppmkOut) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker( |
| DWORD* pdwMksys) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMonikerVtbl IMonikerVtbl; |
| struct IMoniker { |
| const IMonikerVtbl* lpVtbl; |
| }; |
| struct IMonikerVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMoniker* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMoniker* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMoniker* This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IMoniker* This, |
| CLSID* pClassID); |
| |
| /*** IPersistStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *IsDirty)( |
| IMoniker* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Load)( |
| IMoniker* This, |
| IStream* pStm); |
| |
| HRESULT (STDMETHODCALLTYPE *Save)( |
| IMoniker* This, |
| IStream* pStm, |
| BOOL fClearDirty); |
| |
| HRESULT (STDMETHODCALLTYPE *GetSizeMax)( |
| IMoniker* This, |
| ULARGE_INTEGER* pcbSize); |
| |
| /*** IMoniker methods ***/ |
| HRESULT (STDMETHODCALLTYPE *BindToObject)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riidResult, |
| void** ppvResult); |
| |
| HRESULT (STDMETHODCALLTYPE *BindToStorage)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riid, |
| void** ppvObj); |
| |
| HRESULT (STDMETHODCALLTYPE *Reduce)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| DWORD dwReduceHowFar, |
| IMoniker** ppmkToLeft, |
| IMoniker** ppmkReduced); |
| |
| HRESULT (STDMETHODCALLTYPE *ComposeWith)( |
| IMoniker* This, |
| IMoniker* pmkRight, |
| BOOL fOnlyIfNotGeneric, |
| IMoniker** ppmkComposite); |
| |
| HRESULT (STDMETHODCALLTYPE *Enum)( |
| IMoniker* This, |
| BOOL fForward, |
| IEnumMoniker** ppenumMoniker); |
| |
| HRESULT (STDMETHODCALLTYPE *IsEqual)( |
| IMoniker* This, |
| IMoniker* pmkOtherMoniker); |
| |
| HRESULT (STDMETHODCALLTYPE *Hash)( |
| IMoniker* This, |
| DWORD* pdwHash); |
| |
| HRESULT (STDMETHODCALLTYPE *IsRunning)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| IMoniker* pmkNewlyRunning); |
| |
| HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| FILETIME* pFileTime); |
| |
| HRESULT (STDMETHODCALLTYPE *Inverse)( |
| IMoniker* This, |
| IMoniker** ppmk); |
| |
| HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)( |
| IMoniker* This, |
| IMoniker* pmkOther, |
| IMoniker** ppmkPrefix); |
| |
| HRESULT (STDMETHODCALLTYPE *RelativePathTo)( |
| IMoniker* This, |
| IMoniker* pmkOther, |
| IMoniker** ppmkRelPath); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDisplayName)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR* ppszDisplayName); |
| |
| HRESULT (STDMETHODCALLTYPE *ParseDisplayName)( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR pszDisplayName, |
| ULONG* pchEaten, |
| IMoniker** ppmkOut); |
| |
| HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)( |
| IMoniker* This, |
| DWORD* pdwMksys); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMoniker_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMoniker_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IPersistStream methods ***/ |
| #define IMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p) |
| #define IMoniker_Load(p,a) (p)->lpVtbl->Load(p,a) |
| #define IMoniker_Save(p,a,b) (p)->lpVtbl->Save(p,a,b) |
| #define IMoniker_GetSizeMax(p,a) (p)->lpVtbl->GetSizeMax(p,a) |
| /*** IMoniker methods ***/ |
| #define IMoniker_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d) |
| #define IMoniker_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d) |
| #define IMoniker_Reduce(p,a,b,c,d) (p)->lpVtbl->Reduce(p,a,b,c,d) |
| #define IMoniker_ComposeWith(p,a,b,c) (p)->lpVtbl->ComposeWith(p,a,b,c) |
| #define IMoniker_Enum(p,a,b) (p)->lpVtbl->Enum(p,a,b) |
| #define IMoniker_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a) |
| #define IMoniker_Hash(p,a) (p)->lpVtbl->Hash(p,a) |
| #define IMoniker_IsRunning(p,a,b,c) (p)->lpVtbl->IsRunning(p,a,b,c) |
| #define IMoniker_GetTimeOfLastChange(p,a,b,c) (p)->lpVtbl->GetTimeOfLastChange(p,a,b,c) |
| #define IMoniker_Inverse(p,a) (p)->lpVtbl->Inverse(p,a) |
| #define IMoniker_CommonPrefixWith(p,a,b) (p)->lpVtbl->CommonPrefixWith(p,a,b) |
| #define IMoniker_RelativePathTo(p,a,b) (p)->lpVtbl->RelativePathTo(p,a,b) |
| #define IMoniker_GetDisplayName(p,a,b,c) (p)->lpVtbl->GetDisplayName(p,a,b,c) |
| #define IMoniker_ParseDisplayName(p,a,b,c,d,e) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e) |
| #define IMoniker_IsSystemMoniker(p,a) (p)->lpVtbl->IsSystemMoniker(p,a) |
| |
| #endif |
| |
| #define IMoniker_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; \ |
| /*** IPersistStream methods ***/ \ |
| STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Load)(THIS_ IStream* pStm) PURE; \ |
| STDMETHOD_(HRESULT,Save)(THIS_ IStream* pStm, BOOL fClearDirty) PURE; \ |
| STDMETHOD_(HRESULT,GetSizeMax)(THIS_ ULARGE_INTEGER* pcbSize) PURE; \ |
| /*** IMoniker methods ***/ \ |
| STDMETHOD_(HRESULT,BindToObject)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riidResult, void** ppvResult) PURE; \ |
| STDMETHOD_(HRESULT,BindToStorage)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, REFIID riid, void** ppvObj) PURE; \ |
| STDMETHOD_(HRESULT,Reduce)(THIS_ IBindCtx* pbc, DWORD dwReduceHowFar, IMoniker** ppmkToLeft, IMoniker** ppmkReduced) PURE; \ |
| STDMETHOD_(HRESULT,ComposeWith)(THIS_ IMoniker* pmkRight, BOOL fOnlyIfNotGeneric, IMoniker** ppmkComposite) PURE; \ |
| STDMETHOD_(HRESULT,Enum)(THIS_ BOOL fForward, IEnumMoniker** ppenumMoniker) PURE; \ |
| STDMETHOD_(HRESULT,IsEqual)(THIS_ IMoniker* pmkOtherMoniker) PURE; \ |
| STDMETHOD_(HRESULT,Hash)(THIS_ DWORD* pdwHash) PURE; \ |
| STDMETHOD_(HRESULT,IsRunning)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, IMoniker* pmkNewlyRunning) PURE; \ |
| STDMETHOD_(HRESULT,GetTimeOfLastChange)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, FILETIME* pFileTime) PURE; \ |
| STDMETHOD_(HRESULT,Inverse)(THIS_ IMoniker** ppmk) PURE; \ |
| STDMETHOD_(HRESULT,CommonPrefixWith)(THIS_ IMoniker* pmkOther, IMoniker** ppmkPrefix) PURE; \ |
| STDMETHOD_(HRESULT,RelativePathTo)(THIS_ IMoniker* pmkOther, IMoniker** ppmkRelPath) PURE; \ |
| STDMETHOD_(HRESULT,GetDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR* ppszDisplayName) PURE; \ |
| STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ IBindCtx* pbc, IMoniker* pmkToLeft, LPOLESTR pszDisplayName, ULONG* pchEaten, IMoniker** ppmkOut) PURE; \ |
| STDMETHOD_(HRESULT,IsSystemMoniker)(THIS_ DWORD* pdwMksys) PURE; |
| |
| HRESULT CALLBACK IMoniker_RemoteBindToObject_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riidResult, |
| IUnknown** ppvResult); |
| void __RPC_STUB IMoniker_RemoteBindToObject_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_BindToObject_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riidResult, |
| void** ppvResult); |
| HRESULT __RPC_STUB IMoniker_BindToObject_Stub( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riidResult, |
| IUnknown** ppvResult); |
| HRESULT CALLBACK IMoniker_RemoteBindToStorage_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riid, |
| IUnknown** ppvObj); |
| void __RPC_STUB IMoniker_RemoteBindToStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_BindToStorage_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riid, |
| void** ppvObj); |
| HRESULT __RPC_STUB IMoniker_BindToStorage_Stub( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| REFIID riid, |
| IUnknown** ppvObj); |
| HRESULT CALLBACK IMoniker_Reduce_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| DWORD dwReduceHowFar, |
| IMoniker** ppmkToLeft, |
| IMoniker** ppmkReduced); |
| void __RPC_STUB IMoniker_Reduce_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_ComposeWith_Proxy( |
| IMoniker* This, |
| IMoniker* pmkRight, |
| BOOL fOnlyIfNotGeneric, |
| IMoniker** ppmkComposite); |
| void __RPC_STUB IMoniker_ComposeWith_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_Enum_Proxy( |
| IMoniker* This, |
| BOOL fForward, |
| IEnumMoniker** ppenumMoniker); |
| void __RPC_STUB IMoniker_Enum_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_IsEqual_Proxy( |
| IMoniker* This, |
| IMoniker* pmkOtherMoniker); |
| void __RPC_STUB IMoniker_IsEqual_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_Hash_Proxy( |
| IMoniker* This, |
| DWORD* pdwHash); |
| void __RPC_STUB IMoniker_Hash_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_IsRunning_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| IMoniker* pmkNewlyRunning); |
| void __RPC_STUB IMoniker_IsRunning_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_GetTimeOfLastChange_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| FILETIME* pFileTime); |
| void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_Inverse_Proxy( |
| IMoniker* This, |
| IMoniker** ppmk); |
| void __RPC_STUB IMoniker_Inverse_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_CommonPrefixWith_Proxy( |
| IMoniker* This, |
| IMoniker* pmkOther, |
| IMoniker** ppmkPrefix); |
| void __RPC_STUB IMoniker_CommonPrefixWith_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_RelativePathTo_Proxy( |
| IMoniker* This, |
| IMoniker* pmkOther, |
| IMoniker** ppmkRelPath); |
| void __RPC_STUB IMoniker_RelativePathTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_GetDisplayName_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR* ppszDisplayName); |
| void __RPC_STUB IMoniker_GetDisplayName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_ParseDisplayName_Proxy( |
| IMoniker* This, |
| IBindCtx* pbc, |
| IMoniker* pmkToLeft, |
| LPOLESTR pszDisplayName, |
| ULONG* pchEaten, |
| IMoniker** ppmkOut); |
| void __RPC_STUB IMoniker_ParseDisplayName_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IMoniker_IsSystemMoniker_Proxy( |
| IMoniker* This, |
| DWORD* pdwMksys); |
| void __RPC_STUB IMoniker_IsSystemMoniker_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IROTData IROTData; |
| /***************************************************************************** |
| * IROTData interface |
| */ |
| DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IROTData: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetComparisonData( |
| byte* pbData, |
| ULONG cbMax, |
| ULONG* pcbData) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IROTDataVtbl IROTDataVtbl; |
| struct IROTData { |
| const IROTDataVtbl* lpVtbl; |
| }; |
| struct IROTDataVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IROTData* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IROTData* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IROTData* This); |
| |
| /*** IROTData methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetComparisonData)( |
| IROTData* This, |
| byte* pbData, |
| ULONG cbMax, |
| ULONG* pcbData); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IROTData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IROTData_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IROTData_Release(p) (p)->lpVtbl->Release(p) |
| /*** IROTData methods ***/ |
| #define IROTData_GetComparisonData(p,a,b,c) (p)->lpVtbl->GetComparisonData(p,a,b,c) |
| |
| #endif |
| |
| #define IROTData_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; \ |
| /*** IROTData methods ***/ \ |
| STDMETHOD_(HRESULT,GetComparisonData)(THIS_ byte* pbData, ULONG cbMax, ULONG* pcbData) PURE; |
| |
| HRESULT CALLBACK IROTData_GetComparisonData_Proxy( |
| IROTData* This, |
| byte* pbData, |
| ULONG cbMax, |
| ULONG* pcbData); |
| void __RPC_STUB IROTData_GetComparisonData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IEnumString *LPENUMSTRING; |
| |
| /***************************************************************************** |
| * IEnumString interface |
| */ |
| DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumString: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| LPOLESTR* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumString** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumStringVtbl IEnumStringVtbl; |
| struct IEnumString { |
| const IEnumStringVtbl* lpVtbl; |
| }; |
| struct IEnumStringVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumString* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumString* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumString* This); |
| |
| /*** IEnumString methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumString* This, |
| ULONG celt, |
| LPOLESTR* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumString* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumString* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumString* This, |
| IEnumString** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumString_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumString_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumString_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumString methods ***/ |
| #define IEnumString_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumString_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumString_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumString_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumString_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; \ |
| /*** IEnumString methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPOLESTR* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumString** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumString_RemoteNext_Proxy( |
| IEnumString* This, |
| ULONG celt, |
| LPOLESTR* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumString_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumString_Next_Proxy( |
| IEnumString* This, |
| ULONG celt, |
| LPOLESTR* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumString_Next_Stub( |
| IEnumString* This, |
| ULONG celt, |
| LPOLESTR* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumString_Skip_Proxy( |
| IEnumString* This, |
| ULONG celt); |
| void __RPC_STUB IEnumString_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumString_Reset_Proxy( |
| IEnumString* This); |
| void __RPC_STUB IEnumString_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumString_Clone_Proxy( |
| IEnumString* This, |
| IEnumString** ppenum); |
| void __RPC_STUB IEnumString_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IClassActivator IClassActivator; |
| /***************************************************************************** |
| * IClassActivator interface |
| */ |
| DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IClassActivator: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetClassObject( |
| REFCLSID rclsid, |
| DWORD dwClassContext, |
| LCID locale, |
| REFIID riid, |
| void** ppv) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IClassActivatorVtbl IClassActivatorVtbl; |
| struct IClassActivator { |
| const IClassActivatorVtbl* lpVtbl; |
| }; |
| struct IClassActivatorVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IClassActivator* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IClassActivator* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IClassActivator* This); |
| |
| /*** IClassActivator methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassObject)( |
| IClassActivator* This, |
| REFCLSID rclsid, |
| DWORD dwClassContext, |
| LCID locale, |
| REFIID riid, |
| void** ppv); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IClassActivator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IClassActivator_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IClassActivator_Release(p) (p)->lpVtbl->Release(p) |
| /*** IClassActivator methods ***/ |
| #define IClassActivator_GetClassObject(p,a,b,c,d,e) (p)->lpVtbl->GetClassObject(p,a,b,c,d,e) |
| |
| #endif |
| |
| #define IClassActivator_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; \ |
| /*** IClassActivator methods ***/ \ |
| STDMETHOD_(HRESULT,GetClassObject)(THIS_ REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) PURE; |
| |
| HRESULT CALLBACK IClassActivator_GetClassObject_Proxy( |
| IClassActivator* This, |
| REFCLSID rclsid, |
| DWORD dwClassContext, |
| LCID locale, |
| REFIID riid, |
| void** ppv); |
| void __RPC_STUB IClassActivator_GetClassObject_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct ISequentialStream ISequentialStream; |
| /***************************************************************************** |
| * ISequentialStream interface |
| */ |
| DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ISequentialStream: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Read( |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Write( |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct ISequentialStreamVtbl ISequentialStreamVtbl; |
| struct ISequentialStream { |
| const ISequentialStreamVtbl* lpVtbl; |
| }; |
| struct ISequentialStreamVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ISequentialStream* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ISequentialStream* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ISequentialStream* This); |
| |
| /*** ISequentialStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Read)( |
| ISequentialStream* This, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| |
| HRESULT (STDMETHODCALLTYPE *Write)( |
| ISequentialStream* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ISequentialStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ISequentialStream_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ISequentialStream_Release(p) (p)->lpVtbl->Release(p) |
| /*** ISequentialStream methods ***/ |
| #define ISequentialStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c) |
| #define ISequentialStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c) |
| |
| #endif |
| |
| #define ISequentialStream_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; \ |
| /*** ISequentialStream methods ***/ \ |
| STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \ |
| STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; |
| |
| HRESULT CALLBACK ISequentialStream_RemoteRead_Proxy( |
| ISequentialStream* This, |
| byte* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| void __RPC_STUB ISequentialStream_RemoteRead_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ISequentialStream_Read_Proxy( |
| ISequentialStream* This, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| HRESULT __RPC_STUB ISequentialStream_Read_Stub( |
| ISequentialStream* This, |
| byte* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| HRESULT CALLBACK ISequentialStream_RemoteWrite_Proxy( |
| ISequentialStream* This, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| void __RPC_STUB ISequentialStream_RemoteWrite_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ISequentialStream_Write_Proxy( |
| ISequentialStream* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT __RPC_STUB ISequentialStream_Write_Stub( |
| ISequentialStream* This, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| typedef IStream *LPSTREAM; |
| |
| typedef struct tagSTATSTG { |
| LPOLESTR pwcsName; |
| DWORD type; |
| ULARGE_INTEGER cbSize; |
| FILETIME mtime; |
| FILETIME ctime; |
| FILETIME atime; |
| DWORD grfMode; |
| DWORD grfLocksSupported; |
| CLSID clsid; |
| DWORD grfStateBits; |
| DWORD reserved; |
| } STATSTG; |
| |
| typedef enum tagSTGTY { |
| STGTY_STORAGE = 1, |
| STGTY_STREAM = 2, |
| STGTY_LOCKBYTES = 3, |
| STGTY_PROPERTY = 4 |
| } STGTY; |
| |
| typedef enum tagSTREAM_SEEK { |
| STREAM_SEEK_SET = 0, |
| STREAM_SEEK_CUR = 1, |
| STREAM_SEEK_END = 2 |
| } STREAM_SEEK; |
| |
| #undef LOCK_MAND |
| #undef LOCK_READ |
| #undef LOCK_WRITE |
| #undef LOCK_RW |
| typedef enum tagLOCKTYPE { |
| LOCK_WRITE = 1, |
| LOCK_EXCLUSIVE = 2, |
| LOCK_ONLYONCE = 4 |
| } LOCKTYPE; |
| |
| /***************************************************************************** |
| * IStream interface |
| */ |
| DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStream: ISequentialStream { |
| |
| virtual HRESULT STDMETHODCALLTYPE Seek( |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSize( |
| ULARGE_INTEGER libNewSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyTo( |
| IStream* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| DWORD grfCommitFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revert( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE LockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnlockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATSTG* pstatstg, |
| DWORD grfStatFlag) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IStream** ppstm) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IStreamVtbl IStreamVtbl; |
| struct IStream { |
| const IStreamVtbl* lpVtbl; |
| }; |
| struct IStreamVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStream* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStream* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStream* This); |
| |
| /*** ISequentialStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Read)( |
| IStream* This, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| |
| HRESULT (STDMETHODCALLTYPE *Write)( |
| IStream* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| /*** IStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Seek)( |
| IStream* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSize)( |
| IStream* This, |
| ULARGE_INTEGER libNewSize); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyTo)( |
| IStream* This, |
| IStream* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IStream* This, |
| DWORD grfCommitFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Revert)( |
| IStream* This); |
| |
| HRESULT (STDMETHODCALLTYPE *LockRegion)( |
| IStream* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockRegion)( |
| IStream* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| IStream* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IStream* This, |
| IStream** ppstm); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStream_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStream_Release(p) (p)->lpVtbl->Release(p) |
| /*** ISequentialStream methods ***/ |
| #define IStream_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c) |
| #define IStream_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c) |
| /*** IStream methods ***/ |
| #define IStream_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c) |
| #define IStream_SetSize(p,a) (p)->lpVtbl->SetSize(p,a) |
| #define IStream_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d) |
| #define IStream_Commit(p,a) (p)->lpVtbl->Commit(p,a) |
| #define IStream_Revert(p) (p)->lpVtbl->Revert(p) |
| #define IStream_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c) |
| #define IStream_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c) |
| #define IStream_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b) |
| #define IStream_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IStream_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; \ |
| /*** ISequentialStream methods ***/ \ |
| STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \ |
| STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \ |
| /*** IStream methods ***/ \ |
| STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \ |
| STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \ |
| STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \ |
| STDMETHOD_(HRESULT,Revert)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IStream** ppstm) PURE; |
| |
| HRESULT CALLBACK IStream_RemoteSeek_Proxy( |
| IStream* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| void __RPC_STUB IStream_RemoteSeek_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_Seek_Proxy( |
| IStream* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| HRESULT __RPC_STUB IStream_Seek_Stub( |
| IStream* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| HRESULT CALLBACK IStream_SetSize_Proxy( |
| IStream* This, |
| ULARGE_INTEGER libNewSize); |
| void __RPC_STUB IStream_SetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_RemoteCopyTo_Proxy( |
| IStream* This, |
| IStream* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| void __RPC_STUB IStream_RemoteCopyTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_CopyTo_Proxy( |
| IStream* This, |
| IStream* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| HRESULT __RPC_STUB IStream_CopyTo_Stub( |
| IStream* This, |
| IStream* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| HRESULT CALLBACK IStream_Commit_Proxy( |
| IStream* This, |
| DWORD grfCommitFlags); |
| void __RPC_STUB IStream_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_Revert_Proxy( |
| IStream* This); |
| void __RPC_STUB IStream_Revert_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_LockRegion_Proxy( |
| IStream* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB IStream_LockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_UnlockRegion_Proxy( |
| IStream* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB IStream_UnlockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_Stat_Proxy( |
| IStream* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| void __RPC_STUB IStream_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream_Clone_Proxy( |
| IStream* This, |
| IStream** ppstm); |
| void __RPC_STUB IStream_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IStream16 *LPSTREAM16; |
| |
| typedef struct tagSTATSTG16 { |
| LPOLESTR16 pwcsName; |
| DWORD type; |
| ULARGE_INTEGER cbSize; |
| FILETIME mtime; |
| FILETIME ctime; |
| FILETIME atime; |
| DWORD grfMode; |
| DWORD grfLocksSupported; |
| CLSID clsid; |
| DWORD grfStateBits; |
| DWORD reserved; |
| } STATSTG16; |
| |
| /***************************************************************************** |
| * IStream16 interface |
| */ |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStream16: ISequentialStream { |
| |
| virtual HRESULT STDMETHODCALLTYPE Seek( |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSize( |
| ULARGE_INTEGER libNewSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyTo( |
| IStream16* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| DWORD grfCommitFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revert( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE LockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnlockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATSTG* pstatstg, |
| DWORD grfStatFlag) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IStream16** ppstm) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IStream16Vtbl IStream16Vtbl; |
| struct IStream16 { |
| const IStream16Vtbl* lpVtbl; |
| }; |
| struct IStream16Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStream16* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStream16* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStream16* This); |
| |
| /*** ISequentialStream methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Read)( |
| IStream16* This, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| |
| HRESULT (STDMETHODCALLTYPE *Write)( |
| IStream16* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| /*** IStream16 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Seek)( |
| IStream16* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSize)( |
| IStream16* This, |
| ULARGE_INTEGER libNewSize); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyTo)( |
| IStream16* This, |
| IStream16* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IStream16* This, |
| DWORD grfCommitFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Revert)( |
| IStream16* This); |
| |
| HRESULT (STDMETHODCALLTYPE *LockRegion)( |
| IStream16* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockRegion)( |
| IStream16* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| IStream16* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IStream16* This, |
| IStream16** ppstm); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStream16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStream16_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStream16_Release(p) (p)->lpVtbl->Release(p) |
| /*** ISequentialStream methods ***/ |
| #define IStream16_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c) |
| #define IStream16_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c) |
| /*** IStream16 methods ***/ |
| #define IStream16_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c) |
| #define IStream16_SetSize(p,a) (p)->lpVtbl->SetSize(p,a) |
| #define IStream16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d) |
| #define IStream16_Commit(p,a) (p)->lpVtbl->Commit(p,a) |
| #define IStream16_Revert(p) (p)->lpVtbl->Revert(p) |
| #define IStream16_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c) |
| #define IStream16_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c) |
| #define IStream16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b) |
| #define IStream16_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IStream16_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; \ |
| /*** ISequentialStream methods ***/ \ |
| STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead) PURE; \ |
| STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \ |
| /*** IStream16 methods ***/ \ |
| STDMETHOD_(HRESULT,Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER* plibNewPosition) PURE; \ |
| STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE; \ |
| STDMETHOD_(HRESULT,CopyTo)(THIS_ IStream16* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \ |
| STDMETHOD_(HRESULT,Revert)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IStream16** ppstm) PURE; |
| |
| HRESULT CALLBACK IStream16_RemoteSeek_Proxy( |
| IStream16* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| void __RPC_STUB IStream16_RemoteSeek_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_Seek_Proxy( |
| IStream16* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| HRESULT __RPC_STUB IStream16_Seek_Stub( |
| IStream16* This, |
| LARGE_INTEGER dlibMove, |
| DWORD dwOrigin, |
| ULARGE_INTEGER* plibNewPosition); |
| HRESULT CALLBACK IStream16_SetSize_Proxy( |
| IStream16* This, |
| ULARGE_INTEGER libNewSize); |
| void __RPC_STUB IStream16_SetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_RemoteCopyTo_Proxy( |
| IStream16* This, |
| IStream16* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| void __RPC_STUB IStream16_RemoteCopyTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_CopyTo_Proxy( |
| IStream16* This, |
| IStream16* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| HRESULT __RPC_STUB IStream16_CopyTo_Stub( |
| IStream16* This, |
| IStream16* pstm, |
| ULARGE_INTEGER cb, |
| ULARGE_INTEGER* pcbRead, |
| ULARGE_INTEGER* pcbWritten); |
| HRESULT CALLBACK IStream16_Commit_Proxy( |
| IStream16* This, |
| DWORD grfCommitFlags); |
| void __RPC_STUB IStream16_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_Revert_Proxy( |
| IStream16* This); |
| void __RPC_STUB IStream16_Revert_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_LockRegion_Proxy( |
| IStream16* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB IStream16_LockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_UnlockRegion_Proxy( |
| IStream16* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB IStream16_UnlockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_Stat_Proxy( |
| IStream16* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| void __RPC_STUB IStream16_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStream16_Clone_Proxy( |
| IStream16* This, |
| IStream16** ppstm); |
| void __RPC_STUB IStream16_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumSTATSTG IEnumSTATSTG; |
| typedef IEnumSTATSTG *LPENUMSTATSTG; |
| |
| /***************************************************************************** |
| * IEnumSTATSTG interface |
| */ |
| DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumSTATSTG: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| STATSTG* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumSTATSTG** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl; |
| struct IEnumSTATSTG { |
| const IEnumSTATSTGVtbl* lpVtbl; |
| }; |
| struct IEnumSTATSTGVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumSTATSTG* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumSTATSTG* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumSTATSTG* This); |
| |
| /*** IEnumSTATSTG methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumSTATSTG* This, |
| ULONG celt, |
| STATSTG* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumSTATSTG* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumSTATSTG* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumSTATSTG* This, |
| IEnumSTATSTG** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumSTATSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumSTATSTG_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumSTATSTG_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumSTATSTG methods ***/ |
| #define IEnumSTATSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumSTATSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumSTATSTG_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumSTATSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumSTATSTG_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; \ |
| /*** IEnumSTATSTG methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATSTG* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATSTG** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumSTATSTG_RemoteNext_Proxy( |
| IEnumSTATSTG* This, |
| ULONG celt, |
| STATSTG* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATSTG_Next_Proxy( |
| IEnumSTATSTG* This, |
| ULONG celt, |
| STATSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub( |
| IEnumSTATSTG* This, |
| ULONG celt, |
| STATSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumSTATSTG_Skip_Proxy( |
| IEnumSTATSTG* This, |
| ULONG celt); |
| void __RPC_STUB IEnumSTATSTG_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATSTG_Reset_Proxy( |
| IEnumSTATSTG* This); |
| void __RPC_STUB IEnumSTATSTG_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATSTG_Clone_Proxy( |
| IEnumSTATSTG* This, |
| IEnumSTATSTG** ppenum); |
| void __RPC_STUB IEnumSTATSTG_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IStorage IStorage; |
| typedef IStorage *LPSTORAGE; |
| |
| typedef struct tagRemSNB { |
| unsigned long ulCntStr; |
| unsigned long ulCntChar; |
| OLECHAR rgString[1]; |
| } RemSNB; |
| |
| typedef RemSNB *wireSNB; |
| |
| typedef OLECHAR **SNB; |
| unsigned long __RPC_USER SNB_UserSize (unsigned long *, unsigned long, SNB *); |
| unsigned char * __RPC_USER SNB_UserMarshal (unsigned long *, unsigned char *, SNB *); |
| unsigned char * __RPC_USER SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB *); |
| void __RPC_USER SNB_UserFree (unsigned long *, SNB *); |
| |
| /***************************************************************************** |
| * IStorage interface |
| */ |
| DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStorage: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateStream( |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream** ppstm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OpenStream( |
| LPCOLESTR pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream** ppstm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateStorage( |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage** ppstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OpenStorage( |
| LPCOLESTR pwcsName, |
| IStorage* pstgPriority, |
| DWORD grfMode, |
| SNB snbExclude, |
| DWORD reserved, |
| IStorage** ppstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyTo( |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB snbExclude, |
| IStorage* pstgDest) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE MoveElementTo( |
| LPCOLESTR pwcsName, |
| IStorage* pstgDest, |
| LPCOLESTR pwcsNewName, |
| DWORD grfFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| DWORD grfCommitFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revert( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumElements( |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DestroyElement( |
| LPCOLESTR pwcsName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenameElement( |
| LPCOLESTR pwcsOldName, |
| LPCOLESTR pwcsNewName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetElementTimes( |
| LPCOLESTR pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetClass( |
| REFCLSID clsid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetStateBits( |
| DWORD grfStateBits, |
| DWORD grfMask) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATSTG* pstatstg, |
| DWORD grfStatFlag) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IStorageVtbl IStorageVtbl; |
| struct IStorage { |
| const IStorageVtbl* lpVtbl; |
| }; |
| struct IStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStorage* This); |
| |
| /*** IStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateStream)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream** ppstm); |
| |
| HRESULT (STDMETHODCALLTYPE *OpenStream)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream** ppstm); |
| |
| HRESULT (STDMETHODCALLTYPE *CreateStorage)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage** ppstg); |
| |
| HRESULT (STDMETHODCALLTYPE *OpenStorage)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| IStorage* pstgPriority, |
| DWORD grfMode, |
| SNB snbExclude, |
| DWORD reserved, |
| IStorage** ppstg); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyTo)( |
| IStorage* This, |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB snbExclude, |
| IStorage* pstgDest); |
| |
| HRESULT (STDMETHODCALLTYPE *MoveElementTo)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| IStorage* pstgDest, |
| LPCOLESTR pwcsNewName, |
| DWORD grfFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IStorage* This, |
| DWORD grfCommitFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Revert)( |
| IStorage* This); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumElements)( |
| IStorage* This, |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| |
| HRESULT (STDMETHODCALLTYPE *DestroyElement)( |
| IStorage* This, |
| LPCOLESTR pwcsName); |
| |
| HRESULT (STDMETHODCALLTYPE *RenameElement)( |
| IStorage* This, |
| LPCOLESTR pwcsOldName, |
| LPCOLESTR pwcsNewName); |
| |
| HRESULT (STDMETHODCALLTYPE *SetElementTimes)( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| |
| HRESULT (STDMETHODCALLTYPE *SetClass)( |
| IStorage* This, |
| REFCLSID clsid); |
| |
| HRESULT (STDMETHODCALLTYPE *SetStateBits)( |
| IStorage* This, |
| DWORD grfStateBits, |
| DWORD grfMask); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| IStorage* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** IStorage methods ***/ |
| #define IStorage_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e) |
| #define IStorage_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e) |
| #define IStorage_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e) |
| #define IStorage_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f) |
| #define IStorage_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d) |
| #define IStorage_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d) |
| #define IStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a) |
| #define IStorage_Revert(p) (p)->lpVtbl->Revert(p) |
| #define IStorage_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d) |
| #define IStorage_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a) |
| #define IStorage_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b) |
| #define IStorage_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d) |
| #define IStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a) |
| #define IStorage_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b) |
| #define IStorage_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b) |
| |
| #endif |
| |
| #define IStorage_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; \ |
| /*** IStorage methods ***/ \ |
| STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream** ppstm) PURE; \ |
| STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream** ppstm) PURE; \ |
| STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage** ppstg) PURE; \ |
| STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstg) PURE; \ |
| STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB snbExclude, IStorage* pstgDest) PURE; \ |
| STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR pwcsName, IStorage* pstgDest, LPCOLESTR pwcsNewName, DWORD grfFlags) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \ |
| STDMETHOD_(HRESULT,Revert)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \ |
| STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR pwcsName) PURE; \ |
| STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR pwcsOldName, LPCOLESTR pwcsNewName) PURE; \ |
| STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \ |
| STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \ |
| STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; |
| |
| HRESULT CALLBACK IStorage_CreateStream_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream** ppstm); |
| void __RPC_STUB IStorage_CreateStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_RemoteOpenStream_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| unsigned long cbReserved1, |
| byte* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream** ppstm); |
| void __RPC_STUB IStorage_RemoteOpenStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_OpenStream_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream** ppstm); |
| HRESULT __RPC_STUB IStorage_OpenStream_Stub( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| unsigned long cbReserved1, |
| byte* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream** ppstm); |
| HRESULT CALLBACK IStorage_CreateStorage_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage** ppstg); |
| void __RPC_STUB IStorage_CreateStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_OpenStorage_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| IStorage* pstgPriority, |
| DWORD grfMode, |
| SNB snbExclude, |
| DWORD reserved, |
| IStorage** ppstg); |
| void __RPC_STUB IStorage_OpenStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_CopyTo_Proxy( |
| IStorage* This, |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB snbExclude, |
| IStorage* pstgDest); |
| void __RPC_STUB IStorage_CopyTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_MoveElementTo_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| IStorage* pstgDest, |
| LPCOLESTR pwcsNewName, |
| DWORD grfFlags); |
| void __RPC_STUB IStorage_MoveElementTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_Commit_Proxy( |
| IStorage* This, |
| DWORD grfCommitFlags); |
| void __RPC_STUB IStorage_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_Revert_Proxy( |
| IStorage* This); |
| void __RPC_STUB IStorage_Revert_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_RemoteEnumElements_Proxy( |
| IStorage* This, |
| DWORD reserved1, |
| unsigned long cbReserved2, |
| byte* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| void __RPC_STUB IStorage_RemoteEnumElements_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_EnumElements_Proxy( |
| IStorage* This, |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| HRESULT __RPC_STUB IStorage_EnumElements_Stub( |
| IStorage* This, |
| DWORD reserved1, |
| unsigned long cbReserved2, |
| byte* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| HRESULT CALLBACK IStorage_DestroyElement_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName); |
| void __RPC_STUB IStorage_DestroyElement_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_RenameElement_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsOldName, |
| LPCOLESTR pwcsNewName); |
| void __RPC_STUB IStorage_RenameElement_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_SetElementTimes_Proxy( |
| IStorage* This, |
| LPCOLESTR pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| void __RPC_STUB IStorage_SetElementTimes_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_SetClass_Proxy( |
| IStorage* This, |
| REFCLSID clsid); |
| void __RPC_STUB IStorage_SetClass_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_SetStateBits_Proxy( |
| IStorage* This, |
| DWORD grfStateBits, |
| DWORD grfMask); |
| void __RPC_STUB IStorage_SetStateBits_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage_Stat_Proxy( |
| IStorage* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| void __RPC_STUB IStorage_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IStorage16 IStorage16; |
| typedef IStorage16 *LPSTORAGE16; |
| |
| typedef struct tagRemSNB16 { |
| unsigned long ulCntStr; |
| unsigned long ulCntChar; |
| OLECHAR16 rgString[1]; |
| } RemSNB16; |
| |
| typedef RemSNB16 *wireSNB16; |
| |
| typedef OLECHAR16 **SNB16; |
| unsigned long __RPC_USER SNB16_UserSize (unsigned long *, unsigned long, SNB16 *); |
| unsigned char * __RPC_USER SNB16_UserMarshal (unsigned long *, unsigned char *, SNB16 *); |
| unsigned char * __RPC_USER SNB16_UserUnmarshal(unsigned long *, unsigned char *, SNB16 *); |
| void __RPC_USER SNB16_UserFree (unsigned long *, SNB16 *); |
| |
| /***************************************************************************** |
| * IStorage16 interface |
| */ |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IStorage16: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateStream( |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream16** ppstm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OpenStream( |
| LPCOLESTR16 pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream16** ppstm) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateStorage( |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage16** ppstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE OpenStorage( |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgPriority, |
| DWORD grfMode, |
| SNB16 snbExclude, |
| DWORD reserved, |
| IStorage16** ppstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyTo( |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB16 snbExclude, |
| IStorage16* pstgDest) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE MoveElementTo( |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgDest, |
| LPCOLESTR16 pwcsNewName, |
| DWORD grfFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| DWORD grfCommitFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revert( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumElements( |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DestroyElement( |
| LPCOLESTR16 pwcsName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RenameElement( |
| LPCOLESTR16 pwcsOldName, |
| LPCOLESTR16 pwcsNewName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetElementTimes( |
| LPCOLESTR16 pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetClass( |
| REFCLSID clsid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetStateBits( |
| DWORD grfStateBits, |
| DWORD grfMask) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATSTG* pstatstg, |
| DWORD grfStatFlag) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IStorage16Vtbl IStorage16Vtbl; |
| struct IStorage16 { |
| const IStorage16Vtbl* lpVtbl; |
| }; |
| struct IStorage16Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IStorage16* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IStorage16* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IStorage16* This); |
| |
| /*** IStorage16 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateStream)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream16** ppstm); |
| |
| HRESULT (STDMETHODCALLTYPE *OpenStream)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream16** ppstm); |
| |
| HRESULT (STDMETHODCALLTYPE *CreateStorage)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage16** ppstg); |
| |
| HRESULT (STDMETHODCALLTYPE *OpenStorage)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgPriority, |
| DWORD grfMode, |
| SNB16 snbExclude, |
| DWORD reserved, |
| IStorage16** ppstg); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyTo)( |
| IStorage16* This, |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB16 snbExclude, |
| IStorage16* pstgDest); |
| |
| HRESULT (STDMETHODCALLTYPE *MoveElementTo)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgDest, |
| LPCOLESTR16 pwcsNewName, |
| DWORD grfFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IStorage16* This, |
| DWORD grfCommitFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Revert)( |
| IStorage16* This); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumElements)( |
| IStorage16* This, |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| |
| HRESULT (STDMETHODCALLTYPE *DestroyElement)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName); |
| |
| HRESULT (STDMETHODCALLTYPE *RenameElement)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsOldName, |
| LPCOLESTR16 pwcsNewName); |
| |
| HRESULT (STDMETHODCALLTYPE *SetElementTimes)( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| |
| HRESULT (STDMETHODCALLTYPE *SetClass)( |
| IStorage16* This, |
| REFCLSID clsid); |
| |
| HRESULT (STDMETHODCALLTYPE *SetStateBits)( |
| IStorage16* This, |
| DWORD grfStateBits, |
| DWORD grfMask); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| IStorage16* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IStorage16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IStorage16_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IStorage16_Release(p) (p)->lpVtbl->Release(p) |
| /*** IStorage16 methods ***/ |
| #define IStorage16_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e) |
| #define IStorage16_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e) |
| #define IStorage16_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e) |
| #define IStorage16_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f) |
| #define IStorage16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d) |
| #define IStorage16_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d) |
| #define IStorage16_Commit(p,a) (p)->lpVtbl->Commit(p,a) |
| #define IStorage16_Revert(p) (p)->lpVtbl->Revert(p) |
| #define IStorage16_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d) |
| #define IStorage16_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a) |
| #define IStorage16_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b) |
| #define IStorage16_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d) |
| #define IStorage16_SetClass(p,a) (p)->lpVtbl->SetClass(p,a) |
| #define IStorage16_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b) |
| #define IStorage16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b) |
| |
| #endif |
| |
| #define IStorage16_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; \ |
| /*** IStorage16 methods ***/ \ |
| STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream16** ppstm) PURE; \ |
| STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR16 pwcsName, void* reserved1, DWORD grfMode, DWORD reserved2, IStream16** ppstm) PURE; \ |
| STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR16 pwcsName, DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage16** ppstg) PURE; \ |
| STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgPriority, DWORD grfMode, SNB16 snbExclude, DWORD reserved, IStorage16** ppstg) PURE; \ |
| STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID* rgiidExclude, SNB16 snbExclude, IStorage16* pstgDest) PURE; \ |
| STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR16 pwcsName, IStorage16* pstgDest, LPCOLESTR16 pwcsNewName, DWORD grfFlags) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \ |
| STDMETHOD_(HRESULT,Revert)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void* reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE; \ |
| STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR16 pwcsName) PURE; \ |
| STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR16 pwcsOldName, LPCOLESTR16 pwcsNewName) PURE; \ |
| STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR16 pwcsName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \ |
| STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \ |
| STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD grfMask) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; |
| |
| HRESULT CALLBACK IStorage16_CreateStream_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD reserved1, |
| DWORD reserved2, |
| IStream16** ppstm); |
| void __RPC_STUB IStorage16_CreateStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_RemoteOpenStream_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| unsigned long cbReserved1, |
| byte* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream16** ppstm); |
| void __RPC_STUB IStorage16_RemoteOpenStream_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_OpenStream_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| void* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream16** ppstm); |
| HRESULT __RPC_STUB IStorage16_OpenStream_Stub( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| unsigned long cbReserved1, |
| byte* reserved1, |
| DWORD grfMode, |
| DWORD reserved2, |
| IStream16** ppstm); |
| HRESULT CALLBACK IStorage16_CreateStorage_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| DWORD grfMode, |
| DWORD dwStgFmt, |
| DWORD reserved2, |
| IStorage16** ppstg); |
| void __RPC_STUB IStorage16_CreateStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_OpenStorage_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgPriority, |
| DWORD grfMode, |
| SNB16 snbExclude, |
| DWORD reserved, |
| IStorage16** ppstg); |
| void __RPC_STUB IStorage16_OpenStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_CopyTo_Proxy( |
| IStorage16* This, |
| DWORD ciidExclude, |
| const IID* rgiidExclude, |
| SNB16 snbExclude, |
| IStorage16* pstgDest); |
| void __RPC_STUB IStorage16_CopyTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_MoveElementTo_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| IStorage16* pstgDest, |
| LPCOLESTR16 pwcsNewName, |
| DWORD grfFlags); |
| void __RPC_STUB IStorage16_MoveElementTo_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_Commit_Proxy( |
| IStorage16* This, |
| DWORD grfCommitFlags); |
| void __RPC_STUB IStorage16_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_Revert_Proxy( |
| IStorage16* This); |
| void __RPC_STUB IStorage16_Revert_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_RemoteEnumElements_Proxy( |
| IStorage16* This, |
| DWORD reserved1, |
| unsigned long cbReserved2, |
| byte* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| void __RPC_STUB IStorage16_RemoteEnumElements_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_EnumElements_Proxy( |
| IStorage16* This, |
| DWORD reserved1, |
| void* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| HRESULT __RPC_STUB IStorage16_EnumElements_Stub( |
| IStorage16* This, |
| DWORD reserved1, |
| unsigned long cbReserved2, |
| byte* reserved2, |
| DWORD reserved3, |
| IEnumSTATSTG** ppenum); |
| HRESULT CALLBACK IStorage16_DestroyElement_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName); |
| void __RPC_STUB IStorage16_DestroyElement_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_RenameElement_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsOldName, |
| LPCOLESTR16 pwcsNewName); |
| void __RPC_STUB IStorage16_RenameElement_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_SetElementTimes_Proxy( |
| IStorage16* This, |
| LPCOLESTR16 pwcsName, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| void __RPC_STUB IStorage16_SetElementTimes_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_SetClass_Proxy( |
| IStorage16* This, |
| REFCLSID clsid); |
| void __RPC_STUB IStorage16_SetClass_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_SetStateBits_Proxy( |
| IStorage16* This, |
| DWORD grfStateBits, |
| DWORD grfMask); |
| void __RPC_STUB IStorage16_SetStateBits_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IStorage16_Stat_Proxy( |
| IStorage16* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| void __RPC_STUB IStorage16_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPersistFile IPersistFile; |
| typedef IPersistFile *LPPERSISTFILE; |
| |
| /***************************************************************************** |
| * IPersistFile interface |
| */ |
| DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPersistFile: IPersist { |
| |
| virtual HRESULT STDMETHODCALLTYPE IsDirty( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Load( |
| LPCOLESTR pszFileName, |
| DWORD dwMode) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Save( |
| LPCOLESTR pszFileName, |
| BOOL fRemember) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SaveCompleted( |
| LPCOLESTR pszFileName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCurFile( |
| LPOLESTR* ppszFileName) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPersistFileVtbl IPersistFileVtbl; |
| struct IPersistFile { |
| const IPersistFileVtbl* lpVtbl; |
| }; |
| struct IPersistFileVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPersistFile* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPersistFile* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPersistFile* This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IPersistFile* This, |
| CLSID* pClassID); |
| |
| /*** IPersistFile methods ***/ |
| HRESULT (STDMETHODCALLTYPE *IsDirty)( |
| IPersistFile* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Load)( |
| IPersistFile* This, |
| LPCOLESTR pszFileName, |
| DWORD dwMode); |
| |
| HRESULT (STDMETHODCALLTYPE *Save)( |
| IPersistFile* This, |
| LPCOLESTR pszFileName, |
| BOOL fRemember); |
| |
| HRESULT (STDMETHODCALLTYPE *SaveCompleted)( |
| IPersistFile* This, |
| LPCOLESTR pszFileName); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCurFile)( |
| IPersistFile* This, |
| LPOLESTR* ppszFileName); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPersistFile_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPersistFile_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPersistFile_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IPersistFile_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IPersistFile methods ***/ |
| #define IPersistFile_IsDirty(p) (p)->lpVtbl->IsDirty(p) |
| #define IPersistFile_Load(p,a,b) (p)->lpVtbl->Load(p,a,b) |
| #define IPersistFile_Save(p,a,b) (p)->lpVtbl->Save(p,a,b) |
| #define IPersistFile_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a) |
| #define IPersistFile_GetCurFile(p,a) (p)->lpVtbl->GetCurFile(p,a) |
| |
| #endif |
| |
| #define IPersistFile_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; \ |
| /*** IPersistFile methods ***/ \ |
| STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Load)(THIS_ LPCOLESTR pszFileName, DWORD dwMode) PURE; \ |
| STDMETHOD_(HRESULT,Save)(THIS_ LPCOLESTR pszFileName, BOOL fRemember) PURE; \ |
| STDMETHOD_(HRESULT,SaveCompleted)(THIS_ LPCOLESTR pszFileName) PURE; \ |
| STDMETHOD_(HRESULT,GetCurFile)(THIS_ LPOLESTR* ppszFileName) PURE; |
| |
| HRESULT CALLBACK IPersistFile_IsDirty_Proxy( |
| IPersistFile* This); |
| void __RPC_STUB IPersistFile_IsDirty_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistFile_Load_Proxy( |
| IPersistFile* This, |
| LPCOLESTR pszFileName, |
| DWORD dwMode); |
| void __RPC_STUB IPersistFile_Load_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistFile_Save_Proxy( |
| IPersistFile* This, |
| LPCOLESTR pszFileName, |
| BOOL fRemember); |
| void __RPC_STUB IPersistFile_Save_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistFile_SaveCompleted_Proxy( |
| IPersistFile* This, |
| LPCOLESTR pszFileName); |
| void __RPC_STUB IPersistFile_SaveCompleted_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistFile_GetCurFile_Proxy( |
| IPersistFile* This, |
| LPOLESTR* ppszFileName); |
| void __RPC_STUB IPersistFile_GetCurFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPersistStorage IPersistStorage; |
| typedef IPersistStorage *LPPERSISTSTORAGE; |
| |
| /***************************************************************************** |
| * IPersistStorage interface |
| */ |
| DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPersistStorage: IPersist { |
| |
| virtual HRESULT STDMETHODCALLTYPE IsDirty( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE InitNew( |
| IStorage* pStg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Load( |
| IStorage* pStg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Save( |
| IStorage* pStgSave, |
| BOOL fSameAsLoad) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SaveCompleted( |
| IStorage* pStgNew) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPersistStorageVtbl IPersistStorageVtbl; |
| struct IPersistStorage { |
| const IPersistStorageVtbl* lpVtbl; |
| }; |
| struct IPersistStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPersistStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPersistStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPersistStorage* This); |
| |
| /*** IPersist methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetClassID)( |
| IPersistStorage* This, |
| CLSID* pClassID); |
| |
| /*** IPersistStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *IsDirty)( |
| IPersistStorage* This); |
| |
| HRESULT (STDMETHODCALLTYPE *InitNew)( |
| IPersistStorage* This, |
| IStorage* pStg); |
| |
| HRESULT (STDMETHODCALLTYPE *Load)( |
| IPersistStorage* This, |
| IStorage* pStg); |
| |
| HRESULT (STDMETHODCALLTYPE *Save)( |
| IPersistStorage* This, |
| IStorage* pStgSave, |
| BOOL fSameAsLoad); |
| |
| HRESULT (STDMETHODCALLTYPE *SaveCompleted)( |
| IPersistStorage* This, |
| IStorage* pStgNew); |
| |
| HRESULT (STDMETHODCALLTYPE *HandsOffStorage)( |
| IPersistStorage* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPersistStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPersistStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPersistStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPersist methods ***/ |
| #define IPersistStorage_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) |
| /*** IPersistStorage methods ***/ |
| #define IPersistStorage_IsDirty(p) (p)->lpVtbl->IsDirty(p) |
| #define IPersistStorage_InitNew(p,a) (p)->lpVtbl->InitNew(p,a) |
| #define IPersistStorage_Load(p,a) (p)->lpVtbl->Load(p,a) |
| #define IPersistStorage_Save(p,a,b) (p)->lpVtbl->Save(p,a,b) |
| #define IPersistStorage_SaveCompleted(p,a) (p)->lpVtbl->SaveCompleted(p,a) |
| #define IPersistStorage_HandsOffStorage(p) (p)->lpVtbl->HandsOffStorage(p) |
| |
| #endif |
| |
| #define IPersistStorage_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; \ |
| /*** IPersistStorage methods ***/ \ |
| STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,InitNew)(THIS_ IStorage* pStg) PURE; \ |
| STDMETHOD_(HRESULT,Load)(THIS_ IStorage* pStg) PURE; \ |
| STDMETHOD_(HRESULT,Save)(THIS_ IStorage* pStgSave, BOOL fSameAsLoad) PURE; \ |
| STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IStorage* pStgNew) PURE; \ |
| STDMETHOD_(HRESULT,HandsOffStorage)(THIS) PURE; |
| |
| HRESULT CALLBACK IPersistStorage_IsDirty_Proxy( |
| IPersistStorage* This); |
| void __RPC_STUB IPersistStorage_IsDirty_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStorage_InitNew_Proxy( |
| IPersistStorage* This, |
| IStorage* pStg); |
| void __RPC_STUB IPersistStorage_InitNew_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStorage_Load_Proxy( |
| IPersistStorage* This, |
| IStorage* pStg); |
| void __RPC_STUB IPersistStorage_Load_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStorage_Save_Proxy( |
| IPersistStorage* This, |
| IStorage* pStgSave, |
| BOOL fSameAsLoad); |
| void __RPC_STUB IPersistStorage_Save_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStorage_SaveCompleted_Proxy( |
| IPersistStorage* This, |
| IStorage* pStgNew); |
| void __RPC_STUB IPersistStorage_SaveCompleted_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPersistStorage_HandsOffStorage_Proxy( |
| IPersistStorage* This); |
| void __RPC_STUB IPersistStorage_HandsOffStorage_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRootStorage IRootStorage; |
| typedef IRootStorage *LPROOTSTORAGE; |
| |
| /***************************************************************************** |
| * IRootStorage interface |
| */ |
| DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRootStorage: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE SwitchToFile( |
| LPOLESTR pszFile) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRootStorageVtbl IRootStorageVtbl; |
| struct IRootStorage { |
| const IRootStorageVtbl* lpVtbl; |
| }; |
| struct IRootStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRootStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRootStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRootStorage* This); |
| |
| /*** IRootStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *SwitchToFile)( |
| IRootStorage* This, |
| LPOLESTR pszFile); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRootStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRootStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRootStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRootStorage methods ***/ |
| #define IRootStorage_SwitchToFile(p,a) (p)->lpVtbl->SwitchToFile(p,a) |
| |
| #endif |
| |
| #define IRootStorage_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; \ |
| /*** IRootStorage methods ***/ \ |
| STDMETHOD_(HRESULT,SwitchToFile)(THIS_ LPOLESTR pszFile) PURE; |
| |
| HRESULT CALLBACK IRootStorage_SwitchToFile_Proxy( |
| IRootStorage* This, |
| LPOLESTR pszFile); |
| void __RPC_STUB IRootStorage_SwitchToFile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct ILockBytes ILockBytes; |
| typedef ILockBytes *LPLOCKBYTES; |
| |
| /***************************************************************************** |
| * ILockBytes interface |
| */ |
| DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ILockBytes: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE ReadAt( |
| ULARGE_INTEGER ulOffset, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE WriteAt( |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Flush( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetSize( |
| ULARGE_INTEGER cb) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE LockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE UnlockRegion( |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATSTG* pstatstg, |
| DWORD grfStatFlag) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct ILockBytesVtbl ILockBytesVtbl; |
| struct ILockBytes { |
| const ILockBytesVtbl* lpVtbl; |
| }; |
| struct ILockBytesVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ILockBytes* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ILockBytes* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ILockBytes* This); |
| |
| /*** ILockBytes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *ReadAt)( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| |
| HRESULT (STDMETHODCALLTYPE *WriteAt)( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| HRESULT (STDMETHODCALLTYPE *Flush)( |
| ILockBytes* This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetSize)( |
| ILockBytes* This, |
| ULARGE_INTEGER cb); |
| |
| HRESULT (STDMETHODCALLTYPE *LockRegion)( |
| ILockBytes* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *UnlockRegion)( |
| ILockBytes* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| ILockBytes* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ILockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ILockBytes_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ILockBytes_Release(p) (p)->lpVtbl->Release(p) |
| /*** ILockBytes methods ***/ |
| #define ILockBytes_ReadAt(p,a,b,c,d) (p)->lpVtbl->ReadAt(p,a,b,c,d) |
| #define ILockBytes_WriteAt(p,a,b,c,d) (p)->lpVtbl->WriteAt(p,a,b,c,d) |
| #define ILockBytes_Flush(p) (p)->lpVtbl->Flush(p) |
| #define ILockBytes_SetSize(p,a) (p)->lpVtbl->SetSize(p,a) |
| #define ILockBytes_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c) |
| #define ILockBytes_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c) |
| #define ILockBytes_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b) |
| |
| #endif |
| |
| #define ILockBytes_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; \ |
| /*** ILockBytes methods ***/ \ |
| STDMETHOD_(HRESULT,ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void* pv, ULONG cb, ULONG* pcbRead) PURE; \ |
| STDMETHOD_(HRESULT,WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \ |
| STDMETHOD_(HRESULT,Flush)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,SetSize)(THIS_ ULARGE_INTEGER cb) PURE; \ |
| STDMETHOD_(HRESULT,LockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,UnlockRegion)(THIS_ ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE; |
| |
| HRESULT CALLBACK ILockBytes_RemoteReadAt_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| byte* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| void __RPC_STUB ILockBytes_RemoteReadAt_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_ReadAt_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| void* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| HRESULT __RPC_STUB ILockBytes_ReadAt_Stub( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| byte* pv, |
| ULONG cb, |
| ULONG* pcbRead); |
| HRESULT CALLBACK ILockBytes_RemoteWriteAt_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| void __RPC_STUB ILockBytes_RemoteWriteAt_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_WriteAt_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT __RPC_STUB ILockBytes_WriteAt_Stub( |
| ILockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT CALLBACK ILockBytes_Flush_Proxy( |
| ILockBytes* This); |
| void __RPC_STUB ILockBytes_Flush_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_SetSize_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER cb); |
| void __RPC_STUB ILockBytes_SetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_LockRegion_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB ILockBytes_LockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_UnlockRegion_Proxy( |
| ILockBytes* This, |
| ULARGE_INTEGER libOffset, |
| ULARGE_INTEGER cb, |
| DWORD dwLockType); |
| void __RPC_STUB ILockBytes_UnlockRegion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILockBytes_Stat_Proxy( |
| ILockBytes* This, |
| STATSTG* pstatstg, |
| DWORD grfStatFlag); |
| void __RPC_STUB ILockBytes_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IFillLockBytes IFillLockBytes; |
| /***************************************************************************** |
| * IFillLockBytes interface |
| */ |
| DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IFillLockBytes: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE FillAppend( |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FillAt( |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetFillSize( |
| ULARGE_INTEGER ulSize) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Terminate( |
| BOOL bCanceled) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IFillLockBytesVtbl IFillLockBytesVtbl; |
| struct IFillLockBytes { |
| const IFillLockBytesVtbl* lpVtbl; |
| }; |
| struct IFillLockBytesVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IFillLockBytes* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IFillLockBytes* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IFillLockBytes* This); |
| |
| /*** IFillLockBytes methods ***/ |
| HRESULT (STDMETHODCALLTYPE *FillAppend)( |
| IFillLockBytes* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| HRESULT (STDMETHODCALLTYPE *FillAt)( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| |
| HRESULT (STDMETHODCALLTYPE *SetFillSize)( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulSize); |
| |
| HRESULT (STDMETHODCALLTYPE *Terminate)( |
| IFillLockBytes* This, |
| BOOL bCanceled); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IFillLockBytes_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IFillLockBytes_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IFillLockBytes_Release(p) (p)->lpVtbl->Release(p) |
| /*** IFillLockBytes methods ***/ |
| #define IFillLockBytes_FillAppend(p,a,b,c) (p)->lpVtbl->FillAppend(p,a,b,c) |
| #define IFillLockBytes_FillAt(p,a,b,c,d) (p)->lpVtbl->FillAt(p,a,b,c,d) |
| #define IFillLockBytes_SetFillSize(p,a) (p)->lpVtbl->SetFillSize(p,a) |
| #define IFillLockBytes_Terminate(p,a) (p)->lpVtbl->Terminate(p,a) |
| |
| #endif |
| |
| #define IFillLockBytes_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; \ |
| /*** IFillLockBytes methods ***/ \ |
| STDMETHOD_(HRESULT,FillAppend)(THIS_ const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \ |
| STDMETHOD_(HRESULT,FillAt)(THIS_ ULARGE_INTEGER ulOffset, const void* pv, ULONG cb, ULONG* pcbWritten) PURE; \ |
| STDMETHOD_(HRESULT,SetFillSize)(THIS_ ULARGE_INTEGER ulSize) PURE; \ |
| STDMETHOD_(HRESULT,Terminate)(THIS_ BOOL bCanceled) PURE; |
| |
| HRESULT CALLBACK IFillLockBytes_RemoteFillAppend_Proxy( |
| IFillLockBytes* This, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy( |
| IFillLockBytes* This, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub( |
| IFillLockBytes* This, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT CALLBACK IFillLockBytes_RemoteFillAt_Proxy( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFillLockBytes_FillAt_Proxy( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const void* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulOffset, |
| const byte* pv, |
| ULONG cb, |
| ULONG* pcbWritten); |
| HRESULT CALLBACK IFillLockBytes_SetFillSize_Proxy( |
| IFillLockBytes* This, |
| ULARGE_INTEGER ulSize); |
| void __RPC_STUB IFillLockBytes_SetFillSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IFillLockBytes_Terminate_Proxy( |
| IFillLockBytes* This, |
| BOOL bCanceled); |
| void __RPC_STUB IFillLockBytes_Terminate_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IProgressNotify IProgressNotify; |
| /***************************************************************************** |
| * IProgressNotify interface |
| */ |
| DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IProgressNotify: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE OnProgress( |
| DWORD dwProgressCurrent, |
| DWORD dwProgressMaximum, |
| BOOL fAccurate, |
| BOOL fOwner) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IProgressNotifyVtbl IProgressNotifyVtbl; |
| struct IProgressNotify { |
| const IProgressNotifyVtbl* lpVtbl; |
| }; |
| struct IProgressNotifyVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IProgressNotify* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IProgressNotify* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IProgressNotify* This); |
| |
| /*** IProgressNotify methods ***/ |
| HRESULT (STDMETHODCALLTYPE *OnProgress)( |
| IProgressNotify* This, |
| DWORD dwProgressCurrent, |
| DWORD dwProgressMaximum, |
| BOOL fAccurate, |
| BOOL fOwner); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IProgressNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IProgressNotify_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IProgressNotify_Release(p) (p)->lpVtbl->Release(p) |
| /*** IProgressNotify methods ***/ |
| #define IProgressNotify_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d) |
| |
| #endif |
| |
| #define IProgressNotify_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; \ |
| /*** IProgressNotify methods ***/ \ |
| STDMETHOD_(HRESULT,OnProgress)(THIS_ DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) PURE; |
| |
| HRESULT CALLBACK IProgressNotify_OnProgress_Proxy( |
| IProgressNotify* This, |
| DWORD dwProgressCurrent, |
| DWORD dwProgressMaximum, |
| BOOL fAccurate, |
| BOOL fOwner); |
| void __RPC_STUB IProgressNotify_OnProgress_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct ILayoutStorage ILayoutStorage; |
| typedef struct tagStorageLayout { |
| DWORD LayoutType; |
| OLECHAR *pwcsElementName; |
| LARGE_INTEGER cOffset; |
| LARGE_INTEGER cBytes; |
| } StorageLayout; |
| |
| /***************************************************************************** |
| * ILayoutStorage interface |
| */ |
| DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct ILayoutStorage: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE LayoutScript( |
| StorageLayout* pStorageLayout, |
| DWORD nEntries, |
| DWORD glfInterleavedFlag) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE BeginMonitor( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EndMonitor( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfile( |
| OLECHAR* pwcsNewDfName) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReLayoutDocfileOnILockBytes( |
| ILockBytes* pILockBytes) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct ILayoutStorageVtbl ILayoutStorageVtbl; |
| struct ILayoutStorage { |
| const ILayoutStorageVtbl* lpVtbl; |
| }; |
| struct ILayoutStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| ILayoutStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| ILayoutStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| ILayoutStorage* This); |
| |
| /*** ILayoutStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *LayoutScript)( |
| ILayoutStorage* This, |
| StorageLayout* pStorageLayout, |
| DWORD nEntries, |
| DWORD glfInterleavedFlag); |
| |
| HRESULT (STDMETHODCALLTYPE *BeginMonitor)( |
| ILayoutStorage* This); |
| |
| HRESULT (STDMETHODCALLTYPE *EndMonitor)( |
| ILayoutStorage* This); |
| |
| HRESULT (STDMETHODCALLTYPE *ReLayoutDocfile)( |
| ILayoutStorage* This, |
| OLECHAR* pwcsNewDfName); |
| |
| HRESULT (STDMETHODCALLTYPE *ReLayoutDocfileOnILockBytes)( |
| ILayoutStorage* This, |
| ILockBytes* pILockBytes); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define ILayoutStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define ILayoutStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define ILayoutStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** ILayoutStorage methods ***/ |
| #define ILayoutStorage_LayoutScript(p,a,b,c) (p)->lpVtbl->LayoutScript(p,a,b,c) |
| #define ILayoutStorage_BeginMonitor(p) (p)->lpVtbl->BeginMonitor(p) |
| #define ILayoutStorage_EndMonitor(p) (p)->lpVtbl->EndMonitor(p) |
| #define ILayoutStorage_ReLayoutDocfile(p,a) (p)->lpVtbl->ReLayoutDocfile(p,a) |
| #define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) (p)->lpVtbl->ReLayoutDocfileOnILockBytes(p,a) |
| |
| #endif |
| |
| #define ILayoutStorage_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; \ |
| /*** ILayoutStorage methods ***/ \ |
| STDMETHOD_(HRESULT,LayoutScript)(THIS_ StorageLayout* pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) PURE; \ |
| STDMETHOD_(HRESULT,BeginMonitor)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,EndMonitor)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,ReLayoutDocfile)(THIS_ OLECHAR* pwcsNewDfName) PURE; \ |
| STDMETHOD_(HRESULT,ReLayoutDocfileOnILockBytes)(THIS_ ILockBytes* pILockBytes) PURE; |
| |
| HRESULT CALLBACK ILayoutStorage_LayoutScript_Proxy( |
| ILayoutStorage* This, |
| StorageLayout* pStorageLayout, |
| DWORD nEntries, |
| DWORD glfInterleavedFlag); |
| void __RPC_STUB ILayoutStorage_LayoutScript_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILayoutStorage_BeginMonitor_Proxy( |
| ILayoutStorage* This); |
| void __RPC_STUB ILayoutStorage_BeginMonitor_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILayoutStorage_EndMonitor_Proxy( |
| ILayoutStorage* This); |
| void __RPC_STUB ILayoutStorage_EndMonitor_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILayoutStorage_ReLayoutDocfile_Proxy( |
| ILayoutStorage* This, |
| OLECHAR* pwcsNewDfName); |
| void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy( |
| ILayoutStorage* This, |
| ILockBytes* pILockBytes); |
| void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumFORMATETC IEnumFORMATETC; |
| typedef IEnumFORMATETC *LPENUMFORMATETC; |
| |
| typedef struct tagDVTARGETDEVICE { |
| DWORD tdSize; |
| WORD tdDriverNameOffset; |
| WORD tdDeviceNameOffset; |
| WORD tdPortNameOffset; |
| WORD tdExtDevmodeOffset; |
| BYTE tdData[1]; |
| } DVTARGETDEVICE; |
| |
| typedef CLIPFORMAT *LPCLIPFORMAT; |
| |
| typedef struct tagFORMATETC { |
| CLIPFORMAT cfFormat; |
| DVTARGETDEVICE *ptd; |
| DWORD dwAspect; |
| LONG lindex; |
| DWORD tymed; |
| } FORMATETC, *LPFORMATETC; |
| |
| /***************************************************************************** |
| * IEnumFORMATETC interface |
| */ |
| DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumFORMATETC: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| FORMATETC* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumFORMATETC** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl; |
| struct IEnumFORMATETC { |
| const IEnumFORMATETCVtbl* lpVtbl; |
| }; |
| struct IEnumFORMATETCVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumFORMATETC* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumFORMATETC* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumFORMATETC* This); |
| |
| /*** IEnumFORMATETC methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumFORMATETC* This, |
| ULONG celt, |
| FORMATETC* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumFORMATETC* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumFORMATETC* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumFORMATETC* This, |
| IEnumFORMATETC** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumFORMATETC_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumFORMATETC_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumFORMATETC_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumFORMATETC methods ***/ |
| #define IEnumFORMATETC_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumFORMATETC_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumFORMATETC_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumFORMATETC_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumFORMATETC_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; \ |
| /*** IEnumFORMATETC methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, FORMATETC* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumFORMATETC** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumFORMATETC_RemoteNext_Proxy( |
| IEnumFORMATETC* This, |
| ULONG celt, |
| FORMATETC* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFORMATETC_Next_Proxy( |
| IEnumFORMATETC* This, |
| ULONG celt, |
| FORMATETC* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub( |
| IEnumFORMATETC* This, |
| ULONG celt, |
| FORMATETC* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumFORMATETC_Skip_Proxy( |
| IEnumFORMATETC* This, |
| ULONG celt); |
| void __RPC_STUB IEnumFORMATETC_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFORMATETC_Reset_Proxy( |
| IEnumFORMATETC* This); |
| void __RPC_STUB IEnumFORMATETC_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumFORMATETC_Clone_Proxy( |
| IEnumFORMATETC* This, |
| IEnumFORMATETC** ppenum); |
| void __RPC_STUB IEnumFORMATETC_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumSTATDATA IEnumSTATDATA; |
| typedef IEnumSTATDATA *LPENUMSTATDATA; |
| |
| typedef enum tagADVF { |
| ADVF_NODATA = 1, |
| ADVF_PRIMEFIRST = 2, |
| ADVF_ONLYONCE = 4, |
| ADVF_DATAONSTOP = 64, |
| ADVFCACHE_NOHANDLER = 8, |
| ADVFCACHE_FORCEBUILTIN = 16, |
| ADVFCACHE_ONSAVE = 32 |
| } ADVF; |
| |
| typedef struct tagSTATDATA { |
| FORMATETC formatetc; |
| DWORD advf; |
| IAdviseSink *pAdvSink; |
| DWORD dwConnection; |
| } STATDATA, *LPSTATDATA; |
| |
| /***************************************************************************** |
| * IEnumSTATDATA interface |
| */ |
| DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumSTATDATA: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| STATDATA* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumSTATDATA** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl; |
| struct IEnumSTATDATA { |
| const IEnumSTATDATAVtbl* lpVtbl; |
| }; |
| struct IEnumSTATDATAVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumSTATDATA* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumSTATDATA* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumSTATDATA* This); |
| |
| /*** IEnumSTATDATA methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumSTATDATA* This, |
| ULONG celt, |
| STATDATA* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumSTATDATA* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumSTATDATA* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumSTATDATA* This, |
| IEnumSTATDATA** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumSTATDATA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumSTATDATA_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumSTATDATA_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumSTATDATA methods ***/ |
| #define IEnumSTATDATA_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumSTATDATA_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumSTATDATA_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumSTATDATA_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumSTATDATA_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; \ |
| /*** IEnumSTATDATA methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATDATA* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATDATA** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumSTATDATA_RemoteNext_Proxy( |
| IEnumSTATDATA* This, |
| ULONG celt, |
| STATDATA* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATDATA_Next_Proxy( |
| IEnumSTATDATA* This, |
| ULONG celt, |
| STATDATA* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub( |
| IEnumSTATDATA* This, |
| ULONG celt, |
| STATDATA* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumSTATDATA_Skip_Proxy( |
| IEnumSTATDATA* This, |
| ULONG celt); |
| void __RPC_STUB IEnumSTATDATA_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATDATA_Reset_Proxy( |
| IEnumSTATDATA* This); |
| void __RPC_STUB IEnumSTATDATA_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATDATA_Clone_Proxy( |
| IEnumSTATDATA* This, |
| IEnumSTATDATA** ppenum); |
| void __RPC_STUB IEnumSTATDATA_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IAdviseSink *LPADVISESINK; |
| |
| typedef enum tagTYMED { |
| TYMED_HGLOBAL = 1, |
| TYMED_FILE = 2, |
| TYMED_ISTREAM = 4, |
| TYMED_ISTORAGE = 8, |
| TYMED_GDI = 16, |
| TYMED_MFPICT = 32, |
| TYMED_ENHMF = 64, |
| TYMED_NULL = 0 |
| } TYMED; |
| |
| typedef struct tagRemSTGMEDIUM { |
| DWORD tymed; |
| DWORD dwHandleType; |
| unsigned long pData; |
| unsigned long pUnkForRelease; |
| unsigned long cbData; |
| byte data[1]; |
| } RemSTGMEDIUM; |
| |
| typedef struct tagSTGMEDIUM { |
| DWORD tymed; |
| union { |
| HBITMAP hBitmap; |
| HMETAFILEPICT hMetaFilePict; |
| HENHMETAFILE hEnhMetaFile; |
| HGLOBAL hGlobal; |
| LPOLESTR lpszFileName; |
| IStream *pstm; |
| IStorage *pstg; |
| } DUMMYUNIONNAME; |
| IUnknown *pUnkForRelease; |
| } uSTGMEDIUM; |
| |
| typedef struct _GDI_OBJECT { |
| DWORD ObjectType; |
| union { |
| wireHBITMAP hBitmap; |
| wireHPALETTE hPalette; |
| wireHGLOBAL hGeneric; |
| } u; |
| } GDI_OBJECT; |
| |
| typedef struct _userSTGMEDIUM { |
| struct _STGMEDIUM_UNION { |
| DWORD tymed; |
| union { |
| wireHMETAFILEPICT hMetaFilePict; |
| wireHENHMETAFILE hHEnhMetaFile; |
| GDI_OBJECT *hGdiHandle; |
| wireHGLOBAL hGlobal; |
| LPOLESTR lpszFileName; |
| BYTE_BLOB *pstm; |
| BYTE_BLOB *pstg; |
| } u; |
| } DUMMYSTRUCTNAME; |
| IUnknown *pUnkForRelease; |
| } userSTGMEDIUM; |
| |
| typedef userSTGMEDIUM *wireSTGMEDIUM; |
| |
| typedef uSTGMEDIUM STGMEDIUM; |
| unsigned long __RPC_USER STGMEDIUM_UserSize (unsigned long *, unsigned long, STGMEDIUM *); |
| unsigned char * __RPC_USER STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, STGMEDIUM *); |
| unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM *); |
| void __RPC_USER STGMEDIUM_UserFree (unsigned long *, STGMEDIUM *); |
| |
| typedef userSTGMEDIUM *wireASYNC_STGMEDIUM; |
| |
| typedef STGMEDIUM ASYNC_STGMEDIUM; |
| unsigned long __RPC_USER ASYNC_STGMEDIUM_UserSize (unsigned long *, unsigned long, ASYNC_STGMEDIUM *); |
| unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, ASYNC_STGMEDIUM *); |
| unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM *); |
| void __RPC_USER ASYNC_STGMEDIUM_UserFree (unsigned long *, ASYNC_STGMEDIUM *); |
| |
| typedef STGMEDIUM *LPSTGMEDIUM; |
| |
| typedef struct _userFLAG_STGMEDIUM { |
| long ContextFlags; |
| long fPassOwnership; |
| userSTGMEDIUM Stgmed; |
| } userFLAG_STGMEDIUM; |
| |
| typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM; |
| |
| typedef struct _FLAG_STGMEDIUM { |
| long ContextFlags; |
| long fPassOwnership; |
| STGMEDIUM Stgmed; |
| } FLAG_STGMEDIUM; |
| unsigned long __RPC_USER FLAG_STGMEDIUM_UserSize (unsigned long *, unsigned long, FLAG_STGMEDIUM *); |
| unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (unsigned long *, unsigned char *, FLAG_STGMEDIUM *); |
| unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM *); |
| void __RPC_USER FLAG_STGMEDIUM_UserFree (unsigned long *, FLAG_STGMEDIUM *); |
| |
| /***************************************************************************** |
| * IAdviseSink interface |
| */ |
| DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAdviseSink: IUnknown { |
| |
| virtual void STDMETHODCALLTYPE OnDataChange( |
| FORMATETC* pFormatetc, |
| STGMEDIUM* pStgmed) = 0; |
| |
| virtual void STDMETHODCALLTYPE OnViewChange( |
| DWORD dwAspect, |
| LONG lindex) = 0; |
| |
| virtual void STDMETHODCALLTYPE OnRename( |
| IMoniker* pmk) = 0; |
| |
| virtual void STDMETHODCALLTYPE OnSave( |
| ) = 0; |
| |
| virtual void STDMETHODCALLTYPE OnClose( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IAdviseSinkVtbl IAdviseSinkVtbl; |
| struct IAdviseSink { |
| const IAdviseSinkVtbl* lpVtbl; |
| }; |
| struct IAdviseSinkVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAdviseSink* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAdviseSink* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAdviseSink* This); |
| |
| /*** IAdviseSink methods ***/ |
| void (STDMETHODCALLTYPE *OnDataChange)( |
| IAdviseSink* This, |
| FORMATETC* pFormatetc, |
| STGMEDIUM* pStgmed); |
| |
| void (STDMETHODCALLTYPE *OnViewChange)( |
| IAdviseSink* This, |
| DWORD dwAspect, |
| LONG lindex); |
| |
| void (STDMETHODCALLTYPE *OnRename)( |
| IAdviseSink* This, |
| IMoniker* pmk); |
| |
| void (STDMETHODCALLTYPE *OnSave)( |
| IAdviseSink* This); |
| |
| void (STDMETHODCALLTYPE *OnClose)( |
| IAdviseSink* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAdviseSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAdviseSink_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAdviseSink_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAdviseSink methods ***/ |
| #define IAdviseSink_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b) |
| #define IAdviseSink_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b) |
| #define IAdviseSink_OnRename(p,a) (p)->lpVtbl->OnRename(p,a) |
| #define IAdviseSink_OnSave(p) (p)->lpVtbl->OnSave(p) |
| #define IAdviseSink_OnClose(p) (p)->lpVtbl->OnClose(p) |
| |
| #endif |
| |
| #define IAdviseSink_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; \ |
| /*** IAdviseSink methods ***/ \ |
| STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \ |
| STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \ |
| STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \ |
| STDMETHOD_(void,OnSave)(THIS) PURE; \ |
| STDMETHOD_(void,OnClose)(THIS) PURE; |
| |
| HRESULT CALLBACK IAdviseSink_RemoteOnDataChange_Proxy( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| FORMATETC* pFormatetc, |
| ASYNC_STGMEDIUM* pStgmed); |
| void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink_OnDataChange_Proxy( |
| IAdviseSink* This, |
| FORMATETC* pFormatetc, |
| STGMEDIUM* pStgmed); |
| HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| FORMATETC* pFormatetc, |
| ASYNC_STGMEDIUM* pStgmed); |
| HRESULT CALLBACK IAdviseSink_RemoteOnViewChange_Proxy( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| DWORD dwAspect, |
| LONG lindex); |
| void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink_OnViewChange_Proxy( |
| IAdviseSink* This, |
| DWORD dwAspect, |
| LONG lindex); |
| HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| DWORD dwAspect, |
| LONG lindex); |
| HRESULT CALLBACK IAdviseSink_RemoteOnRename_Proxy( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| IMoniker* pmk); |
| void __RPC_STUB IAdviseSink_RemoteOnRename_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink_OnRename_Proxy( |
| IAdviseSink* This, |
| IMoniker* pmk); |
| HRESULT __RPC_STUB IAdviseSink_OnRename_Stub( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM, |
| IMoniker* pmk); |
| HRESULT CALLBACK IAdviseSink_RemoteOnSave_Proxy( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM); |
| void __RPC_STUB IAdviseSink_RemoteOnSave_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink_OnSave_Proxy( |
| IAdviseSink* This); |
| HRESULT __RPC_STUB IAdviseSink_OnSave_Stub( |
| IAdviseSink* This, |
| IAsyncManager** ppIAM); |
| HRESULT CALLBACK IAdviseSink_RemoteOnClose_Proxy( |
| IAdviseSink* This); |
| void __RPC_STUB IAdviseSink_RemoteOnClose_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink_OnClose_Proxy( |
| IAdviseSink* This); |
| HRESULT __RPC_STUB IAdviseSink_OnClose_Stub( |
| IAdviseSink* This); |
| |
| typedef struct IAdviseSink2 IAdviseSink2; |
| typedef IAdviseSink2 *LPADVISESINK2; |
| |
| /***************************************************************************** |
| * IAdviseSink2 interface |
| */ |
| DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAdviseSink2: IAdviseSink { |
| |
| virtual void STDMETHODCALLTYPE OnLinkSrcChange( |
| IMoniker* pmk) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl; |
| struct IAdviseSink2 { |
| const IAdviseSink2Vtbl* lpVtbl; |
| }; |
| struct IAdviseSink2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAdviseSink2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAdviseSink2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAdviseSink2* This); |
| |
| /*** IAdviseSink methods ***/ |
| void (STDMETHODCALLTYPE *OnDataChange)( |
| IAdviseSink2* This, |
| FORMATETC* pFormatetc, |
| STGMEDIUM* pStgmed); |
| |
| void (STDMETHODCALLTYPE *OnViewChange)( |
| IAdviseSink2* This, |
| DWORD dwAspect, |
| LONG lindex); |
| |
| void (STDMETHODCALLTYPE *OnRename)( |
| IAdviseSink2* This, |
| IMoniker* pmk); |
| |
| void (STDMETHODCALLTYPE *OnSave)( |
| IAdviseSink2* This); |
| |
| void (STDMETHODCALLTYPE *OnClose)( |
| IAdviseSink2* This); |
| |
| /*** IAdviseSink2 methods ***/ |
| void (STDMETHODCALLTYPE *OnLinkSrcChange)( |
| IAdviseSink2* This, |
| IMoniker* pmk); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAdviseSink2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAdviseSink2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAdviseSink2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAdviseSink methods ***/ |
| #define IAdviseSink2_OnDataChange(p,a,b) (p)->lpVtbl->OnDataChange(p,a,b) |
| #define IAdviseSink2_OnViewChange(p,a,b) (p)->lpVtbl->OnViewChange(p,a,b) |
| #define IAdviseSink2_OnRename(p,a) (p)->lpVtbl->OnRename(p,a) |
| #define IAdviseSink2_OnSave(p) (p)->lpVtbl->OnSave(p) |
| #define IAdviseSink2_OnClose(p) (p)->lpVtbl->OnClose(p) |
| /*** IAdviseSink2 methods ***/ |
| #define IAdviseSink2_OnLinkSrcChange(p,a) (p)->lpVtbl->OnLinkSrcChange(p,a) |
| |
| #endif |
| |
| #define IAdviseSink2_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; \ |
| /*** IAdviseSink methods ***/ \ |
| STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC* pFormatetc, STGMEDIUM* pStgmed) PURE; \ |
| STDMETHOD_(void,OnViewChange)(THIS_ DWORD dwAspect, LONG lindex) PURE; \ |
| STDMETHOD_(void,OnRename)(THIS_ IMoniker* pmk) PURE; \ |
| STDMETHOD_(void,OnSave)(THIS) PURE; \ |
| STDMETHOD_(void,OnClose)(THIS) PURE; \ |
| /*** IAdviseSink2 methods ***/ \ |
| STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker* pmk) PURE; |
| |
| HRESULT CALLBACK IAdviseSink2_RemoteOnLinkSrcChange_Proxy( |
| IAdviseSink2* This, |
| IAsyncManager** ppIAM, |
| IMoniker* pmk); |
| void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy( |
| IAdviseSink2* This, |
| IMoniker* pmk); |
| HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub( |
| IAdviseSink2* This, |
| IAsyncManager** ppIAM, |
| IMoniker* pmk); |
| |
| typedef struct IDataObject IDataObject; |
| typedef IDataObject *LPDATAOBJECT; |
| |
| typedef enum tagDATADIR { |
| DATADIR_GET = 1, |
| DATADIR_SET = 2 |
| } DATADIR; |
| |
| /***************************************************************************** |
| * IDataObject interface |
| */ |
| DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IDataObject: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetData( |
| FORMATETC* pformatetcIn, |
| STGMEDIUM* pmedium) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDataHere( |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryGetData( |
| FORMATETC* pformatetc) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc( |
| FORMATETC* pformatectIn, |
| FORMATETC* pformatetcOut) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetData( |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium, |
| BOOL fRelease) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc( |
| DWORD dwDirection, |
| IEnumFORMATETC** ppenumFormatEtc) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DAdvise( |
| FORMATETC* pformatetc, |
| DWORD advf, |
| IAdviseSink* pAdvSink, |
| DWORD* pdwConnection) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DUnadvise( |
| DWORD dwConnection) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumDAdvise( |
| IEnumSTATDATA** ppenumAdvise) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IDataObjectVtbl IDataObjectVtbl; |
| struct IDataObject { |
| const IDataObjectVtbl* lpVtbl; |
| }; |
| struct IDataObjectVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IDataObject* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IDataObject* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IDataObject* This); |
| |
| /*** IDataObject methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetData)( |
| IDataObject* This, |
| FORMATETC* pformatetcIn, |
| STGMEDIUM* pmedium); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDataHere)( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium); |
| |
| HRESULT (STDMETHODCALLTYPE *QueryGetData)( |
| IDataObject* This, |
| FORMATETC* pformatetc); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)( |
| IDataObject* This, |
| FORMATETC* pformatectIn, |
| FORMATETC* pformatetcOut); |
| |
| HRESULT (STDMETHODCALLTYPE *SetData)( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium, |
| BOOL fRelease); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)( |
| IDataObject* This, |
| DWORD dwDirection, |
| IEnumFORMATETC** ppenumFormatEtc); |
| |
| HRESULT (STDMETHODCALLTYPE *DAdvise)( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| DWORD advf, |
| IAdviseSink* pAdvSink, |
| DWORD* pdwConnection); |
| |
| HRESULT (STDMETHODCALLTYPE *DUnadvise)( |
| IDataObject* This, |
| DWORD dwConnection); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumDAdvise)( |
| IDataObject* This, |
| IEnumSTATDATA** ppenumAdvise); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IDataObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IDataObject_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IDataObject_Release(p) (p)->lpVtbl->Release(p) |
| /*** IDataObject methods ***/ |
| #define IDataObject_GetData(p,a,b) (p)->lpVtbl->GetData(p,a,b) |
| #define IDataObject_GetDataHere(p,a,b) (p)->lpVtbl->GetDataHere(p,a,b) |
| #define IDataObject_QueryGetData(p,a) (p)->lpVtbl->QueryGetData(p,a) |
| #define IDataObject_GetCanonicalFormatEtc(p,a,b) (p)->lpVtbl->GetCanonicalFormatEtc(p,a,b) |
| #define IDataObject_SetData(p,a,b,c) (p)->lpVtbl->SetData(p,a,b,c) |
| #define IDataObject_EnumFormatEtc(p,a,b) (p)->lpVtbl->EnumFormatEtc(p,a,b) |
| #define IDataObject_DAdvise(p,a,b,c,d) (p)->lpVtbl->DAdvise(p,a,b,c,d) |
| #define IDataObject_DUnadvise(p,a) (p)->lpVtbl->DUnadvise(p,a) |
| #define IDataObject_EnumDAdvise(p,a) (p)->lpVtbl->EnumDAdvise(p,a) |
| |
| #endif |
| |
| #define IDataObject_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; \ |
| /*** IDataObject methods ***/ \ |
| STDMETHOD_(HRESULT,GetData)(THIS_ FORMATETC* pformatetcIn, STGMEDIUM* pmedium) PURE; \ |
| STDMETHOD_(HRESULT,GetDataHere)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium) PURE; \ |
| STDMETHOD_(HRESULT,QueryGetData)(THIS_ FORMATETC* pformatetc) PURE; \ |
| STDMETHOD_(HRESULT,GetCanonicalFormatEtc)(THIS_ FORMATETC* pformatectIn, FORMATETC* pformatetcOut) PURE; \ |
| STDMETHOD_(HRESULT,SetData)(THIS_ FORMATETC* pformatetc, STGMEDIUM* pmedium, BOOL fRelease) PURE; \ |
| STDMETHOD_(HRESULT,EnumFormatEtc)(THIS_ DWORD dwDirection, IEnumFORMATETC** ppenumFormatEtc) PURE; \ |
| STDMETHOD_(HRESULT,DAdvise)(THIS_ FORMATETC* pformatetc, DWORD advf, IAdviseSink* pAdvSink, DWORD* pdwConnection) PURE; \ |
| STDMETHOD_(HRESULT,DUnadvise)(THIS_ DWORD dwConnection) PURE; \ |
| STDMETHOD_(HRESULT,EnumDAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; |
| |
| HRESULT CALLBACK IDataObject_RemoteGetData_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetcIn, |
| STGMEDIUM* pRemoteMedium); |
| void __RPC_STUB IDataObject_RemoteGetData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_GetData_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetcIn, |
| STGMEDIUM* pmedium); |
| HRESULT __RPC_STUB IDataObject_GetData_Stub( |
| IDataObject* This, |
| FORMATETC* pformatetcIn, |
| STGMEDIUM* pRemoteMedium); |
| HRESULT CALLBACK IDataObject_RemoteGetDataHere_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pRemoteMedium); |
| void __RPC_STUB IDataObject_RemoteGetDataHere_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_GetDataHere_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium); |
| HRESULT __RPC_STUB IDataObject_GetDataHere_Stub( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pRemoteMedium); |
| HRESULT CALLBACK IDataObject_QueryGetData_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc); |
| void __RPC_STUB IDataObject_QueryGetData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_GetCanonicalFormatEtc_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatectIn, |
| FORMATETC* pformatetcOut); |
| void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_RemoteSetData_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| FLAG_STGMEDIUM* pmedium, |
| BOOL fRelease); |
| void __RPC_STUB IDataObject_RemoteSetData_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_SetData_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| STGMEDIUM* pmedium, |
| BOOL fRelease); |
| HRESULT __RPC_STUB IDataObject_SetData_Stub( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| FLAG_STGMEDIUM* pmedium, |
| BOOL fRelease); |
| HRESULT CALLBACK IDataObject_EnumFormatEtc_Proxy( |
| IDataObject* This, |
| DWORD dwDirection, |
| IEnumFORMATETC** ppenumFormatEtc); |
| void __RPC_STUB IDataObject_EnumFormatEtc_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_DAdvise_Proxy( |
| IDataObject* This, |
| FORMATETC* pformatetc, |
| DWORD advf, |
| IAdviseSink* pAdvSink, |
| DWORD* pdwConnection); |
| void __RPC_STUB IDataObject_DAdvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_DUnadvise_Proxy( |
| IDataObject* This, |
| DWORD dwConnection); |
| void __RPC_STUB IDataObject_DUnadvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataObject_EnumDAdvise_Proxy( |
| IDataObject* This, |
| IEnumSTATDATA** ppenumAdvise); |
| void __RPC_STUB IDataObject_EnumDAdvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IDataAdviseHolder IDataAdviseHolder; |
| typedef IDataAdviseHolder *LPDATAADVISEHOLDER; |
| |
| /***************************************************************************** |
| * IDataAdviseHolder interface |
| */ |
| DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IDataAdviseHolder: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Advise( |
| IDataObject* pDataObject, |
| FORMATETC* pFetc, |
| DWORD advf, |
| IAdviseSink* pAdvise, |
| DWORD* pdwConnection) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Unadvise( |
| DWORD dwConnection) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE EnumAdvise( |
| IEnumSTATDATA** ppenumAdvise) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SendOnDataChange( |
| IDataObject* pDataObject, |
| DWORD dwReserved, |
| DWORD advf) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl; |
| struct IDataAdviseHolder { |
| const IDataAdviseHolderVtbl* lpVtbl; |
| }; |
| struct IDataAdviseHolderVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IDataAdviseHolder* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IDataAdviseHolder* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IDataAdviseHolder* This); |
| |
| /*** IDataAdviseHolder methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Advise)( |
| IDataAdviseHolder* This, |
| IDataObject* pDataObject, |
| FORMATETC* pFetc, |
| DWORD advf, |
| IAdviseSink* pAdvise, |
| DWORD* pdwConnection); |
| |
| HRESULT (STDMETHODCALLTYPE *Unadvise)( |
| IDataAdviseHolder* This, |
| DWORD dwConnection); |
| |
| HRESULT (STDMETHODCALLTYPE *EnumAdvise)( |
| IDataAdviseHolder* This, |
| IEnumSTATDATA** ppenumAdvise); |
| |
| HRESULT (STDMETHODCALLTYPE *SendOnDataChange)( |
| IDataAdviseHolder* This, |
| IDataObject* pDataObject, |
| DWORD dwReserved, |
| DWORD advf); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IDataAdviseHolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IDataAdviseHolder_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IDataAdviseHolder_Release(p) (p)->lpVtbl->Release(p) |
| /*** IDataAdviseHolder methods ***/ |
| #define IDataAdviseHolder_Advise(p,a,b,c,d,e) (p)->lpVtbl->Advise(p,a,b,c,d,e) |
| #define IDataAdviseHolder_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a) |
| #define IDataAdviseHolder_EnumAdvise(p,a) (p)->lpVtbl->EnumAdvise(p,a) |
| #define IDataAdviseHolder_SendOnDataChange(p,a,b,c) (p)->lpVtbl->SendOnDataChange(p,a,b,c) |
| |
| #endif |
| |
| #define IDataAdviseHolder_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; \ |
| /*** IDataAdviseHolder methods ***/ \ |
| STDMETHOD_(HRESULT,Advise)(THIS_ IDataObject* pDataObject, FORMATETC* pFetc, DWORD advf, IAdviseSink* pAdvise, DWORD* pdwConnection) PURE; \ |
| STDMETHOD_(HRESULT,Unadvise)(THIS_ DWORD dwConnection) PURE; \ |
| STDMETHOD_(HRESULT,EnumAdvise)(THIS_ IEnumSTATDATA** ppenumAdvise) PURE; \ |
| STDMETHOD_(HRESULT,SendOnDataChange)(THIS_ IDataObject* pDataObject, DWORD dwReserved, DWORD advf) PURE; |
| |
| HRESULT CALLBACK IDataAdviseHolder_Advise_Proxy( |
| IDataAdviseHolder* This, |
| IDataObject* pDataObject, |
| FORMATETC* pFetc, |
| DWORD advf, |
| IAdviseSink* pAdvise, |
| DWORD* pdwConnection); |
| void __RPC_STUB IDataAdviseHolder_Advise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataAdviseHolder_Unadvise_Proxy( |
| IDataAdviseHolder* This, |
| DWORD dwConnection); |
| void __RPC_STUB IDataAdviseHolder_Unadvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataAdviseHolder_EnumAdvise_Proxy( |
| IDataAdviseHolder* This, |
| IEnumSTATDATA** ppenumAdvise); |
| void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IDataAdviseHolder_SendOnDataChange_Proxy( |
| IDataAdviseHolder* This, |
| IDataObject* pDataObject, |
| DWORD dwReserved, |
| DWORD advf); |
| void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IMessageFilter IMessageFilter; |
| typedef IMessageFilter *LPMESSAGEFILTER; |
| |
| typedef enum tagCALLTYPE { |
| CALLTYPE_TOPLEVEL = 1, |
| CALLTYPE_NESTED = 2, |
| CALLTYPE_ASYNC = 3, |
| CALLTYPE_TOPLEVEL_CALLPENDING = 4, |
| CALLTYPE_ASYNC_CALLPENDING = 5 |
| } CALLTYPE; |
| |
| typedef enum tagSERVERCALL { |
| SERVERCALL_ISHANDLED = 0, |
| SERVERCALL_REJECTED = 1, |
| SERVERCALL_RETRYLATER = 2 |
| } SERVERCALL; |
| |
| typedef enum tagPENDINGTYPE { |
| PENDINGTYPE_TOPLEVEL = 1, |
| PENDINGTYPE_NESTED = 2 |
| } PENDINGTYPE; |
| |
| typedef enum tagPENDINGMSG { |
| PENDINGMSG_CANCELCALL = 0, |
| PENDINGMSG_WAITNOPROCESS = 1, |
| PENDINGMSG_WAITDEFPROCESS = 2 |
| } PENDINGMSG; |
| |
| typedef struct tagINTERFACEINFO { |
| IUnknown *pUnk; |
| IID iid; |
| WORD wMethod; |
| } INTERFACEINFO, *LPINTERFACEINFO; |
| |
| /***************************************************************************** |
| * IMessageFilter interface |
| */ |
| DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IMessageFilter: IUnknown { |
| |
| virtual DWORD STDMETHODCALLTYPE HandleInComingCall( |
| DWORD dwCallType, |
| HTASK htaskCaller, |
| DWORD dwTickCount, |
| LPINTERFACEINFO lpInterfaceInfo) = 0; |
| |
| virtual DWORD STDMETHODCALLTYPE RetryRejectedCall( |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwRejectType) = 0; |
| |
| virtual DWORD STDMETHODCALLTYPE MessagePending( |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwPendingType) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IMessageFilterVtbl IMessageFilterVtbl; |
| struct IMessageFilter { |
| const IMessageFilterVtbl* lpVtbl; |
| }; |
| struct IMessageFilterVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IMessageFilter* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IMessageFilter* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IMessageFilter* This); |
| |
| /*** IMessageFilter methods ***/ |
| DWORD (STDMETHODCALLTYPE *HandleInComingCall)( |
| IMessageFilter* This, |
| DWORD dwCallType, |
| HTASK htaskCaller, |
| DWORD dwTickCount, |
| LPINTERFACEINFO lpInterfaceInfo); |
| |
| DWORD (STDMETHODCALLTYPE *RetryRejectedCall)( |
| IMessageFilter* This, |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwRejectType); |
| |
| DWORD (STDMETHODCALLTYPE *MessagePending)( |
| IMessageFilter* This, |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwPendingType); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IMessageFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IMessageFilter_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IMessageFilter_Release(p) (p)->lpVtbl->Release(p) |
| /*** IMessageFilter methods ***/ |
| #define IMessageFilter_HandleInComingCall(p,a,b,c,d) (p)->lpVtbl->HandleInComingCall(p,a,b,c,d) |
| #define IMessageFilter_RetryRejectedCall(p,a,b,c) (p)->lpVtbl->RetryRejectedCall(p,a,b,c) |
| #define IMessageFilter_MessagePending(p,a,b,c) (p)->lpVtbl->MessagePending(p,a,b,c) |
| |
| #endif |
| |
| #define IMessageFilter_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; \ |
| /*** IMessageFilter methods ***/ \ |
| STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) PURE; \ |
| STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) PURE; \ |
| STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) PURE; |
| |
| DWORD CALLBACK IMessageFilter_HandleInComingCall_Proxy( |
| IMessageFilter* This, |
| DWORD dwCallType, |
| HTASK htaskCaller, |
| DWORD dwTickCount, |
| LPINTERFACEINFO lpInterfaceInfo); |
| void __RPC_STUB IMessageFilter_HandleInComingCall_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| DWORD CALLBACK IMessageFilter_RetryRejectedCall_Proxy( |
| IMessageFilter* This, |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwRejectType); |
| void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| DWORD CALLBACK IMessageFilter_MessagePending_Proxy( |
| IMessageFilter* This, |
| HTASK htaskCallee, |
| DWORD dwTickCount, |
| DWORD dwPendingType); |
| void __RPC_STUB IMessageFilter_MessagePending_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRpcChannelBuffer IRpcChannelBuffer; |
| typedef IRpcChannelBuffer *LPRPCCHANNELBUFFER; |
| |
| typedef unsigned long RPCOLEDATAREP; |
| |
| typedef struct tagRPCOLEMESSAGE { |
| void *reserved1; |
| RPCOLEDATAREP dataRepresentation; |
| void *Buffer; |
| ULONG cbBuffer; |
| ULONG iMethod; |
| void *reserved2[5]; |
| ULONG rpcFlags; |
| } RPCOLEMESSAGE; |
| |
| typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; |
| |
| /***************************************************************************** |
| * IRpcChannelBuffer interface |
| */ |
| DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRpcChannelBuffer: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetBuffer( |
| RPCOLEMESSAGE* pMessage, |
| REFIID riid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SendReceive( |
| RPCOLEMESSAGE* pMessage, |
| ULONG* pStatus) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE FreeBuffer( |
| RPCOLEMESSAGE* pMessage) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDestCtx( |
| DWORD* pdwDestContext, |
| void** ppvDestContext) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE IsConnected( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl; |
| struct IRpcChannelBuffer { |
| const IRpcChannelBufferVtbl* lpVtbl; |
| }; |
| struct IRpcChannelBufferVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRpcChannelBuffer* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRpcChannelBuffer* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRpcChannelBuffer* This); |
| |
| /*** IRpcChannelBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage, |
| REFIID riid); |
| |
| HRESULT (STDMETHODCALLTYPE *SendReceive)( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage, |
| ULONG* pStatus); |
| |
| HRESULT (STDMETHODCALLTYPE *FreeBuffer)( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDestCtx)( |
| IRpcChannelBuffer* This, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| |
| HRESULT (STDMETHODCALLTYPE *IsConnected)( |
| IRpcChannelBuffer* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRpcChannelBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRpcChannelBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRpcChannelBuffer_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRpcChannelBuffer methods ***/ |
| #define IRpcChannelBuffer_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b) |
| #define IRpcChannelBuffer_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b) |
| #define IRpcChannelBuffer_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a) |
| #define IRpcChannelBuffer_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b) |
| #define IRpcChannelBuffer_IsConnected(p) (p)->lpVtbl->IsConnected(p) |
| |
| #endif |
| |
| #define IRpcChannelBuffer_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; \ |
| /*** IRpcChannelBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \ |
| STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \ |
| STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \ |
| STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \ |
| STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; |
| |
| HRESULT CALLBACK IRpcChannelBuffer_GetBuffer_Proxy( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage, |
| REFIID riid); |
| void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer_SendReceive_Proxy( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage, |
| ULONG* pStatus); |
| void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer_FreeBuffer_Proxy( |
| IRpcChannelBuffer* This, |
| RPCOLEMESSAGE* pMessage); |
| void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer_GetDestCtx_Proxy( |
| IRpcChannelBuffer* This, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer_IsConnected_Proxy( |
| IRpcChannelBuffer* This); |
| void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2; |
| typedef IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2; |
| |
| /***************************************************************************** |
| * IRpcChannelBuffer2 interface |
| */ |
| DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRpcChannelBuffer2: IRpcChannelBuffer { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( |
| DWORD* pdwVersion) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl; |
| struct IRpcChannelBuffer2 { |
| const IRpcChannelBuffer2Vtbl* lpVtbl; |
| }; |
| struct IRpcChannelBuffer2Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRpcChannelBuffer2* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRpcChannelBuffer2* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRpcChannelBuffer2* This); |
| |
| /*** IRpcChannelBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| IRpcChannelBuffer2* This, |
| RPCOLEMESSAGE* pMessage, |
| REFIID riid); |
| |
| HRESULT (STDMETHODCALLTYPE *SendReceive)( |
| IRpcChannelBuffer2* This, |
| RPCOLEMESSAGE* pMessage, |
| ULONG* pStatus); |
| |
| HRESULT (STDMETHODCALLTYPE *FreeBuffer)( |
| IRpcChannelBuffer2* This, |
| RPCOLEMESSAGE* pMessage); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDestCtx)( |
| IRpcChannelBuffer2* This, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| |
| HRESULT (STDMETHODCALLTYPE *IsConnected)( |
| IRpcChannelBuffer2* This); |
| |
| /*** IRpcChannelBuffer2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( |
| IRpcChannelBuffer2* This, |
| DWORD* pdwVersion); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRpcChannelBuffer2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRpcChannelBuffer2_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRpcChannelBuffer2_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRpcChannelBuffer methods ***/ |
| #define IRpcChannelBuffer2_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b) |
| #define IRpcChannelBuffer2_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b) |
| #define IRpcChannelBuffer2_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a) |
| #define IRpcChannelBuffer2_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b) |
| #define IRpcChannelBuffer2_IsConnected(p) (p)->lpVtbl->IsConnected(p) |
| /*** IRpcChannelBuffer2 methods ***/ |
| #define IRpcChannelBuffer2_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a) |
| |
| #endif |
| |
| #define IRpcChannelBuffer2_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; \ |
| /*** IRpcChannelBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \ |
| STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \ |
| STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \ |
| STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \ |
| STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \ |
| /*** IRpcChannelBuffer2 methods ***/ \ |
| STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; |
| |
| HRESULT CALLBACK IRpcChannelBuffer2_GetProtocolVersion_Proxy( |
| IRpcChannelBuffer2* This, |
| DWORD* pdwVersion); |
| void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3; |
| typedef IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3; |
| |
| /***************************************************************************** |
| * IRpcChannelBuffer3 interface |
| */ |
| DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRpcChannelBuffer3: IRpcChannelBuffer2 { |
| |
| virtual HRESULT STDMETHODCALLTYPE Send( |
| RPCOLEMESSAGE* pMsg, |
| ULONG* pulStatus) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Receive( |
| RPCOLEMESSAGE* pMsg, |
| ULONG ulSize, |
| ULONG* pulStatus) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Cancel( |
| RPCOLEMESSAGE* pMsg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCallContext( |
| RPCOLEMESSAGE* pMsg, |
| REFIID riid, |
| void** pInterface) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pdwDestContext, |
| void** ppvDestContext) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetState( |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pState) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RegisterAsync( |
| RPCOLEMESSAGE* pMsg, |
| IAsyncManager* pAsyncMgr) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl; |
| struct IRpcChannelBuffer3 { |
| const IRpcChannelBuffer3Vtbl* lpVtbl; |
| }; |
| struct IRpcChannelBuffer3Vtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRpcChannelBuffer3* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRpcChannelBuffer3* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRpcChannelBuffer3* This); |
| |
| /*** IRpcChannelBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetBuffer)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMessage, |
| REFIID riid); |
| |
| HRESULT (STDMETHODCALLTYPE *SendReceive)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMessage, |
| ULONG* pStatus); |
| |
| HRESULT (STDMETHODCALLTYPE *FreeBuffer)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMessage); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDestCtx)( |
| IRpcChannelBuffer3* This, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| |
| HRESULT (STDMETHODCALLTYPE *IsConnected)( |
| IRpcChannelBuffer3* This); |
| |
| /*** IRpcChannelBuffer2 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetProtocolVersion)( |
| IRpcChannelBuffer3* This, |
| DWORD* pdwVersion); |
| |
| /*** IRpcChannelBuffer3 methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Send)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| ULONG* pulStatus); |
| |
| HRESULT (STDMETHODCALLTYPE *Receive)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| ULONG ulSize, |
| ULONG* pulStatus); |
| |
| HRESULT (STDMETHODCALLTYPE *Cancel)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCallContext)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| REFIID riid, |
| void** pInterface); |
| |
| HRESULT (STDMETHODCALLTYPE *GetDestCtxEx)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pState); |
| |
| HRESULT (STDMETHODCALLTYPE *RegisterAsync)( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| IAsyncManager* pAsyncMgr); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRpcChannelBuffer3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRpcChannelBuffer3_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRpcChannelBuffer3_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRpcChannelBuffer methods ***/ |
| #define IRpcChannelBuffer3_GetBuffer(p,a,b) (p)->lpVtbl->GetBuffer(p,a,b) |
| #define IRpcChannelBuffer3_SendReceive(p,a,b) (p)->lpVtbl->SendReceive(p,a,b) |
| #define IRpcChannelBuffer3_FreeBuffer(p,a) (p)->lpVtbl->FreeBuffer(p,a) |
| #define IRpcChannelBuffer3_GetDestCtx(p,a,b) (p)->lpVtbl->GetDestCtx(p,a,b) |
| #define IRpcChannelBuffer3_IsConnected(p) (p)->lpVtbl->IsConnected(p) |
| /*** IRpcChannelBuffer2 methods ***/ |
| #define IRpcChannelBuffer3_GetProtocolVersion(p,a) (p)->lpVtbl->GetProtocolVersion(p,a) |
| /*** IRpcChannelBuffer3 methods ***/ |
| #define IRpcChannelBuffer3_Send(p,a,b) (p)->lpVtbl->Send(p,a,b) |
| #define IRpcChannelBuffer3_Receive(p,a,b,c) (p)->lpVtbl->Receive(p,a,b,c) |
| #define IRpcChannelBuffer3_Cancel(p,a) (p)->lpVtbl->Cancel(p,a) |
| #define IRpcChannelBuffer3_GetCallContext(p,a,b,c) (p)->lpVtbl->GetCallContext(p,a,b,c) |
| #define IRpcChannelBuffer3_GetDestCtxEx(p,a,b,c) (p)->lpVtbl->GetDestCtxEx(p,a,b,c) |
| #define IRpcChannelBuffer3_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b) |
| #define IRpcChannelBuffer3_RegisterAsync(p,a,b) (p)->lpVtbl->RegisterAsync(p,a,b) |
| |
| #endif |
| |
| #define IRpcChannelBuffer3_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; \ |
| /*** IRpcChannelBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,GetBuffer)(THIS_ RPCOLEMESSAGE* pMessage, REFIID riid) PURE; \ |
| STDMETHOD_(HRESULT,SendReceive)(THIS_ RPCOLEMESSAGE* pMessage, ULONG* pStatus) PURE; \ |
| STDMETHOD_(HRESULT,FreeBuffer)(THIS_ RPCOLEMESSAGE* pMessage) PURE; \ |
| STDMETHOD_(HRESULT,GetDestCtx)(THIS_ DWORD* pdwDestContext, void** ppvDestContext) PURE; \ |
| STDMETHOD_(HRESULT,IsConnected)(THIS) PURE; \ |
| /*** IRpcChannelBuffer2 methods ***/ \ |
| STDMETHOD_(HRESULT,GetProtocolVersion)(THIS_ DWORD* pdwVersion) PURE; \ |
| /*** IRpcChannelBuffer3 methods ***/ \ |
| STDMETHOD_(HRESULT,Send)(THIS_ RPCOLEMESSAGE* pMsg, ULONG* pulStatus) PURE; \ |
| STDMETHOD_(HRESULT,Receive)(THIS_ RPCOLEMESSAGE* pMsg, ULONG ulSize, ULONG* pulStatus) PURE; \ |
| STDMETHOD_(HRESULT,Cancel)(THIS_ RPCOLEMESSAGE* pMsg) PURE; \ |
| STDMETHOD_(HRESULT,GetCallContext)(THIS_ RPCOLEMESSAGE* pMsg, REFIID riid, void** pInterface) PURE; \ |
| STDMETHOD_(HRESULT,GetDestCtxEx)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pdwDestContext, void** ppvDestContext) PURE; \ |
| STDMETHOD_(HRESULT,GetState)(THIS_ RPCOLEMESSAGE* pMsg, DWORD* pState) PURE; \ |
| STDMETHOD_(HRESULT,RegisterAsync)(THIS_ RPCOLEMESSAGE* pMsg, IAsyncManager* pAsyncMgr) PURE; |
| |
| HRESULT CALLBACK IRpcChannelBuffer3_Send_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| ULONG* pulStatus); |
| void __RPC_STUB IRpcChannelBuffer3_Send_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_Receive_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| ULONG ulSize, |
| ULONG* pulStatus); |
| void __RPC_STUB IRpcChannelBuffer3_Receive_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_Cancel_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg); |
| void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_GetCallContext_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| REFIID riid, |
| void** pInterface); |
| void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_GetDestCtxEx_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pdwDestContext, |
| void** ppvDestContext); |
| void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_GetState_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| DWORD* pState); |
| void __RPC_STUB IRpcChannelBuffer3_GetState_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcChannelBuffer3_RegisterAsync_Proxy( |
| IRpcChannelBuffer3* This, |
| RPCOLEMESSAGE* pMsg, |
| IAsyncManager* pAsyncMgr); |
| void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRpcProxyBuffer IRpcProxyBuffer; |
| typedef IRpcProxyBuffer *LPRPCPROXYBUFFER; |
| |
| /***************************************************************************** |
| * IRpcProxyBuffer interface |
| */ |
| DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRpcProxyBuffer: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Connect( |
| IRpcChannelBuffer* pRpcChannelBuffer) = 0; |
| |
| virtual void STDMETHODCALLTYPE Disconnect( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl; |
| struct IRpcProxyBuffer { |
| const IRpcProxyBufferVtbl* lpVtbl; |
| }; |
| struct IRpcProxyBufferVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRpcProxyBuffer* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRpcProxyBuffer* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRpcProxyBuffer* This); |
| |
| /*** IRpcProxyBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Connect)( |
| IRpcProxyBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer); |
| |
| void (STDMETHODCALLTYPE *Disconnect)( |
| IRpcProxyBuffer* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRpcProxyBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRpcProxyBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRpcProxyBuffer_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRpcProxyBuffer methods ***/ |
| #define IRpcProxyBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a) |
| #define IRpcProxyBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p) |
| |
| #endif |
| |
| #define IRpcProxyBuffer_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; \ |
| /*** IRpcProxyBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,Connect)(THIS_ IRpcChannelBuffer* pRpcChannelBuffer) PURE; \ |
| STDMETHOD_(void,Disconnect)(THIS) PURE; |
| |
| HRESULT CALLBACK IRpcProxyBuffer_Connect_Proxy( |
| IRpcProxyBuffer* This, |
| IRpcChannelBuffer* pRpcChannelBuffer); |
| void __RPC_STUB IRpcProxyBuffer_Connect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IRpcProxyBuffer_Disconnect_Proxy( |
| IRpcProxyBuffer* This); |
| void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IRpcStubBuffer IRpcStubBuffer; |
| typedef IRpcStubBuffer *LPRPCSTUBBUFFER; |
| |
| /***************************************************************************** |
| * IRpcStubBuffer interface |
| */ |
| DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IRpcStubBuffer: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Connect( |
| IUnknown* pUnkServer) = 0; |
| |
| virtual void STDMETHODCALLTYPE Disconnect( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Invoke( |
| RPCOLEMESSAGE* _prpcmsg, |
| IRpcChannelBuffer* _pRpcChannelBuffer) = 0; |
| |
| virtual IRpcStubBuffer* STDMETHODCALLTYPE IsIIDSupported( |
| REFIID riid) = 0; |
| |
| virtual ULONG STDMETHODCALLTYPE CountRefs( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface( |
| void** ppv) = 0; |
| |
| virtual void STDMETHODCALLTYPE DebugServerRelease( |
| void* pv) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl; |
| struct IRpcStubBuffer { |
| const IRpcStubBufferVtbl* lpVtbl; |
| }; |
| struct IRpcStubBufferVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRpcStubBuffer* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRpcStubBuffer* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRpcStubBuffer* This); |
| |
| /*** IRpcStubBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Connect)( |
| IRpcStubBuffer* This, |
| IUnknown* pUnkServer); |
| |
| void (STDMETHODCALLTYPE *Disconnect)( |
| IRpcStubBuffer* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Invoke)( |
| IRpcStubBuffer* This, |
| RPCOLEMESSAGE* _prpcmsg, |
| IRpcChannelBuffer* _pRpcChannelBuffer); |
| |
| IRpcStubBuffer* (STDMETHODCALLTYPE *IsIIDSupported)( |
| IRpcStubBuffer* This, |
| REFIID riid); |
| |
| ULONG (STDMETHODCALLTYPE *CountRefs)( |
| IRpcStubBuffer* This); |
| |
| HRESULT (STDMETHODCALLTYPE *DebugServerQueryInterface)( |
| IRpcStubBuffer* This, |
| void** ppv); |
| |
| void (STDMETHODCALLTYPE *DebugServerRelease)( |
| IRpcStubBuffer* This, |
| void* pv); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IRpcStubBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IRpcStubBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IRpcStubBuffer_Release(p) (p)->lpVtbl->Release(p) |
| /*** IRpcStubBuffer methods ***/ |
| #define IRpcStubBuffer_Connect(p,a) (p)->lpVtbl->Connect(p,a) |
| #define IRpcStubBuffer_Disconnect(p) (p)->lpVtbl->Disconnect(p) |
| #define IRpcStubBuffer_Invoke(p,a,b) (p)->lpVtbl->Invoke(p,a,b) |
| #define IRpcStubBuffer_IsIIDSupported(p,a) (p)->lpVtbl->IsIIDSupported(p,a) |
| #define IRpcStubBuffer_CountRefs(p) (p)->lpVtbl->CountRefs(p) |
| #define IRpcStubBuffer_DebugServerQueryInterface(p,a) (p)->lpVtbl->DebugServerQueryInterface(p,a) |
| #define IRpcStubBuffer_DebugServerRelease(p,a) (p)->lpVtbl->DebugServerRelease(p,a) |
| |
| #endif |
| |
| #define IRpcStubBuffer_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; \ |
| /*** IRpcStubBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,Connect)(THIS_ IUnknown* pUnkServer) PURE; \ |
| STDMETHOD_(void,Disconnect)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Invoke)(THIS_ RPCOLEMESSAGE* _prpcmsg, IRpcChannelBuffer* _pRpcChannelBuffer) PURE; \ |
| STDMETHOD_(IRpcStubBuffer*,IsIIDSupported)(THIS_ REFIID riid) PURE; \ |
| STDMETHOD_(ULONG,CountRefs)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,DebugServerQueryInterface)(THIS_ void** ppv) PURE; \ |
| STDMETHOD_(void,DebugServerRelease)(THIS_ void* pv) PURE; |
| |
| HRESULT CALLBACK IRpcStubBuffer_Connect_Proxy( |
| IRpcStubBuffer* This, |
| IUnknown* pUnkServer); |
| void __RPC_STUB IRpcStubBuffer_Connect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IRpcStubBuffer_Disconnect_Proxy( |
| IRpcStubBuffer* This); |
| void __RPC_STUB IRpcStubBuffer_Disconnect_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcStubBuffer_Invoke_Proxy( |
| IRpcStubBuffer* This, |
| RPCOLEMESSAGE* _prpcmsg, |
| IRpcChannelBuffer* _pRpcChannelBuffer); |
| void __RPC_STUB IRpcStubBuffer_Invoke_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| IRpcStubBuffer* CALLBACK IRpcStubBuffer_IsIIDSupported_Proxy( |
| IRpcStubBuffer* This, |
| REFIID riid); |
| void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| ULONG CALLBACK IRpcStubBuffer_CountRefs_Proxy( |
| IRpcStubBuffer* This); |
| void __RPC_STUB IRpcStubBuffer_CountRefs_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IRpcStubBuffer_DebugServerQueryInterface_Proxy( |
| IRpcStubBuffer* This, |
| void** ppv); |
| void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IRpcStubBuffer_DebugServerRelease_Proxy( |
| IRpcStubBuffer* This, |
| void* pv); |
| void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPSFactoryBuffer IPSFactoryBuffer; |
| typedef IPSFactoryBuffer *LPPSFACTORYBUFFER; |
| |
| /***************************************************************************** |
| * IPSFactoryBuffer interface |
| */ |
| DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPSFactoryBuffer: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateProxy( |
| IUnknown* pUnkOuter, |
| REFIID riid, |
| IRpcProxyBuffer** ppProxy, |
| void** ppv) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CreateStub( |
| REFIID riid, |
| IUnknown* pUnkServer, |
| IRpcStubBuffer** ppStub) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl; |
| struct IPSFactoryBuffer { |
| const IPSFactoryBufferVtbl* lpVtbl; |
| }; |
| struct IPSFactoryBufferVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPSFactoryBuffer* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPSFactoryBuffer* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPSFactoryBuffer* This); |
| |
| /*** IPSFactoryBuffer methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CreateProxy)( |
| IPSFactoryBuffer* This, |
| IUnknown* pUnkOuter, |
| REFIID riid, |
| IRpcProxyBuffer** ppProxy, |
| void** ppv); |
| |
| HRESULT (STDMETHODCALLTYPE *CreateStub)( |
| IPSFactoryBuffer* This, |
| REFIID riid, |
| IUnknown* pUnkServer, |
| IRpcStubBuffer** ppStub); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPSFactoryBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPSFactoryBuffer_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPSFactoryBuffer_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPSFactoryBuffer methods ***/ |
| #define IPSFactoryBuffer_CreateProxy(p,a,b,c,d) (p)->lpVtbl->CreateProxy(p,a,b,c,d) |
| #define IPSFactoryBuffer_CreateStub(p,a,b,c) (p)->lpVtbl->CreateStub(p,a,b,c) |
| |
| #endif |
| |
| #define IPSFactoryBuffer_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; \ |
| /*** IPSFactoryBuffer methods ***/ \ |
| STDMETHOD_(HRESULT,CreateProxy)(THIS_ IUnknown* pUnkOuter, REFIID riid, IRpcProxyBuffer** ppProxy, void** ppv) PURE; \ |
| STDMETHOD_(HRESULT,CreateStub)(THIS_ REFIID riid, IUnknown* pUnkServer, IRpcStubBuffer** ppStub) PURE; |
| |
| HRESULT CALLBACK IPSFactoryBuffer_CreateProxy_Proxy( |
| IPSFactoryBuffer* This, |
| IUnknown* pUnkOuter, |
| REFIID riid, |
| IRpcProxyBuffer** ppProxy, |
| void** ppv); |
| void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPSFactoryBuffer_CreateStub_Proxy( |
| IPSFactoryBuffer* This, |
| REFIID riid, |
| IUnknown* pUnkServer, |
| IRpcStubBuffer** ppStub); |
| void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IChannelHook IChannelHook; |
| typedef IChannelHook *LPCHANNELHOOK; |
| |
| typedef struct SChannelHookCallInfo { |
| IID iid; |
| DWORD cbSize; |
| GUID uCausality; |
| DWORD dwServerPid; |
| DWORD iMethod; |
| void *pObject; |
| } SChannelHookCallInfo; |
| |
| /***************************************************************************** |
| * IChannelHook interface |
| */ |
| DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IChannelHook: IUnknown { |
| |
| virtual void STDMETHODCALLTYPE ClientGetSize( |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize) = 0; |
| |
| virtual void STDMETHODCALLTYPE ClientFillBuffer( |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer) = 0; |
| |
| virtual void STDMETHODCALLTYPE ClientNotify( |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep, |
| HRESULT hrFault) = 0; |
| |
| virtual void STDMETHODCALLTYPE ServerNotify( |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep) = 0; |
| |
| virtual void STDMETHODCALLTYPE ServerGetSize( |
| REFGUID uExtent, |
| REFIID riid, |
| HRESULT hrFault, |
| ULONG* pDataSize) = 0; |
| |
| virtual void STDMETHODCALLTYPE ServerFillBuffer( |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer, |
| HRESULT hrFault) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IChannelHookVtbl IChannelHookVtbl; |
| struct IChannelHook { |
| const IChannelHookVtbl* lpVtbl; |
| }; |
| struct IChannelHookVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IChannelHook* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IChannelHook* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IChannelHook* This); |
| |
| /*** IChannelHook methods ***/ |
| void (STDMETHODCALLTYPE *ClientGetSize)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize); |
| |
| void (STDMETHODCALLTYPE *ClientFillBuffer)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer); |
| |
| void (STDMETHODCALLTYPE *ClientNotify)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep, |
| HRESULT hrFault); |
| |
| void (STDMETHODCALLTYPE *ServerNotify)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep); |
| |
| void (STDMETHODCALLTYPE *ServerGetSize)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| HRESULT hrFault, |
| ULONG* pDataSize); |
| |
| void (STDMETHODCALLTYPE *ServerFillBuffer)( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer, |
| HRESULT hrFault); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IChannelHook_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IChannelHook_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IChannelHook_Release(p) (p)->lpVtbl->Release(p) |
| /*** IChannelHook methods ***/ |
| #define IChannelHook_ClientGetSize(p,a,b,c) (p)->lpVtbl->ClientGetSize(p,a,b,c) |
| #define IChannelHook_ClientFillBuffer(p,a,b,c,d) (p)->lpVtbl->ClientFillBuffer(p,a,b,c,d) |
| #define IChannelHook_ClientNotify(p,a,b,c,d,e,f) (p)->lpVtbl->ClientNotify(p,a,b,c,d,e,f) |
| #define IChannelHook_ServerNotify(p,a,b,c,d,e) (p)->lpVtbl->ServerNotify(p,a,b,c,d,e) |
| #define IChannelHook_ServerGetSize(p,a,b,c,d) (p)->lpVtbl->ServerGetSize(p,a,b,c,d) |
| #define IChannelHook_ServerFillBuffer(p,a,b,c,d,e) (p)->lpVtbl->ServerFillBuffer(p,a,b,c,d,e) |
| |
| #endif |
| |
| #define IChannelHook_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; \ |
| /*** IChannelHook methods ***/ \ |
| STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize) PURE; \ |
| STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer) PURE; \ |
| STDMETHOD_(void,ClientNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep, HRESULT hrFault) PURE; \ |
| STDMETHOD_(void,ServerNotify)(THIS_ REFGUID uExtent, REFIID riid, ULONG cbDataSize, void* pDataBuffer, DWORD lDataRep) PURE; \ |
| STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID uExtent, REFIID riid, HRESULT hrFault, ULONG* pDataSize) PURE; \ |
| STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID uExtent, REFIID riid, ULONG* pDataSize, void* pDataBuffer, HRESULT hrFault) PURE; |
| |
| void CALLBACK IChannelHook_ClientGetSize_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize); |
| void __RPC_STUB IChannelHook_ClientGetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IChannelHook_ClientFillBuffer_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer); |
| void __RPC_STUB IChannelHook_ClientFillBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IChannelHook_ClientNotify_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep, |
| HRESULT hrFault); |
| void __RPC_STUB IChannelHook_ClientNotify_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IChannelHook_ServerNotify_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG cbDataSize, |
| void* pDataBuffer, |
| DWORD lDataRep); |
| void __RPC_STUB IChannelHook_ServerNotify_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IChannelHook_ServerGetSize_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| HRESULT hrFault, |
| ULONG* pDataSize); |
| void __RPC_STUB IChannelHook_ServerGetSize_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| void CALLBACK IChannelHook_ServerFillBuffer_Proxy( |
| IChannelHook* This, |
| REFGUID uExtent, |
| REFIID riid, |
| ULONG* pDataSize, |
| void* pDataBuffer, |
| HRESULT hrFault); |
| void __RPC_STUB IChannelHook_ServerFillBuffer_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG; |
| typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG; |
| typedef struct IPropertyStorage IPropertyStorage; |
| typedef IPropertyStorage *LPPROPERTYSTORAGE; |
| |
| extern const FMTID FMTID_SummaryInformation; |
| |
| extern const FMTID FMTID_DocSummaryInformation; |
| |
| extern const FMTID FMTID_UserDefinedProperties; |
| |
| #define PROPSETFLAG_DEFAULT (0) |
| |
| #define PROPSETFLAG_NONSIMPLE (1) |
| |
| #define PROPSETFLAG_ANSI (2) |
| |
| #define PROPSETFLAG_UNBUFFERED (4) |
| |
| typedef struct tagPROPVARIANT PROPVARIANT; |
| |
| typedef struct tagCAUB { |
| ULONG cElems; |
| unsigned char *pElems; |
| } CAUB; |
| |
| typedef struct tagCAI { |
| ULONG cElems; |
| short *pElems; |
| } CAI; |
| |
| typedef struct tagCAUI { |
| ULONG cElems; |
| USHORT *pElems; |
| } CAUI; |
| |
| typedef struct tagCAL { |
| ULONG cElems; |
| long *pElems; |
| } CAL; |
| |
| typedef struct tagCAUL { |
| ULONG cElems; |
| ULONG *pElems; |
| } CAUL; |
| |
| typedef struct tagCAFLT { |
| ULONG cElems; |
| float *pElems; |
| } CAFLT; |
| |
| typedef struct tagCADBL { |
| ULONG cElems; |
| double *pElems; |
| } CADBL; |
| |
| typedef struct tagCACY { |
| ULONG cElems; |
| CY *pElems; |
| } CACY; |
| |
| typedef struct tagCADATE { |
| ULONG cElems; |
| DATE *pElems; |
| } CADATE; |
| |
| typedef struct tagCABSTR { |
| ULONG cElems; |
| BSTR *pElems; |
| } CABSTR; |
| |
| typedef struct tagCABSTRBLOB { |
| ULONG cElems; |
| BSTRBLOB *pElems; |
| } CABSTRBLOB; |
| |
| typedef struct tagCABOOL { |
| ULONG cElems; |
| VARIANT_BOOL *pElems; |
| } CABOOL; |
| |
| typedef struct tagCASCODE { |
| ULONG cElems; |
| SCODE *pElems; |
| } CASCODE; |
| |
| typedef struct tagCAPROPVARIANT { |
| ULONG cElems; |
| PROPVARIANT *pElems; |
| } CAPROPVARIANT; |
| |
| typedef struct tagCAH { |
| ULONG cElems; |
| LARGE_INTEGER *pElems; |
| } CAH; |
| |
| typedef struct tagCAUH { |
| ULONG cElems; |
| ULARGE_INTEGER *pElems; |
| } CAUH; |
| |
| typedef struct tagCALPSTR { |
| ULONG cElems; |
| LPSTR *pElems; |
| } CALPSTR; |
| |
| typedef struct tagCALPWSTR { |
| ULONG cElems; |
| LPWSTR *pElems; |
| } CALPWSTR; |
| |
| typedef struct tagCAFILETIME { |
| ULONG cElems; |
| FILETIME *pElems; |
| } CAFILETIME; |
| |
| typedef struct tagCACLIPDATA { |
| ULONG cElems; |
| CLIPDATA *pElems; |
| } CACLIPDATA; |
| |
| typedef struct tagCACLSID { |
| ULONG cElems; |
| CLSID *pElems; |
| } CACLSID; |
| |
| struct tagPROPVARIANT { |
| VARTYPE vt; |
| WORD wReserved1; |
| WORD wReserved2; |
| WORD wReserved3; |
| union { |
| UCHAR bVal; |
| short iVal; |
| USHORT uiVal; |
| VARIANT_BOOL boolVal; |
| long lVal; |
| ULONG ulVal; |
| float fltVal; |
| SCODE scode; |
| LARGE_INTEGER hVal; |
| ULARGE_INTEGER uhVal; |
| double dblVal; |
| CY cyVal; |
| DATE date; |
| FILETIME filetime; |
| CLSID *puuid; |
| BLOB blob; |
| CLIPDATA *pclipdata; |
| IStream *pStream; |
| IStorage *pStorage; |
| BSTR bstrVal; |
| BSTRBLOB bstrblobVal; |
| LPSTR pszVal; |
| LPWSTR pwszVal; |
| CAUB caub; |
| CAI cai; |
| CAUI caui; |
| CABOOL cabool; |
| CAL cal; |
| CAUL caul; |
| CAFLT caflt; |
| CASCODE cascode; |
| CAH cah; |
| CAUH cauh; |
| CADBL cadbl; |
| CACY cacy; |
| CADATE cadate; |
| CAFILETIME cafiletime; |
| CACLSID cauuid; |
| CACLIPDATA caclipdata; |
| CABSTR cabstr; |
| CABSTRBLOB cabstrblob; |
| CALPSTR calpstr; |
| CALPWSTR calpwstr; |
| CAPROPVARIANT capropvar; |
| } DUMMYUNIONNAME; |
| }; |
| |
| typedef struct tagPROPVARIANT *LPPROPVARIANT; |
| |
| #define PRSPEC_INVALID (0x7fffffff) |
| |
| #define PRSPEC_LPWSTR (0) |
| |
| #define PRSPEC_PROPID (1) |
| |
| typedef struct tagPROPSPEC { |
| ULONG ulKind; |
| union { |
| PROPID propid; |
| LPOLESTR lpwstr; |
| } DUMMYUNIONNAME; |
| } PROPSPEC; |
| |
| typedef struct tagSTATPROPSTG { |
| LPOLESTR lpwstrName; |
| PROPID propid; |
| VARTYPE vt; |
| } STATPROPSTG; |
| |
| typedef struct tagSTATPROPSETSTG { |
| FMTID fmtid; |
| CLSID clsid; |
| DWORD grfFlags; |
| FILETIME mtime; |
| FILETIME ctime; |
| FILETIME atime; |
| DWORD dwOSVersion; |
| } STATPROPSETSTG; |
| |
| /***************************************************************************** |
| * IPropertyStorage interface |
| */ |
| DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPropertyStorage: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE ReadMultiple( |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| PROPVARIANT rgpropvar[]) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE WriteMultiple( |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| const PROPVARIANT rgpropvar[], |
| PROPID propidNameFirst) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DeleteMultiple( |
| ULONG cpspec, |
| const PROPSPEC rgpspec[]) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames( |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| LPOLESTR rglpwstrName[]) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE WritePropertyNames( |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| const LPOLESTR rglpwstrName[]) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames( |
| ULONG cpropid, |
| const PROPID rgpropid[]) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Commit( |
| DWORD grfCommitFlags) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Revert( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Enum( |
| IEnumSTATPROPSTG** ppenum) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetTimes( |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetClass( |
| REFCLSID clsid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Stat( |
| STATPROPSETSTG* statpsstg) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPropertyStorageVtbl IPropertyStorageVtbl; |
| struct IPropertyStorage { |
| const IPropertyStorageVtbl* lpVtbl; |
| }; |
| struct IPropertyStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPropertyStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPropertyStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPropertyStorage* This); |
| |
| /*** IPropertyStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *ReadMultiple)( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| PROPVARIANT rgpropvar[]); |
| |
| HRESULT (STDMETHODCALLTYPE *WriteMultiple)( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| const PROPVARIANT rgpropvar[], |
| PROPID propidNameFirst); |
| |
| HRESULT (STDMETHODCALLTYPE *DeleteMultiple)( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[]); |
| |
| HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| LPOLESTR rglpwstrName[]); |
| |
| HRESULT (STDMETHODCALLTYPE *WritePropertyNames)( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| const LPOLESTR rglpwstrName[]); |
| |
| HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[]); |
| |
| HRESULT (STDMETHODCALLTYPE *Commit)( |
| IPropertyStorage* This, |
| DWORD grfCommitFlags); |
| |
| HRESULT (STDMETHODCALLTYPE *Revert)( |
| IPropertyStorage* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Enum)( |
| IPropertyStorage* This, |
| IEnumSTATPROPSTG** ppenum); |
| |
| HRESULT (STDMETHODCALLTYPE *SetTimes)( |
| IPropertyStorage* This, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| |
| HRESULT (STDMETHODCALLTYPE *SetClass)( |
| IPropertyStorage* This, |
| REFCLSID clsid); |
| |
| HRESULT (STDMETHODCALLTYPE *Stat)( |
| IPropertyStorage* This, |
| STATPROPSETSTG* statpsstg); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPropertyStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPropertyStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPropertyStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPropertyStorage methods ***/ |
| #define IPropertyStorage_ReadMultiple(p,a,b,c) (p)->lpVtbl->ReadMultiple(p,a,b,c) |
| #define IPropertyStorage_WriteMultiple(p,a,b,c,d) (p)->lpVtbl->WriteMultiple(p,a,b,c,d) |
| #define IPropertyStorage_DeleteMultiple(p,a,b) (p)->lpVtbl->DeleteMultiple(p,a,b) |
| #define IPropertyStorage_ReadPropertyNames(p,a,b,c) (p)->lpVtbl->ReadPropertyNames(p,a,b,c) |
| #define IPropertyStorage_WritePropertyNames(p,a,b,c) (p)->lpVtbl->WritePropertyNames(p,a,b,c) |
| #define IPropertyStorage_DeletePropertyNames(p,a,b) (p)->lpVtbl->DeletePropertyNames(p,a,b) |
| #define IPropertyStorage_Commit(p,a) (p)->lpVtbl->Commit(p,a) |
| #define IPropertyStorage_Revert(p) (p)->lpVtbl->Revert(p) |
| #define IPropertyStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a) |
| #define IPropertyStorage_SetTimes(p,a,b,c) (p)->lpVtbl->SetTimes(p,a,b,c) |
| #define IPropertyStorage_SetClass(p,a) (p)->lpVtbl->SetClass(p,a) |
| #define IPropertyStorage_Stat(p,a) (p)->lpVtbl->Stat(p,a) |
| |
| #endif |
| |
| #define IPropertyStorage_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; \ |
| /*** IPropertyStorage methods ***/ \ |
| STDMETHOD_(HRESULT,ReadMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], PROPVARIANT rgpropvar[]) PURE; \ |
| STDMETHOD_(HRESULT,WriteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[], const PROPVARIANT rgpropvar[], PROPID propidNameFirst) PURE; \ |
| STDMETHOD_(HRESULT,DeleteMultiple)(THIS_ ULONG cpspec, const PROPSPEC rgpspec[]) PURE; \ |
| STDMETHOD_(HRESULT,ReadPropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], LPOLESTR rglpwstrName[]) PURE; \ |
| STDMETHOD_(HRESULT,WritePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[], const LPOLESTR rglpwstrName[]) PURE; \ |
| STDMETHOD_(HRESULT,DeletePropertyNames)(THIS_ ULONG cpropid, const PROPID rgpropid[]) PURE; \ |
| STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE; \ |
| STDMETHOD_(HRESULT,Revert)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; \ |
| STDMETHOD_(HRESULT,SetTimes)(THIS_ const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime) PURE; \ |
| STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE; \ |
| STDMETHOD_(HRESULT,Stat)(THIS_ STATPROPSETSTG* statpsstg) PURE; |
| |
| HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| PROPVARIANT rgpropvar[]); |
| void __RPC_STUB IPropertyStorage_ReadMultiple_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[], |
| const PROPVARIANT rgpropvar[], |
| PROPID propidNameFirst); |
| void __RPC_STUB IPropertyStorage_WriteMultiple_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy( |
| IPropertyStorage* This, |
| ULONG cpspec, |
| const PROPSPEC rgpspec[]); |
| void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| LPOLESTR rglpwstrName[]); |
| void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[], |
| const LPOLESTR rglpwstrName[]); |
| void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy( |
| IPropertyStorage* This, |
| ULONG cpropid, |
| const PROPID rgpropid[]); |
| void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_Commit_Proxy( |
| IPropertyStorage* This, |
| DWORD grfCommitFlags); |
| void __RPC_STUB IPropertyStorage_Commit_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_Revert_Proxy( |
| IPropertyStorage* This); |
| void __RPC_STUB IPropertyStorage_Revert_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_Enum_Proxy( |
| IPropertyStorage* This, |
| IEnumSTATPROPSTG** ppenum); |
| void __RPC_STUB IPropertyStorage_Enum_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy( |
| IPropertyStorage* This, |
| const FILETIME* pctime, |
| const FILETIME* patime, |
| const FILETIME* pmtime); |
| void __RPC_STUB IPropertyStorage_SetTimes_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_SetClass_Proxy( |
| IPropertyStorage* This, |
| REFCLSID clsid); |
| void __RPC_STUB IPropertyStorage_SetClass_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertyStorage_Stat_Proxy( |
| IPropertyStorage* This, |
| STATPROPSETSTG* statpsstg); |
| void __RPC_STUB IPropertyStorage_Stat_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IPropertySetStorage IPropertySetStorage; |
| typedef IPropertySetStorage *LPPROPERTYSETSTORAGE; |
| |
| /***************************************************************************** |
| * IPropertySetStorage interface |
| */ |
| DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IPropertySetStorage: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Create( |
| REFFMTID rfmtid, |
| const CLSID* pclsid, |
| DWORD grfFlags, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Open( |
| REFFMTID rfmtid, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Delete( |
| REFFMTID rfmtid) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Enum( |
| IEnumSTATPROPSETSTG** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl; |
| struct IPropertySetStorage { |
| const IPropertySetStorageVtbl* lpVtbl; |
| }; |
| struct IPropertySetStorageVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IPropertySetStorage* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IPropertySetStorage* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IPropertySetStorage* This); |
| |
| /*** IPropertySetStorage methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Create)( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid, |
| const CLSID* pclsid, |
| DWORD grfFlags, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg); |
| |
| HRESULT (STDMETHODCALLTYPE *Open)( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg); |
| |
| HRESULT (STDMETHODCALLTYPE *Delete)( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid); |
| |
| HRESULT (STDMETHODCALLTYPE *Enum)( |
| IPropertySetStorage* This, |
| IEnumSTATPROPSETSTG** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IPropertySetStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IPropertySetStorage_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IPropertySetStorage_Release(p) (p)->lpVtbl->Release(p) |
| /*** IPropertySetStorage methods ***/ |
| #define IPropertySetStorage_Create(p,a,b,c,d,e) (p)->lpVtbl->Create(p,a,b,c,d,e) |
| #define IPropertySetStorage_Open(p,a,b,c) (p)->lpVtbl->Open(p,a,b,c) |
| #define IPropertySetStorage_Delete(p,a) (p)->lpVtbl->Delete(p,a) |
| #define IPropertySetStorage_Enum(p,a) (p)->lpVtbl->Enum(p,a) |
| |
| #endif |
| |
| #define IPropertySetStorage_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; \ |
| /*** IPropertySetStorage methods ***/ \ |
| STDMETHOD_(HRESULT,Create)(THIS_ REFFMTID rfmtid, const CLSID* pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \ |
| STDMETHOD_(HRESULT,Open)(THIS_ REFFMTID rfmtid, DWORD grfMode, IPropertyStorage** ppprstg) PURE; \ |
| STDMETHOD_(HRESULT,Delete)(THIS_ REFFMTID rfmtid) PURE; \ |
| STDMETHOD_(HRESULT,Enum)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE; |
| |
| HRESULT CALLBACK IPropertySetStorage_Create_Proxy( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid, |
| const CLSID* pclsid, |
| DWORD grfFlags, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg); |
| void __RPC_STUB IPropertySetStorage_Create_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertySetStorage_Open_Proxy( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid, |
| DWORD grfMode, |
| IPropertyStorage** ppprstg); |
| void __RPC_STUB IPropertySetStorage_Open_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertySetStorage_Delete_Proxy( |
| IPropertySetStorage* This, |
| REFFMTID rfmtid); |
| void __RPC_STUB IPropertySetStorage_Delete_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IPropertySetStorage_Enum_Proxy( |
| IPropertySetStorage* This, |
| IEnumSTATPROPSETSTG** ppenum); |
| void __RPC_STUB IPropertySetStorage_Enum_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG; |
| |
| /***************************************************************************** |
| * IEnumSTATPROPSTG interface |
| */ |
| DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumSTATPROPSTG: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| STATPROPSTG* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumSTATPROPSTG** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl; |
| struct IEnumSTATPROPSTG { |
| const IEnumSTATPROPSTGVtbl* lpVtbl; |
| }; |
| struct IEnumSTATPROPSTGVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumSTATPROPSTG* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumSTATPROPSTG* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumSTATPROPSTG* This); |
| |
| /*** IEnumSTATPROPSTG methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumSTATPROPSTG* This, |
| ULONG celt, |
| STATPROPSTG* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumSTATPROPSTG* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumSTATPROPSTG* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumSTATPROPSTG* This, |
| IEnumSTATPROPSTG** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumSTATPROPSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumSTATPROPSTG_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumSTATPROPSTG_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumSTATPROPSTG methods ***/ |
| #define IEnumSTATPROPSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumSTATPROPSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumSTATPROPSTG_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumSTATPROPSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumSTATPROPSTG_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; \ |
| /*** IEnumSTATPROPSTG methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSTG* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSTG** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy( |
| IEnumSTATPROPSTG* This, |
| ULONG celt, |
| STATPROPSTG* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy( |
| IEnumSTATPROPSTG* This, |
| ULONG celt, |
| STATPROPSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub( |
| IEnumSTATPROPSTG* This, |
| ULONG celt, |
| STATPROPSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy( |
| IEnumSTATPROPSTG* This, |
| ULONG celt); |
| void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy( |
| IEnumSTATPROPSTG* This); |
| void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy( |
| IEnumSTATPROPSTG* This, |
| IEnumSTATPROPSTG** ppenum); |
| void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; |
| |
| /***************************************************************************** |
| * IEnumSTATPROPSETSTG interface |
| */ |
| DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IEnumSTATPROPSETSTG: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE Next( |
| ULONG celt, |
| STATPROPSETSTG* rgelt, |
| ULONG* pceltFetched) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Skip( |
| ULONG celt) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Reset( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Clone( |
| IEnumSTATPROPSETSTG** ppenum) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl; |
| struct IEnumSTATPROPSETSTG { |
| const IEnumSTATPROPSETSTGVtbl* lpVtbl; |
| }; |
| struct IEnumSTATPROPSETSTGVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IEnumSTATPROPSETSTG* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IEnumSTATPROPSETSTG* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IEnumSTATPROPSETSTG* This); |
| |
| /*** IEnumSTATPROPSETSTG methods ***/ |
| HRESULT (STDMETHODCALLTYPE *Next)( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt, |
| STATPROPSETSTG* rgelt, |
| ULONG* pceltFetched); |
| |
| HRESULT (STDMETHODCALLTYPE *Skip)( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt); |
| |
| HRESULT (STDMETHODCALLTYPE *Reset)( |
| IEnumSTATPROPSETSTG* This); |
| |
| HRESULT (STDMETHODCALLTYPE *Clone)( |
| IEnumSTATPROPSETSTG* This, |
| IEnumSTATPROPSETSTG** ppenum); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IEnumSTATPROPSETSTG_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IEnumSTATPROPSETSTG_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IEnumSTATPROPSETSTG_Release(p) (p)->lpVtbl->Release(p) |
| /*** IEnumSTATPROPSETSTG methods ***/ |
| #define IEnumSTATPROPSETSTG_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) |
| #define IEnumSTATPROPSETSTG_Skip(p,a) (p)->lpVtbl->Skip(p,a) |
| #define IEnumSTATPROPSETSTG_Reset(p) (p)->lpVtbl->Reset(p) |
| #define IEnumSTATPROPSETSTG_Clone(p,a) (p)->lpVtbl->Clone(p,a) |
| |
| #endif |
| |
| #define IEnumSTATPROPSETSTG_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; \ |
| /*** IEnumSTATPROPSETSTG methods ***/ \ |
| STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, STATPROPSETSTG* rgelt, ULONG* pceltFetched) PURE; \ |
| STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ |
| STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSTATPROPSETSTG** ppenum) PURE; |
| |
| HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt, |
| STATPROPSETSTG* rgelt, |
| ULONG* pceltFetched); |
| void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt, |
| STATPROPSETSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt, |
| STATPROPSETSTG* rgelt, |
| ULONG* pceltFetched); |
| HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy( |
| IEnumSTATPROPSETSTG* This, |
| ULONG celt); |
| void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy( |
| IEnumSTATPROPSETSTG* This); |
| void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy( |
| IEnumSTATPROPSETSTG* This, |
| IEnumSTATPROPSETSTG** ppenum); |
| void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IClientSecurity IClientSecurity; |
| typedef struct tagSOLE_AUTHENTICATION_SERVICE { |
| DWORD dwAuthnSvc; |
| DWORD dwAuthzSvc; |
| OLECHAR *pPrincipalName; |
| HRESULT hr; |
| } SOLE_AUTHENTICATION_SERVICE; |
| |
| typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; |
| |
| typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { |
| EOAC_NONE = 0x0, |
| EOAC_MUTUAL_AUTH = 0x1, |
| EOAC_CLOAKING = 0x10, |
| EOAC_SECURE_REFS = 0x2, |
| EOAC_ACCESS_CONTROL = 0x4, |
| EOAC_APPID = 0x8 |
| } EOLE_AUTHENTICATION_CAPABILITIES; |
| |
| /***************************************************************************** |
| * IClientSecurity interface |
| */ |
| DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IClientSecurity: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryBlanket( |
| IUnknown* pProxy, |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pAuthInfo, |
| DWORD* pCapabilites) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetBlanket( |
| IUnknown* pProxy, |
| DWORD AuthnSvc, |
| DWORD AuthzSvc, |
| OLECHAR* pServerPrincName, |
| DWORD AuthnLevel, |
| DWORD ImpLevel, |
| void* pAuthInfo, |
| DWORD Capabilities) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE CopyProxy( |
| IUnknown* pProxy, |
| IUnknown** ppCopy) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IClientSecurityVtbl IClientSecurityVtbl; |
| struct IClientSecurity { |
| const IClientSecurityVtbl* lpVtbl; |
| }; |
| struct IClientSecurityVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IClientSecurity* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IClientSecurity* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IClientSecurity* This); |
| |
| /*** IClientSecurity methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryBlanket)( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pAuthInfo, |
| DWORD* pCapabilites); |
| |
| HRESULT (STDMETHODCALLTYPE *SetBlanket)( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| DWORD AuthnSvc, |
| DWORD AuthzSvc, |
| OLECHAR* pServerPrincName, |
| DWORD AuthnLevel, |
| DWORD ImpLevel, |
| void* pAuthInfo, |
| DWORD Capabilities); |
| |
| HRESULT (STDMETHODCALLTYPE *CopyProxy)( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| IUnknown** ppCopy); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IClientSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IClientSecurity_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IClientSecurity_Release(p) (p)->lpVtbl->Release(p) |
| /*** IClientSecurity methods ***/ |
| #define IClientSecurity_QueryBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g,h) |
| #define IClientSecurity_SetBlanket(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->SetBlanket(p,a,b,c,d,e,f,g,h) |
| #define IClientSecurity_CopyProxy(p,a,b) (p)->lpVtbl->CopyProxy(p,a,b) |
| |
| #endif |
| |
| #define IClientSecurity_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; \ |
| /*** IClientSecurity methods ***/ \ |
| STDMETHOD_(HRESULT,QueryBlanket)(THIS_ IUnknown* pProxy, DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pAuthInfo, DWORD* pCapabilites) PURE; \ |
| STDMETHOD_(HRESULT,SetBlanket)(THIS_ IUnknown* pProxy, DWORD AuthnSvc, DWORD AuthzSvc, OLECHAR* pServerPrincName, DWORD AuthnLevel, DWORD ImpLevel, void* pAuthInfo, DWORD Capabilities) PURE; \ |
| STDMETHOD_(HRESULT,CopyProxy)(THIS_ IUnknown* pProxy, IUnknown** ppCopy) PURE; |
| |
| HRESULT CALLBACK IClientSecurity_QueryBlanket_Proxy( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pAuthInfo, |
| DWORD* pCapabilites); |
| void __RPC_STUB IClientSecurity_QueryBlanket_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IClientSecurity_SetBlanket_Proxy( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| DWORD AuthnSvc, |
| DWORD AuthzSvc, |
| OLECHAR* pServerPrincName, |
| DWORD AuthnLevel, |
| DWORD ImpLevel, |
| void* pAuthInfo, |
| DWORD Capabilities); |
| void __RPC_STUB IClientSecurity_SetBlanket_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IClientSecurity_CopyProxy_Proxy( |
| IClientSecurity* This, |
| IUnknown* pProxy, |
| IUnknown** ppCopy); |
| void __RPC_STUB IClientSecurity_CopyProxy_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IServerSecurity IServerSecurity; |
| /***************************************************************************** |
| * IServerSecurity interface |
| */ |
| DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IServerSecurity: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE QueryBlanket( |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pPrivs, |
| DWORD* pCapabilities) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ImpersonateClient( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE RevertToSelf( |
| ) = 0; |
| |
| virtual BOOL STDMETHODCALLTYPE IsImpersonating( |
| ) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IServerSecurityVtbl IServerSecurityVtbl; |
| struct IServerSecurity { |
| const IServerSecurityVtbl* lpVtbl; |
| }; |
| struct IServerSecurityVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IServerSecurity* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IServerSecurity* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IServerSecurity* This); |
| |
| /*** IServerSecurity methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryBlanket)( |
| IServerSecurity* This, |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pPrivs, |
| DWORD* pCapabilities); |
| |
| HRESULT (STDMETHODCALLTYPE *ImpersonateClient)( |
| IServerSecurity* This); |
| |
| HRESULT (STDMETHODCALLTYPE *RevertToSelf)( |
| IServerSecurity* This); |
| |
| BOOL (STDMETHODCALLTYPE *IsImpersonating)( |
| IServerSecurity* This); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IServerSecurity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IServerSecurity_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IServerSecurity_Release(p) (p)->lpVtbl->Release(p) |
| /*** IServerSecurity methods ***/ |
| #define IServerSecurity_QueryBlanket(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryBlanket(p,a,b,c,d,e,f,g) |
| #define IServerSecurity_ImpersonateClient(p) (p)->lpVtbl->ImpersonateClient(p) |
| #define IServerSecurity_RevertToSelf(p) (p)->lpVtbl->RevertToSelf(p) |
| #define IServerSecurity_IsImpersonating(p) (p)->lpVtbl->IsImpersonating(p) |
| |
| #endif |
| |
| #define IServerSecurity_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; \ |
| /*** IServerSecurity methods ***/ \ |
| STDMETHOD_(HRESULT,QueryBlanket)(THIS_ DWORD* pAuthnSvc, DWORD* pAuthzSvc, OLECHAR** pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, void** pPrivs, DWORD* pCapabilities) PURE; \ |
| STDMETHOD_(HRESULT,ImpersonateClient)(THIS) PURE; \ |
| STDMETHOD_(HRESULT,RevertToSelf)(THIS) PURE; \ |
| STDMETHOD_(BOOL,IsImpersonating)(THIS) PURE; |
| |
| HRESULT CALLBACK IServerSecurity_QueryBlanket_Proxy( |
| IServerSecurity* This, |
| DWORD* pAuthnSvc, |
| DWORD* pAuthzSvc, |
| OLECHAR** pServerPrincName, |
| DWORD* pAuthnLevel, |
| DWORD* pImpLevel, |
| void** pPrivs, |
| DWORD* pCapabilities); |
| void __RPC_STUB IServerSecurity_QueryBlanket_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IServerSecurity_ImpersonateClient_Proxy( |
| IServerSecurity* This); |
| void __RPC_STUB IServerSecurity_ImpersonateClient_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IServerSecurity_RevertToSelf_Proxy( |
| IServerSecurity* This); |
| void __RPC_STUB IServerSecurity_RevertToSelf_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| BOOL CALLBACK IServerSecurity_IsImpersonating_Proxy( |
| IServerSecurity* This); |
| void __RPC_STUB IServerSecurity_IsImpersonating_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef struct IAsyncSetup IAsyncSetup; |
| /***************************************************************************** |
| * IAsyncSetup interface |
| */ |
| DEFINE_GUID(IID_IAsyncSetup, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAsyncSetup: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE GetAsyncManager( |
| REFIID riid, |
| IUnknown* pOuter, |
| DWORD dwFlags, |
| IUnknown** ppInner, |
| IAsyncManager** ppAsyncMgr) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IAsyncSetupVtbl IAsyncSetupVtbl; |
| struct IAsyncSetup { |
| const IAsyncSetupVtbl* lpVtbl; |
| }; |
| struct IAsyncSetupVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAsyncSetup* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAsyncSetup* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAsyncSetup* This); |
| |
| /*** IAsyncSetup methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetAsyncManager)( |
| IAsyncSetup* This, |
| REFIID riid, |
| IUnknown* pOuter, |
| DWORD dwFlags, |
| IUnknown** ppInner, |
| IAsyncManager** ppAsyncMgr); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAsyncSetup_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAsyncSetup_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAsyncSetup_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAsyncSetup methods ***/ |
| #define IAsyncSetup_GetAsyncManager(p,a,b,c,d,e) (p)->lpVtbl->GetAsyncManager(p,a,b,c,d,e) |
| |
| #endif |
| |
| #define IAsyncSetup_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; \ |
| /*** IAsyncSetup methods ***/ \ |
| STDMETHOD_(HRESULT,GetAsyncManager)(THIS_ REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) PURE; |
| |
| HRESULT CALLBACK IAsyncSetup_GetAsyncManager_Proxy( |
| IAsyncSetup* This, |
| REFIID riid, |
| IUnknown* pOuter, |
| DWORD dwFlags, |
| IUnknown** ppInner, |
| IAsyncManager** ppAsyncMgr); |
| void __RPC_STUB IAsyncSetup_GetAsyncManager_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| typedef enum tagDCOM_CALL_STATE { |
| DCOM_NONE = 0, |
| DCOM_CALL_COMPLETE = 1, |
| DCOM_CALL_CANCELED = 2 |
| } DCOM_CALL_STATE; |
| |
| /***************************************************************************** |
| * IAsyncManager interface |
| */ |
| DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| struct IAsyncManager: IUnknown { |
| |
| virtual HRESULT STDMETHODCALLTYPE CompleteCall( |
| HRESULT Result) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetCallContext( |
| REFIID riid, |
| void** pInterface) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetState( |
| ULONG* pulStateFlags) = 0; |
| |
| } ICOM_COM_INTERFACE_ATTRIBUTE; |
| #else |
| typedef struct IAsyncManagerVtbl IAsyncManagerVtbl; |
| struct IAsyncManager { |
| const IAsyncManagerVtbl* lpVtbl; |
| }; |
| struct IAsyncManagerVtbl { |
| ICOM_MSVTABLE_COMPAT_FIELDS |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IAsyncManager* This, |
| REFIID riid, |
| void** ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IAsyncManager* This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IAsyncManager* This); |
| |
| /*** IAsyncManager methods ***/ |
| HRESULT (STDMETHODCALLTYPE *CompleteCall)( |
| IAsyncManager* This, |
| HRESULT Result); |
| |
| HRESULT (STDMETHODCALLTYPE *GetCallContext)( |
| IAsyncManager* This, |
| REFIID riid, |
| void** pInterface); |
| |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IAsyncManager* This, |
| ULONG* pulStateFlags); |
| |
| }; |
| |
| /*** IUnknown methods ***/ |
| #define IAsyncManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) |
| #define IAsyncManager_AddRef(p) (p)->lpVtbl->AddRef(p) |
| #define IAsyncManager_Release(p) (p)->lpVtbl->Release(p) |
| /*** IAsyncManager methods ***/ |
| #define IAsyncManager_CompleteCall(p,a) (p)->lpVtbl->CompleteCall(p,a) |
| #define IAsyncManager_GetCallContext(p,a,b) (p)->lpVtbl->GetCallContext(p,a,b) |
| #define IAsyncManager_GetState(p,a) (p)->lpVtbl->GetState(p,a) |
| |
| #endif |
| |
| #define IAsyncManager_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; \ |
| /*** IAsyncManager methods ***/ \ |
| STDMETHOD_(HRESULT,CompleteCall)(THIS_ HRESULT Result) PURE; \ |
| STDMETHOD_(HRESULT,GetCallContext)(THIS_ REFIID riid, void** pInterface) PURE; \ |
| STDMETHOD_(HRESULT,GetState)(THIS_ ULONG* pulStateFlags) PURE; |
| |
| HRESULT CALLBACK IAsyncManager_CompleteCall_Proxy( |
| IAsyncManager* This, |
| HRESULT Result); |
| void __RPC_STUB IAsyncManager_CompleteCall_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncManager_GetCallContext_Proxy( |
| IAsyncManager* This, |
| REFIID riid, |
| void** pInterface); |
| void __RPC_STUB IAsyncManager_GetCallContext_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| HRESULT CALLBACK IAsyncManager_GetState_Proxy( |
| IAsyncManager* This, |
| ULONG* pulStateFlags); |
| void __RPC_STUB IAsyncManager_GetState_Stub( |
| struct IRpcStubBuffer* This, |
| struct IRpcChannelBuffer* pRpcChannelBuffer, |
| PRPC_MESSAGE pRpcMessage, |
| DWORD* pdwStubPhase); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* __WIDL_OBJIDL_H */ |