/*** 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> #ifndef __IStream_FWD_DEFINED__ #define __IStream_FWD_DEFINED__ typedef struct IStream IStream; #endif #ifndef __IEnumString_FWD_DEFINED__ #define __IEnumString_FWD_DEFINED__ typedef struct IEnumString IEnumString; #endif #ifndef __IRunningObjectTable_FWD_DEFINED__ #define __IRunningObjectTable_FWD_DEFINED__ typedef struct IRunningObjectTable IRunningObjectTable; #endif #ifndef __IMoniker_FWD_DEFINED__ #define __IMoniker_FWD_DEFINED__ typedef struct IMoniker IMoniker; #endif #ifndef __IAdviseSink_FWD_DEFINED__ #define __IAdviseSink_FWD_DEFINED__ typedef struct IAdviseSink IAdviseSink; #endif #ifndef __IAsyncManager_FWD_DEFINED__ #define __IAsyncManager_FWD_DEFINED__ typedef struct IAsyncManager IAsyncManager; #endif #ifndef __IMarshal_FWD_DEFINED__ #define __IMarshal_FWD_DEFINED__ typedef struct IMarshal IMarshal; #endif typedef IMarshal *LPMARSHAL; /***************************************************************************** * IMarshal interface */ #ifndef __IMarshal_INTERFACE_DEFINED__ #define __IMarshal_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMarshal : public 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; }; #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); #endif /* __IMarshal_INTERFACE_DEFINED__ */ #ifndef __IStdMarshalInfo_FWD_DEFINED__ #define __IStdMarshalInfo_FWD_DEFINED__ typedef struct IStdMarshalInfo IStdMarshalInfo; #endif typedef IStdMarshalInfo *LPSTDMARSHALINFO; /***************************************************************************** * IStdMarshalInfo interface */ #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__ #define __IStdMarshalInfo_INTERFACE_DEFINED__ DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IStdMarshalInfo : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( DWORD dwDestContext, void* pvDestContext, CLSID* pClsid) = 0; }; #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); #endif /* __IStdMarshalInfo_INTERFACE_DEFINED__ */ #ifndef __IExternalConnection_FWD_DEFINED__ #define __IExternalConnection_FWD_DEFINED__ typedef struct IExternalConnection IExternalConnection; #endif typedef IExternalConnection *LPEXTERNALCONNECTION; typedef enum tagEXTCONN { EXTCONN_STRONG = 0x1, EXTCONN_WEAK = 0x2, EXTCONN_CALLABLE = 0x4 } EXTCONN; /***************************************************************************** * IExternalConnection interface */ #ifndef __IExternalConnection_INTERFACE_DEFINED__ #define __IExternalConnection_INTERFACE_DEFINED__ DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IExternalConnection : public IUnknown { virtual DWORD STDMETHODCALLTYPE AddConnection( DWORD extconn, DWORD reserved) = 0; virtual DWORD STDMETHODCALLTYPE ReleaseConnection( DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) = 0; }; #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); #endif /* __IExternalConnection_INTERFACE_DEFINED__ */ #ifndef __IMultiQI_FWD_DEFINED__ #define __IMultiQI_FWD_DEFINED__ typedef struct IMultiQI IMultiQI; #endif typedef IMultiQI *LPMULTIQI; typedef struct tagMULTI_QI { const IID *pIID; IUnknown *pItf; HRESULT hr; } MULTI_QI; /***************************************************************************** * IMultiQI interface */ #ifndef __IMultiQI_INTERFACE_DEFINED__ #define __IMultiQI_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMultiQI : public IUnknown { virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( ULONG cMQIs, MULTI_QI* pMQIs) = 0; }; #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); #endif /* __IMultiQI_INTERFACE_DEFINED__ */ #ifndef __IMalloc_FWD_DEFINED__ #define __IMalloc_FWD_DEFINED__ typedef struct IMalloc IMalloc; #endif typedef IMalloc *LPMALLOC; /***************************************************************************** * IMalloc interface */ #ifndef __IMalloc_INTERFACE_DEFINED__ #define __IMalloc_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMalloc : public 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; }; #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); #endif /* __IMalloc_INTERFACE_DEFINED__ */ #ifndef __IMallocSpy_FWD_DEFINED__ #define __IMallocSpy_FWD_DEFINED__ typedef struct IMallocSpy IMallocSpy; #endif typedef IMallocSpy *LPMALLOCSPY; /***************************************************************************** * IMallocSpy interface */ #ifndef __IMallocSpy_INTERFACE_DEFINED__ #define __IMallocSpy_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMallocSpy : public 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; }; #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); #endif /* __IMallocSpy_INTERFACE_DEFINED__ */ #ifndef __IEnumUnknown_FWD_DEFINED__ #define __IEnumUnknown_FWD_DEFINED__ typedef struct IEnumUnknown IEnumUnknown; #endif typedef IEnumUnknown *LPENUMUNKNOWN; /***************************************************************************** * IEnumUnknown interface */ #ifndef __IEnumUnknown_INTERFACE_DEFINED__ #define __IEnumUnknown_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumUnknown : public 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; }; #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); #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */ #ifndef __ISurrogate_FWD_DEFINED__ #define __ISurrogate_FWD_DEFINED__ typedef struct ISurrogate ISurrogate; #endif typedef ISurrogate *LPSURROGATE; /***************************************************************************** * ISurrogate interface */ #ifndef __ISurrogate_INTERFACE_DEFINED__ #define __ISurrogate_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ISurrogate : public IUnknown { virtual HRESULT STDMETHODCALLTYPE LoadDllServer( REFCLSID Clsid) = 0; virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( ) = 0; }; #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); #endif /* __ISurrogate_INTERFACE_DEFINED__ */ #ifndef __IGlobalInterfaceTable_FWD_DEFINED__ #define __IGlobalInterfaceTable_FWD_DEFINED__ typedef struct IGlobalInterfaceTable IGlobalInterfaceTable; #endif typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; /***************************************************************************** * IGlobalInterfaceTable interface */ #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__ #define __IGlobalInterfaceTable_INTERFACE_DEFINED__ DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IGlobalInterfaceTable : public 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; }; #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); #endif /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */ #ifndef __IBindCtx_FWD_DEFINED__ #define __IBindCtx_FWD_DEFINED__ typedef struct IBindCtx IBindCtx; #endif 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 */ #ifndef __IBindCtx_INTERFACE_DEFINED__ #define __IBindCtx_INTERFACE_DEFINED__ DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IBindCtx : public 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; }; #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); #endif /* __IBindCtx_INTERFACE_DEFINED__ */ #ifndef __IEnumMoniker_FWD_DEFINED__ #define __IEnumMoniker_FWD_DEFINED__ typedef struct IEnumMoniker IEnumMoniker; #endif typedef IEnumMoniker *LPENUMMONIKER; /***************************************************************************** * IEnumMoniker interface */ #ifndef __IEnumMoniker_INTERFACE_DEFINED__ #define __IEnumMoniker_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumMoniker : public 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; }; #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); #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */ #ifndef __IRunnableObject_FWD_DEFINED__ #define __IRunnableObject_FWD_DEFINED__ typedef struct IRunnableObject IRunnableObject; #endif typedef IRunnableObject *LPRUNNABLEOBJECT; /***************************************************************************** * IRunnableObject interface */ #ifndef __IRunnableObject_INTERFACE_DEFINED__ #define __IRunnableObject_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRunnableObject : public 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; }; #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); #endif /* __IRunnableObject_INTERFACE_DEFINED__ */ #ifdef __WINESRC__ #undef GetObject #endif typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE; /***************************************************************************** * IRunningObjectTable interface */ #ifndef __IRunningObjectTable_INTERFACE_DEFINED__ #define __IRunningObjectTable_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRunningObjectTable : public 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; }; #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); #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */ #ifndef __IPersist_FWD_DEFINED__ #define __IPersist_FWD_DEFINED__ typedef struct IPersist IPersist; #endif typedef IPersist *LPPERSIST; /***************************************************************************** * IPersist interface */ #ifndef __IPersist_INTERFACE_DEFINED__ #define __IPersist_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersist : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetClassID( CLSID* pClassID) = 0; }; #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); #endif /* __IPersist_INTERFACE_DEFINED__ */ #ifndef __IPersistStream_FWD_DEFINED__ #define __IPersistStream_FWD_DEFINED__ typedef struct IPersistStream IPersistStream; #endif typedef IPersistStream *LPPERSISTSTREAM; /***************************************************************************** * IPersistStream interface */ #ifndef __IPersistStream_INTERFACE_DEFINED__ #define __IPersistStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistStream : public 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; }; #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); #endif /* __IPersistStream_INTERFACE_DEFINED__ */ 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 */ #ifndef __IMoniker_INTERFACE_DEFINED__ #define __IMoniker_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMoniker : public 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; }; #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); #endif /* __IMoniker_INTERFACE_DEFINED__ */ #ifndef __IROTData_FWD_DEFINED__ #define __IROTData_FWD_DEFINED__ typedef struct IROTData IROTData; #endif /***************************************************************************** * IROTData interface */ #ifndef __IROTData_INTERFACE_DEFINED__ #define __IROTData_INTERFACE_DEFINED__ DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f); #if defined(__cplusplus) && !defined(CINTERFACE) struct IROTData : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetComparisonData( byte* pbData, ULONG cbMax, ULONG* pcbData) = 0; }; #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); #endif /* __IROTData_INTERFACE_DEFINED__ */ typedef IEnumString *LPENUMSTRING; /***************************************************************************** * IEnumString interface */ #ifndef __IEnumString_INTERFACE_DEFINED__ #define __IEnumString_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumString : public 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; }; #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); #endif /* __IEnumString_INTERFACE_DEFINED__ */ #ifndef __IClassActivator_FWD_DEFINED__ #define __IClassActivator_FWD_DEFINED__ typedef struct IClassActivator IClassActivator; #endif /***************************************************************************** * IClassActivator interface */ #ifndef __IClassActivator_INTERFACE_DEFINED__ #define __IClassActivator_INTERFACE_DEFINED__ DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IClassActivator : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetClassObject( REFCLSID rclsid, DWORD dwClassContext, LCID locale, REFIID riid, void** ppv) = 0; }; #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); #endif /* __IClassActivator_INTERFACE_DEFINED__ */ #ifndef __ISequentialStream_FWD_DEFINED__ #define __ISequentialStream_FWD_DEFINED__ typedef struct ISequentialStream ISequentialStream; #endif /***************************************************************************** * ISequentialStream interface */ #ifndef __ISequentialStream_INTERFACE_DEFINED__ #define __ISequentialStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d); #if defined(__cplusplus) && !defined(CINTERFACE) struct ISequentialStream : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Read( void* pv, ULONG cb, ULONG* pcbRead) = 0; virtual HRESULT STDMETHODCALLTYPE Write( const void* pv, ULONG cb, ULONG* pcbWritten) = 0; }; #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); #endif /* __ISequentialStream_INTERFACE_DEFINED__ */ 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 */ #ifndef __IStream_INTERFACE_DEFINED__ #define __IStream_INTERFACE_DEFINED__ DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IStream : public 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; }; #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); #endif /* __IStream_INTERFACE_DEFINED__ */ #ifndef __IEnumSTATSTG_FWD_DEFINED__ #define __IEnumSTATSTG_FWD_DEFINED__ typedef struct IEnumSTATSTG IEnumSTATSTG; #endif typedef IEnumSTATSTG *LPENUMSTATSTG; /***************************************************************************** * IEnumSTATSTG interface */ #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__ #define __IEnumSTATSTG_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumSTATSTG : public 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; }; #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); #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */ #ifndef __IStorage_FWD_DEFINED__ #define __IStorage_FWD_DEFINED__ typedef struct IStorage IStorage; #endif 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 */ #ifndef __IStorage_INTERFACE_DEFINED__ #define __IStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IStorage : public 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; }; #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); #endif /* __IStorage_INTERFACE_DEFINED__ */ #ifndef __IPersistFile_FWD_DEFINED__ #define __IPersistFile_FWD_DEFINED__ typedef struct IPersistFile IPersistFile; #endif typedef IPersistFile *LPPERSISTFILE; /***************************************************************************** * IPersistFile interface */ #ifndef __IPersistFile_INTERFACE_DEFINED__ #define __IPersistFile_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistFile : public 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; }; #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); #endif /* __IPersistFile_INTERFACE_DEFINED__ */ #ifndef __IPersistStorage_FWD_DEFINED__ #define __IPersistStorage_FWD_DEFINED__ typedef struct IPersistStorage IPersistStorage; #endif typedef IPersistStorage *LPPERSISTSTORAGE; /***************************************************************************** * IPersistStorage interface */ #ifndef __IPersistStorage_INTERFACE_DEFINED__ #define __IPersistStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPersistStorage : public 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; }; #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); #endif /* __IPersistStorage_INTERFACE_DEFINED__ */ #ifndef __IRootStorage_FWD_DEFINED__ #define __IRootStorage_FWD_DEFINED__ typedef struct IRootStorage IRootStorage; #endif typedef IRootStorage *LPROOTSTORAGE; /***************************************************************************** * IRootStorage interface */ #ifndef __IRootStorage_INTERFACE_DEFINED__ #define __IRootStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRootStorage : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SwitchToFile( LPOLESTR pszFile) = 0; }; #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); #endif /* __IRootStorage_INTERFACE_DEFINED__ */ #ifndef __ILockBytes_FWD_DEFINED__ #define __ILockBytes_FWD_DEFINED__ typedef struct ILockBytes ILockBytes; #endif typedef ILockBytes *LPLOCKBYTES; /***************************************************************************** * ILockBytes interface */ #ifndef __ILockBytes_INTERFACE_DEFINED__ #define __ILockBytes_INTERFACE_DEFINED__ DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct ILockBytes : public 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; }; #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); #endif /* __ILockBytes_INTERFACE_DEFINED__ */ #ifndef __IFillLockBytes_FWD_DEFINED__ #define __IFillLockBytes_FWD_DEFINED__ typedef struct IFillLockBytes IFillLockBytes; #endif /***************************************************************************** * IFillLockBytes interface */ #ifndef __IFillLockBytes_INTERFACE_DEFINED__ #define __IFillLockBytes_INTERFACE_DEFINED__ DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5); #if defined(__cplusplus) && !defined(CINTERFACE) struct IFillLockBytes : public 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; }; #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); #endif /* __IFillLockBytes_INTERFACE_DEFINED__ */ #ifndef __IProgressNotify_FWD_DEFINED__ #define __IProgressNotify_FWD_DEFINED__ typedef struct IProgressNotify IProgressNotify; #endif /***************************************************************************** * IProgressNotify interface */ #ifndef __IProgressNotify_INTERFACE_DEFINED__ #define __IProgressNotify_INTERFACE_DEFINED__ DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) struct IProgressNotify : public IUnknown { virtual HRESULT STDMETHODCALLTYPE OnProgress( DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) = 0; }; #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); #endif /* __IProgressNotify_INTERFACE_DEFINED__ */ #ifndef __ILayoutStorage_FWD_DEFINED__ #define __ILayoutStorage_FWD_DEFINED__ typedef struct ILayoutStorage ILayoutStorage; #endif typedef struct tagStorageLayout { DWORD LayoutType; OLECHAR *pwcsElementName; LARGE_INTEGER cOffset; LARGE_INTEGER cBytes; } StorageLayout; /***************************************************************************** * ILayoutStorage interface */ #ifndef __ILayoutStorage_INTERFACE_DEFINED__ #define __ILayoutStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4); #if defined(__cplusplus) && !defined(CINTERFACE) struct ILayoutStorage : public 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; }; #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); #endif /* __ILayoutStorage_INTERFACE_DEFINED__ */ #ifndef __IEnumFORMATETC_FWD_DEFINED__ #define __IEnumFORMATETC_FWD_DEFINED__ typedef struct IEnumFORMATETC IEnumFORMATETC; #endif 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 */ #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__ #define __IEnumFORMATETC_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumFORMATETC : public 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; }; #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); #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */ #ifndef __IEnumSTATDATA_FWD_DEFINED__ #define __IEnumSTATDATA_FWD_DEFINED__ typedef struct IEnumSTATDATA IEnumSTATDATA; #endif 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 */ #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__ #define __IEnumSTATDATA_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumSTATDATA : public 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; }; #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); #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */ 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 { 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 */ #ifndef __IAdviseSink_INTERFACE_DEFINED__ #define __IAdviseSink_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IAdviseSink : public 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; }; #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); #endif /* __IAdviseSink_INTERFACE_DEFINED__ */ #ifndef __IAdviseSink2_FWD_DEFINED__ #define __IAdviseSink2_FWD_DEFINED__ typedef struct IAdviseSink2 IAdviseSink2; #endif typedef IAdviseSink2 *LPADVISESINK2; /***************************************************************************** * IAdviseSink2 interface */ #ifndef __IAdviseSink2_INTERFACE_DEFINED__ #define __IAdviseSink2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IAdviseSink2 : public IAdviseSink { virtual void STDMETHODCALLTYPE OnLinkSrcChange( IMoniker* pmk) = 0; }; #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); #endif /* __IAdviseSink2_INTERFACE_DEFINED__ */ #ifndef __IDataObject_FWD_DEFINED__ #define __IDataObject_FWD_DEFINED__ typedef struct IDataObject IDataObject; #endif typedef IDataObject *LPDATAOBJECT; typedef enum tagDATADIR { DATADIR_GET = 1, DATADIR_SET = 2 } DATADIR; /***************************************************************************** * IDataObject interface */ #ifndef __IDataObject_INTERFACE_DEFINED__ #define __IDataObject_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDataObject : public 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; }; #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); #endif /* __IDataObject_INTERFACE_DEFINED__ */ #ifndef __IDataAdviseHolder_FWD_DEFINED__ #define __IDataAdviseHolder_FWD_DEFINED__ typedef struct IDataAdviseHolder IDataAdviseHolder; #endif typedef IDataAdviseHolder *LPDATAADVISEHOLDER; /***************************************************************************** * IDataAdviseHolder interface */ #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__ #define __IDataAdviseHolder_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IDataAdviseHolder : public 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; }; #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); #endif /* __IDataAdviseHolder_INTERFACE_DEFINED__ */ #ifndef __IMessageFilter_FWD_DEFINED__ #define __IMessageFilter_FWD_DEFINED__ typedef struct IMessageFilter IMessageFilter; #endif 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 */ #ifndef __IMessageFilter_INTERFACE_DEFINED__ #define __IMessageFilter_INTERFACE_DEFINED__ DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IMessageFilter : public 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; }; #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); #endif /* __IMessageFilter_INTERFACE_DEFINED__ */ #ifndef __IRpcChannelBuffer_FWD_DEFINED__ #define __IRpcChannelBuffer_FWD_DEFINED__ typedef struct IRpcChannelBuffer IRpcChannelBuffer; #endif 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 */ #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__ #define __IRpcChannelBuffer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRpcChannelBuffer : public 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; }; #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); #endif /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */ #ifndef __IRpcChannelBuffer2_FWD_DEFINED__ #define __IRpcChannelBuffer2_FWD_DEFINED__ typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2; #endif typedef IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2; /***************************************************************************** * IRpcChannelBuffer2 interface */ #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__ #define __IRpcChannelBuffer2_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRpcChannelBuffer2 : public IRpcChannelBuffer { virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( DWORD* pdwVersion) = 0; }; #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); #endif /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */ #ifndef __IRpcChannelBuffer3_FWD_DEFINED__ #define __IRpcChannelBuffer3_FWD_DEFINED__ typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3; #endif typedef IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3; /***************************************************************************** * IRpcChannelBuffer3 interface */ #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__ #define __IRpcChannelBuffer3_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRpcChannelBuffer3 : public 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; }; #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); #endif /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */ #ifndef __IRpcProxyBuffer_FWD_DEFINED__ #define __IRpcProxyBuffer_FWD_DEFINED__ typedef struct IRpcProxyBuffer IRpcProxyBuffer; #endif typedef IRpcProxyBuffer *LPRPCPROXYBUFFER; /***************************************************************************** * IRpcProxyBuffer interface */ #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__ #define __IRpcProxyBuffer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRpcProxyBuffer : public IUnknown { virtual HRESULT STDMETHODCALLTYPE Connect( IRpcChannelBuffer* pRpcChannelBuffer) = 0; virtual void STDMETHODCALLTYPE Disconnect( ) = 0; }; #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); #endif /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */ #ifndef __IRpcStubBuffer_FWD_DEFINED__ #define __IRpcStubBuffer_FWD_DEFINED__ typedef struct IRpcStubBuffer IRpcStubBuffer; #endif typedef IRpcStubBuffer *LPRPCSTUBBUFFER; /***************************************************************************** * IRpcStubBuffer interface */ #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__ #define __IRpcStubBuffer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); #if defined(__cplusplus) && !defined(CINTERFACE) struct IRpcStubBuffer : public 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; }; #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); #endif /* __IRpcStubBuffer_INTERFACE_DEFINED__ */ #ifndef __IPSFactoryBuffer_FWD_DEFINED__ #define __IPSFactoryBuffer_FWD_DEFINED__ typedef struct IPSFactoryBuffer IPSFactoryBuffer; #endif typedef IPSFactoryBuffer *LPPSFACTORYBUFFER; /***************************************************************************** * IPSFactoryBuffer interface */ #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__ #define __IPSFactoryBuffer_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPSFactoryBuffer : public 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; }; #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); #endif /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */ #ifndef __IChannelHook_FWD_DEFINED__ #define __IChannelHook_FWD_DEFINED__ typedef struct IChannelHook IChannelHook; #endif typedef IChannelHook *LPCHANNELHOOK; typedef struct SChannelHookCallInfo { IID iid; DWORD cbSize; GUID uCausality; DWORD dwServerPid; DWORD iMethod; void *pObject; } SChannelHookCallInfo; /***************************************************************************** * IChannelHook interface */ #ifndef __IChannelHook_INTERFACE_DEFINED__ #define __IChannelHook_INTERFACE_DEFINED__ DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4); #if defined(__cplusplus) && !defined(CINTERFACE) struct IChannelHook : public 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; }; #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); #endif /* __IChannelHook_INTERFACE_DEFINED__ */ #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__ #define __IEnumSTATPROPSTG_FWD_DEFINED__ typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG; #endif #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__ #define __IEnumSTATPROPSETSTG_FWD_DEFINED__ typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG; #endif #ifndef __IPropertyStorage_FWD_DEFINED__ #define __IPropertyStorage_FWD_DEFINED__ typedef struct IPropertyStorage IPropertyStorage; #endif 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 { char cVal; 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 (0xffffffff) #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 */ #ifndef __IPropertyStorage_INTERFACE_DEFINED__ #define __IPropertyStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPropertyStorage : public 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; }; #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); #endif /* __IPropertyStorage_INTERFACE_DEFINED__ */ #ifndef __IPropertySetStorage_FWD_DEFINED__ #define __IPropertySetStorage_FWD_DEFINED__ typedef struct IPropertySetStorage IPropertySetStorage; #endif typedef IPropertySetStorage *LPPROPERTYSETSTORAGE; /***************************************************************************** * IPropertySetStorage interface */ #ifndef __IPropertySetStorage_INTERFACE_DEFINED__ #define __IPropertySetStorage_INTERFACE_DEFINED__ DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IPropertySetStorage : public 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; }; #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); #endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */ typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG; /***************************************************************************** * IEnumSTATPROPSTG interface */ #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__ #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumSTATPROPSTG : public 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; }; #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); #endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */ typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; /***************************************************************************** * IEnumSTATPROPSETSTG interface */ #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumSTATPROPSETSTG : public 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; }; #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); #endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */ #ifndef __IClientSecurity_FWD_DEFINED__ #define __IClientSecurity_FWD_DEFINED__ typedef struct IClientSecurity IClientSecurity; #endif 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 */ #ifndef __IClientSecurity_INTERFACE_DEFINED__ #define __IClientSecurity_INTERFACE_DEFINED__ DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IClientSecurity : public 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; }; #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); #endif /* __IClientSecurity_INTERFACE_DEFINED__ */ #ifndef __IServerSecurity_FWD_DEFINED__ #define __IServerSecurity_FWD_DEFINED__ typedef struct IServerSecurity IServerSecurity; #endif /***************************************************************************** * IServerSecurity interface */ #ifndef __IServerSecurity_INTERFACE_DEFINED__ #define __IServerSecurity_INTERFACE_DEFINED__ DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IServerSecurity : public 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; }; #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); #endif /* __IServerSecurity_INTERFACE_DEFINED__ */ #ifndef __IAsyncSetup_FWD_DEFINED__ #define __IAsyncSetup_FWD_DEFINED__ typedef struct IAsyncSetup IAsyncSetup; #endif /***************************************************************************** * IAsyncSetup interface */ #ifndef __IAsyncSetup_INTERFACE_DEFINED__ #define __IAsyncSetup_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAsyncSetup, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IAsyncSetup : public IUnknown { virtual HRESULT STDMETHODCALLTYPE GetAsyncManager( REFIID riid, IUnknown* pOuter, DWORD dwFlags, IUnknown** ppInner, IAsyncManager** ppAsyncMgr) = 0; }; #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); #endif /* __IAsyncSetup_INTERFACE_DEFINED__ */ typedef enum tagDCOM_CALL_STATE { DCOM_NONE = 0, DCOM_CALL_COMPLETE = 1, DCOM_CALL_CANCELED = 2 } DCOM_CALL_STATE; /***************************************************************************** * IAsyncManager interface */ #ifndef __IAsyncManager_INTERFACE_DEFINED__ #define __IAsyncManager_INTERFACE_DEFINED__ DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); #if defined(__cplusplus) && !defined(CINTERFACE) struct IAsyncManager : public IUnknown { virtual HRESULT STDMETHODCALLTYPE CompleteCall( HRESULT Result) = 0; virtual HRESULT STDMETHODCALLTYPE GetCallContext( REFIID riid, void** pInterface) = 0; virtual HRESULT STDMETHODCALLTYPE GetState( ULONG* pulStateFlags) = 0; }; #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); #endif /* __IAsyncManager_INTERFACE_DEFINED__ */ #ifdef __cplusplus } #endif #endif /* __WIDL_OBJIDL_H */