wine/include/objidl.h

8967 lines
267 KiB
C
Raw Normal View History

/*** Autogenerated by WIDL 0.1 from objidl.idl - Do not edit ***/
#include "rpc.h"
#include "rpcndr.h"
#ifndef __WIDL_OBJIDL_H
#define __WIDL_OBJIDL_H
#ifdef __cplusplus
extern "C" {
#endif
#include "unknwn.h"
typedef struct IStream IStream;
typedef struct IStream16 IStream16;
typedef struct IEnumString IEnumString;
typedef struct IRunningObjectTable IRunningObjectTable;
typedef struct IMoniker IMoniker;
typedef struct IAdviseSink IAdviseSink;
typedef struct IAsyncManager IAsyncManager;
typedef struct IMarshal IMarshal;
typedef IMarshal *LPMARSHAL;
/*****************************************************************************
* IMarshal interface
*/
DEFINE_GUID(IID_IMarshal, 0x00000003, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMarshal: IUnknown {
virtual HRESULT CALLBACK GetUnmarshalClass(
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
CLSID* pCid) = 0;
virtual HRESULT CALLBACK GetMarshalSizeMax(
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
DWORD* pSize) = 0;
virtual HRESULT CALLBACK MarshalInterface(
IStream* pStm,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags) = 0;
virtual HRESULT CALLBACK UnmarshalInterface(
IStream* pStm,
REFIID riid,
void** ppv) = 0;
virtual HRESULT CALLBACK ReleaseMarshalData(
IStream* pStm) = 0;
virtual HRESULT CALLBACK DisconnectObject(
DWORD dwReserved) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMarshalVtbl IMarshalVtbl;
struct IMarshal {
const IMarshalVtbl* lpVtbl;
};
struct IMarshalVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMarshal* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMarshal* This);
ULONG (CALLBACK *Release)(
IMarshal* This);
/*** IMarshal methods ***/
HRESULT (CALLBACK *GetUnmarshalClass)(
IMarshal* This,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
CLSID* pCid);
HRESULT (CALLBACK *GetMarshalSizeMax)(
IMarshal* This,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
DWORD* pSize);
HRESULT (CALLBACK *MarshalInterface)(
IMarshal* This,
IStream* pStm,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags);
HRESULT (CALLBACK *UnmarshalInterface)(
IMarshal* This,
IStream* pStm,
REFIID riid,
void** ppv);
HRESULT (CALLBACK *ReleaseMarshalData)(
IMarshal* This,
IStream* pStm);
HRESULT (CALLBACK *DisconnectObject)(
IMarshal* This,
DWORD dwReserved);
};
#define IMarshal_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD6 (HRESULT,GetUnmarshalClass,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags,CLSID*,pCid) \
ICOM_METHOD6 (HRESULT,GetMarshalSizeMax,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags,DWORD*,pSize) \
ICOM_METHOD6 (HRESULT,MarshalInterface,IStream*,pStm,REFIID,riid,void*,pv,DWORD,dwDestContext,void*,pvDestContext,DWORD,mshlflags) \
ICOM_METHOD3 (HRESULT,UnmarshalInterface,IStream*,pStm,REFIID,riid,void**,ppv) \
ICOM_METHOD1 (HRESULT,ReleaseMarshalData,IStream*,pStm) \
ICOM_METHOD1 (HRESULT,DisconnectObject,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
HRESULT CALLBACK IMarshal_GetUnmarshalClass_Proxy(
IMarshal* This,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
CLSID* pCid);
void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMarshal_GetMarshalSizeMax_Proxy(
IMarshal* This,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags,
DWORD* pSize);
void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMarshal_MarshalInterface_Proxy(
IMarshal* This,
IStream* pStm,
REFIID riid,
void* pv,
DWORD dwDestContext,
void* pvDestContext,
DWORD mshlflags);
void __RPC_STUB IMarshal_MarshalInterface_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMarshal_UnmarshalInterface_Proxy(
IMarshal* This,
IStream* pStm,
REFIID riid,
void** ppv);
void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMarshal_ReleaseMarshalData_Proxy(
IMarshal* This,
IStream* pStm);
void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMarshal_DisconnectObject_Proxy(
IMarshal* This,
DWORD dwReserved);
void __RPC_STUB IMarshal_DisconnectObject_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IStdMarshalInfo IStdMarshalInfo;
typedef IStdMarshalInfo *LPSTDMARSHALINFO;
/*****************************************************************************
* IStdMarshalInfo interface
*/
DEFINE_GUID(IID_IStdMarshalInfo, 0x00000018, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IStdMarshalInfo: IUnknown {
virtual HRESULT CALLBACK GetClassForHandler(
DWORD dwDestContext,
void* pvDestContext,
CLSID* pClsid) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IStdMarshalInfoVtbl IStdMarshalInfoVtbl;
struct IStdMarshalInfo {
const IStdMarshalInfoVtbl* lpVtbl;
};
struct IStdMarshalInfoVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IStdMarshalInfo* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IStdMarshalInfo* This);
ULONG (CALLBACK *Release)(
IStdMarshalInfo* This);
/*** IStdMarshalInfo methods ***/
HRESULT (CALLBACK *GetClassForHandler)(
IStdMarshalInfo* This,
DWORD dwDestContext,
void* pvDestContext,
CLSID* pClsid);
};
#define IStdMarshalInfo_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,GetClassForHandler,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
HRESULT CALLBACK IStdMarshalInfo_GetClassForHandler_Proxy(
IStdMarshalInfo* This,
DWORD dwDestContext,
void* pvDestContext,
CLSID* pClsid);
void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IExternalConnection IExternalConnection;
typedef IExternalConnection *LPEXTERNALCONNECTION;
typedef enum tagEXTCONN {
EXTCONN_STRONG = 0x1,
EXTCONN_WEAK = 0x2,
EXTCONN_CALLABLE = 0x4
} EXTCONN;
/*****************************************************************************
* IExternalConnection interface
*/
DEFINE_GUID(IID_IExternalConnection, 0x00000019, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IExternalConnection: IUnknown {
virtual DWORD CALLBACK AddConnection(
DWORD extconn,
DWORD reserved) = 0;
virtual DWORD CALLBACK ReleaseConnection(
DWORD extconn,
DWORD reserved,
BOOL fLastReleaseCloses) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IExternalConnectionVtbl IExternalConnectionVtbl;
struct IExternalConnection {
const IExternalConnectionVtbl* lpVtbl;
};
struct IExternalConnectionVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IExternalConnection* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IExternalConnection* This);
ULONG (CALLBACK *Release)(
IExternalConnection* This);
/*** IExternalConnection methods ***/
DWORD (CALLBACK *AddConnection)(
IExternalConnection* This,
DWORD extconn,
DWORD reserved);
DWORD (CALLBACK *ReleaseConnection)(
IExternalConnection* This,
DWORD extconn,
DWORD reserved,
BOOL fLastReleaseCloses);
};
#define IExternalConnection_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD2 (DWORD,AddConnection,DWORD,extconn,DWORD,reserved) \
ICOM_METHOD3 (DWORD,ReleaseConnection,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
DWORD CALLBACK IExternalConnection_AddConnection_Proxy(
IExternalConnection* This,
DWORD extconn,
DWORD reserved);
void __RPC_STUB IExternalConnection_AddConnection_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
DWORD CALLBACK IExternalConnection_ReleaseConnection_Proxy(
IExternalConnection* This,
DWORD extconn,
DWORD reserved,
BOOL fLastReleaseCloses);
void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IMultiQI IMultiQI;
typedef IMultiQI *LPMULTIQI;
typedef struct tagMULTI_QI {
const IID *pIID;
IUnknown *pItf;
HRESULT hr;
} MULTI_QI;
/*****************************************************************************
* IMultiQI interface
*/
DEFINE_GUID(IID_IMultiQI, 0x00000020, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMultiQI: IUnknown {
virtual HRESULT CALLBACK QueryMultipleInterfaces(
ULONG cMQIs,
MULTI_QI* pMQIs) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMultiQIVtbl IMultiQIVtbl;
struct IMultiQI {
const IMultiQIVtbl* lpVtbl;
};
struct IMultiQIVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMultiQI* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMultiQI* This);
ULONG (CALLBACK *Release)(
IMultiQI* This);
/*** IMultiQI methods ***/
HRESULT (CALLBACK *QueryMultipleInterfaces)(
IMultiQI* This,
ULONG cMQIs,
MULTI_QI* pMQIs);
};
#define IMultiQI_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD2 (HRESULT,QueryMultipleInterfaces,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
HRESULT CALLBACK IMultiQI_QueryMultipleInterfaces_Proxy(
IMultiQI* This,
ULONG cMQIs,
MULTI_QI* pMQIs);
void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IMalloc IMalloc;
typedef IMalloc *LPMALLOC;
/*****************************************************************************
* IMalloc interface
*/
DEFINE_GUID(IID_IMalloc, 0x00000002, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMalloc: IUnknown {
virtual LPVOID CALLBACK Alloc(
ULONG cb) = 0;
virtual LPVOID CALLBACK Realloc(
LPVOID pv,
ULONG cb) = 0;
virtual void CALLBACK Free(
LPVOID pv) = 0;
virtual ULONG CALLBACK GetSize(
LPVOID pv) = 0;
virtual int CALLBACK DidAlloc(
LPVOID pv) = 0;
virtual void CALLBACK HeapMinimize(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMallocVtbl IMallocVtbl;
struct IMalloc {
const IMallocVtbl* lpVtbl;
};
struct IMallocVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMalloc* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMalloc* This);
ULONG (CALLBACK *Release)(
IMalloc* This);
/*** IMalloc methods ***/
LPVOID (CALLBACK *Alloc)(
IMalloc* This,
ULONG cb);
LPVOID (CALLBACK *Realloc)(
IMalloc* This,
LPVOID pv,
ULONG cb);
void (CALLBACK *Free)(
IMalloc* This,
LPVOID pv);
ULONG (CALLBACK *GetSize)(
IMalloc* This,
LPVOID pv);
int (CALLBACK *DidAlloc)(
IMalloc* This,
LPVOID pv);
void (CALLBACK *HeapMinimize)(
IMalloc* This);
};
#define IMalloc_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (LPVOID,Alloc,ULONG,cb) \
ICOM_METHOD2 (LPVOID,Realloc,LPVOID,pv,ULONG,cb) \
ICOM_VMETHOD1(Free,LPVOID,pv) \
ICOM_METHOD1 (ULONG,GetSize,LPVOID,pv) \
ICOM_METHOD1 (int,DidAlloc,LPVOID,pv) \
ICOM_VMETHOD (HeapMinimize)
/*** 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
LPVOID CALLBACK IMalloc_Alloc_Proxy(
IMalloc* This,
ULONG cb);
void __RPC_STUB IMalloc_Alloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMalloc_Realloc_Proxy(
IMalloc* This,
LPVOID pv,
ULONG cb);
void __RPC_STUB IMalloc_Realloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IMalloc_Free_Proxy(
IMalloc* This,
LPVOID pv);
void __RPC_STUB IMalloc_Free_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG CALLBACK IMalloc_GetSize_Proxy(
IMalloc* This,
LPVOID pv);
void __RPC_STUB IMalloc_GetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
int CALLBACK IMalloc_DidAlloc_Proxy(
IMalloc* This,
LPVOID pv);
void __RPC_STUB IMalloc_DidAlloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IMalloc_HeapMinimize_Proxy(
IMalloc* This);
void __RPC_STUB IMalloc_HeapMinimize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IMallocSpy IMallocSpy;
typedef IMallocSpy *LPMALLOCSPY;
/*****************************************************************************
* IMallocSpy interface
*/
DEFINE_GUID(IID_IMallocSpy, 0x0000001d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMallocSpy: IUnknown {
virtual ULONG CALLBACK PreAlloc(
ULONG cbRequest) = 0;
virtual LPVOID CALLBACK PostAlloc(
LPVOID pActual) = 0;
virtual LPVOID CALLBACK PreFree(
LPVOID pRequest,
BOOL fSpyed) = 0;
virtual void CALLBACK PostFree(
BOOL fSpyed) = 0;
virtual ULONG CALLBACK PreRealloc(
LPVOID pRequest,
ULONG cbRequest,
LPVOID* ppNewRequest,
BOOL fSpyed) = 0;
virtual LPVOID CALLBACK PostRealloc(
LPVOID pActual,
BOOL fSpyed) = 0;
virtual LPVOID CALLBACK PreGetSize(
LPVOID pRequest,
BOOL fSpyed) = 0;
virtual ULONG CALLBACK PostGetSize(
ULONG cbActual,
BOOL fSpyed) = 0;
virtual LPVOID CALLBACK PreDidAlloc(
LPVOID pRequest,
BOOL fSpyed) = 0;
virtual int CALLBACK PostDidAlloc(
LPVOID pRequest,
BOOL fSpyed,
int fActual) = 0;
virtual void CALLBACK PreHeapMinimize(
) = 0;
virtual void CALLBACK PostHeapMinimize(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMallocSpyVtbl IMallocSpyVtbl;
struct IMallocSpy {
const IMallocSpyVtbl* lpVtbl;
};
struct IMallocSpyVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMallocSpy* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMallocSpy* This);
ULONG (CALLBACK *Release)(
IMallocSpy* This);
/*** IMallocSpy methods ***/
ULONG (CALLBACK *PreAlloc)(
IMallocSpy* This,
ULONG cbRequest);
LPVOID (CALLBACK *PostAlloc)(
IMallocSpy* This,
LPVOID pActual);
LPVOID (CALLBACK *PreFree)(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
void (CALLBACK *PostFree)(
IMallocSpy* This,
BOOL fSpyed);
ULONG (CALLBACK *PreRealloc)(
IMallocSpy* This,
LPVOID pRequest,
ULONG cbRequest,
LPVOID* ppNewRequest,
BOOL fSpyed);
LPVOID (CALLBACK *PostRealloc)(
IMallocSpy* This,
LPVOID pActual,
BOOL fSpyed);
LPVOID (CALLBACK *PreGetSize)(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
ULONG (CALLBACK *PostGetSize)(
IMallocSpy* This,
ULONG cbActual,
BOOL fSpyed);
LPVOID (CALLBACK *PreDidAlloc)(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
int (CALLBACK *PostDidAlloc)(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed,
int fActual);
void (CALLBACK *PreHeapMinimize)(
IMallocSpy* This);
void (CALLBACK *PostHeapMinimize)(
IMallocSpy* This);
};
#define IMallocSpy_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (ULONG,PreAlloc,ULONG,cbRequest) \
ICOM_METHOD1 (LPVOID,PostAlloc,LPVOID,pActual) \
ICOM_METHOD2 (LPVOID,PreFree,LPVOID,pRequest,BOOL,fSpyed) \
ICOM_VMETHOD1(PostFree,BOOL,fSpyed) \
ICOM_METHOD4 (ULONG,PreRealloc,LPVOID,pRequest,ULONG,cbRequest,LPVOID*,ppNewRequest,BOOL,fSpyed) \
ICOM_METHOD2 (LPVOID,PostRealloc,LPVOID,pActual,BOOL,fSpyed) \
ICOM_METHOD2 (LPVOID,PreGetSize,LPVOID,pRequest,BOOL,fSpyed) \
ICOM_METHOD2 (ULONG,PostGetSize,ULONG,cbActual,BOOL,fSpyed) \
ICOM_METHOD2 (LPVOID,PreDidAlloc,LPVOID,pRequest,BOOL,fSpyed) \
ICOM_METHOD3 (int,PostDidAlloc,LPVOID,pRequest,BOOL,fSpyed,int,fActual) \
ICOM_VMETHOD (PreHeapMinimize) \
ICOM_VMETHOD (PostHeapMinimize)
/*** 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
ULONG CALLBACK IMallocSpy_PreAlloc_Proxy(
IMallocSpy* This,
ULONG cbRequest);
void __RPC_STUB IMallocSpy_PreAlloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMallocSpy_PostAlloc_Proxy(
IMallocSpy* This,
LPVOID pActual);
void __RPC_STUB IMallocSpy_PostAlloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMallocSpy_PreFree_Proxy(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PreFree_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IMallocSpy_PostFree_Proxy(
IMallocSpy* This,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PostFree_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG CALLBACK IMallocSpy_PreRealloc_Proxy(
IMallocSpy* This,
LPVOID pRequest,
ULONG cbRequest,
LPVOID* ppNewRequest,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PreRealloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMallocSpy_PostRealloc_Proxy(
IMallocSpy* This,
LPVOID pActual,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PostRealloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMallocSpy_PreGetSize_Proxy(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PreGetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG CALLBACK IMallocSpy_PostGetSize_Proxy(
IMallocSpy* This,
ULONG cbActual,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PostGetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LPVOID CALLBACK IMallocSpy_PreDidAlloc_Proxy(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed);
void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
int CALLBACK IMallocSpy_PostDidAlloc_Proxy(
IMallocSpy* This,
LPVOID pRequest,
BOOL fSpyed,
int fActual);
void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IMallocSpy_PreHeapMinimize_Proxy(
IMallocSpy* This);
void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IMallocSpy_PostHeapMinimize_Proxy(
IMallocSpy* This);
void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumUnknown IEnumUnknown;
typedef IEnumUnknown *LPENUMUNKNOWN;
/*****************************************************************************
* IEnumUnknown interface
*/
DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumUnknown: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
IUnknown** rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumUnknown** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumUnknownVtbl IEnumUnknownVtbl;
struct IEnumUnknown {
const IEnumUnknownVtbl* lpVtbl;
};
struct IEnumUnknownVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumUnknown* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumUnknown* This);
ULONG (CALLBACK *Release)(
IEnumUnknown* This);
/*** IEnumUnknown methods ***/
HRESULT (CALLBACK *Next)(
IEnumUnknown* This,
ULONG celt,
IUnknown** rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumUnknown* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumUnknown* This);
HRESULT (CALLBACK *Clone)(
IEnumUnknown* This,
IEnumUnknown** ppenum);
};
#define IEnumUnknown_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,IUnknown**,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumUnknown_RemoteNext_Proxy(
IEnumUnknown* This,
ULONG celt,
IUnknown** rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumUnknown_Next_Proxy(
IEnumUnknown* This,
ULONG celt,
IUnknown** rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
IEnumUnknown* This,
ULONG celt,
IUnknown** rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumUnknown_Skip_Proxy(
IEnumUnknown* This,
ULONG celt);
void __RPC_STUB IEnumUnknown_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumUnknown_Reset_Proxy(
IEnumUnknown* This);
void __RPC_STUB IEnumUnknown_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumUnknown_Clone_Proxy(
IEnumUnknown* This,
IEnumUnknown** ppenum);
void __RPC_STUB IEnumUnknown_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct ISurrogate ISurrogate;
typedef ISurrogate *LPSURROGATE;
/*****************************************************************************
* ISurrogate interface
*/
DEFINE_GUID(IID_ISurrogate, 0x00000022, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ISurrogate: IUnknown {
virtual HRESULT CALLBACK LoadDllServer(
REFCLSID Clsid) = 0;
virtual HRESULT CALLBACK FreeSurrogate(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct ISurrogateVtbl ISurrogateVtbl;
struct ISurrogate {
const ISurrogateVtbl* lpVtbl;
};
struct ISurrogateVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
ISurrogate* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ISurrogate* This);
ULONG (CALLBACK *Release)(
ISurrogate* This);
/*** ISurrogate methods ***/
HRESULT (CALLBACK *LoadDllServer)(
ISurrogate* This,
REFCLSID Clsid);
HRESULT (CALLBACK *FreeSurrogate)(
ISurrogate* This);
};
#define ISurrogate_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,LoadDllServer,REFCLSID,Clsid) \
ICOM_METHOD (HRESULT,FreeSurrogate)
/*** 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
HRESULT CALLBACK ISurrogate_LoadDllServer_Proxy(
ISurrogate* This,
REFCLSID Clsid);
void __RPC_STUB ISurrogate_LoadDllServer_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ISurrogate_FreeSurrogate_Proxy(
ISurrogate* This);
void __RPC_STUB ISurrogate_FreeSurrogate_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
/*****************************************************************************
* IGlobalInterfaceTable interface
*/
DEFINE_GUID(IID_IGlobalInterfaceTable, 0x00000146, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IGlobalInterfaceTable: IUnknown {
virtual HRESULT CALLBACK RegisterInterfaceInGlobal(
IUnknown* pUnk,
REFIID riid,
DWORD* pdwCookie) = 0;
virtual HRESULT CALLBACK RevokeInterfaceFromGlobal(
DWORD dwCookie) = 0;
virtual HRESULT CALLBACK GetInterfaceFromGlobal(
DWORD dwCookie,
REFIID riid,
void** ppv) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IGlobalInterfaceTableVtbl IGlobalInterfaceTableVtbl;
struct IGlobalInterfaceTable {
const IGlobalInterfaceTableVtbl* lpVtbl;
};
struct IGlobalInterfaceTableVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IGlobalInterfaceTable* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IGlobalInterfaceTable* This);
ULONG (CALLBACK *Release)(
IGlobalInterfaceTable* This);
/*** IGlobalInterfaceTable methods ***/
HRESULT (CALLBACK *RegisterInterfaceInGlobal)(
IGlobalInterfaceTable* This,
IUnknown* pUnk,
REFIID riid,
DWORD* pdwCookie);
HRESULT (CALLBACK *RevokeInterfaceFromGlobal)(
IGlobalInterfaceTable* This,
DWORD dwCookie);
HRESULT (CALLBACK *GetInterfaceFromGlobal)(
IGlobalInterfaceTable* This,
DWORD dwCookie,
REFIID riid,
void** ppv);
};
#define IGlobalInterfaceTable_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,RegisterInterfaceInGlobal,IUnknown*,pUnk,REFIID,riid,DWORD*,pdwCookie) \
ICOM_METHOD1 (HRESULT,RevokeInterfaceFromGlobal,DWORD,dwCookie) \
ICOM_METHOD3 (HRESULT,GetInterfaceFromGlobal,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
HRESULT CALLBACK IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(
IGlobalInterfaceTable* This,
IUnknown* pUnk,
REFIID riid,
DWORD* pdwCookie);
void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(
IGlobalInterfaceTable* This,
DWORD dwCookie);
void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(
IGlobalInterfaceTable* This,
DWORD dwCookie,
REFIID riid,
void** ppv);
void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IBindCtx IBindCtx;
typedef IBindCtx *LPBINDCTX;
typedef IBindCtx *LPBC;
typedef struct tagBIND_OPTS {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
} BIND_OPTS, *LPBIND_OPTS;
typedef struct tagBIND_OPTS2 {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
DWORD dwTrackFlags;
DWORD dwClassContext;
LCID locale;
COSERVERINFO *pServerInfo;
} BIND_OPTS2, *LPBIND_OPTS2;
typedef enum tagBIND_FLAGS {
BIND_MAYBOTHERUSER = 1,
BIND_JUSTTESTEXISTENCE = 2
} BIND_FLAGS;
/*****************************************************************************
* IBindCtx interface
*/
DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IBindCtx: IUnknown {
virtual HRESULT CALLBACK RegisterObjectBound(
IUnknown* punk) = 0;
virtual HRESULT CALLBACK RevokeObjectBound(
IUnknown* punk) = 0;
virtual HRESULT CALLBACK ReleaseBoundObjects(
) = 0;
virtual HRESULT CALLBACK SetBindOptions(
BIND_OPTS* pbindopts) = 0;
virtual HRESULT CALLBACK GetBindOptions(
BIND_OPTS* pbindopts) = 0;
virtual HRESULT CALLBACK GetRunningObjectTable(
IRunningObjectTable** pprot) = 0;
virtual HRESULT CALLBACK RegisterObjectParam(
LPOLESTR pszKey,
IUnknown* punk) = 0;
virtual HRESULT CALLBACK GetObjectParam(
LPOLESTR pszKey,
IUnknown** ppunk) = 0;
virtual HRESULT CALLBACK EnumObjectParam(
IEnumString** ppenum) = 0;
virtual HRESULT CALLBACK RevokeObjectParam(
LPOLESTR pszKey) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IBindCtxVtbl IBindCtxVtbl;
struct IBindCtx {
const IBindCtxVtbl* lpVtbl;
};
struct IBindCtxVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IBindCtx* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IBindCtx* This);
ULONG (CALLBACK *Release)(
IBindCtx* This);
/*** IBindCtx methods ***/
HRESULT (CALLBACK *RegisterObjectBound)(
IBindCtx* This,
IUnknown* punk);
HRESULT (CALLBACK *RevokeObjectBound)(
IBindCtx* This,
IUnknown* punk);
HRESULT (CALLBACK *ReleaseBoundObjects)(
IBindCtx* This);
HRESULT (CALLBACK *SetBindOptions)(
IBindCtx* This,
BIND_OPTS* pbindopts);
HRESULT (CALLBACK *GetBindOptions)(
IBindCtx* This,
BIND_OPTS* pbindopts);
HRESULT (CALLBACK *GetRunningObjectTable)(
IBindCtx* This,
IRunningObjectTable** pprot);
HRESULT (CALLBACK *RegisterObjectParam)(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown* punk);
HRESULT (CALLBACK *GetObjectParam)(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown** ppunk);
HRESULT (CALLBACK *EnumObjectParam)(
IBindCtx* This,
IEnumString** ppenum);
HRESULT (CALLBACK *RevokeObjectParam)(
IBindCtx* This,
LPOLESTR pszKey);
};
#define IBindCtx_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,RegisterObjectBound,IUnknown*,punk) \
ICOM_METHOD1 (HRESULT,RevokeObjectBound,IUnknown*,punk) \
ICOM_METHOD (HRESULT,ReleaseBoundObjects) \
ICOM_METHOD1 (HRESULT,SetBindOptions,BIND_OPTS*,pbindopts) \
ICOM_METHOD1 (HRESULT,GetBindOptions,BIND_OPTS*,pbindopts) \
ICOM_METHOD1 (HRESULT,GetRunningObjectTable,IRunningObjectTable**,pprot) \
ICOM_METHOD2 (HRESULT,RegisterObjectParam,LPOLESTR,pszKey,IUnknown*,punk) \
ICOM_METHOD2 (HRESULT,GetObjectParam,LPOLESTR,pszKey,IUnknown**,ppunk) \
ICOM_METHOD1 (HRESULT,EnumObjectParam,IEnumString**,ppenum) \
ICOM_METHOD1 (HRESULT,RevokeObjectParam,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
HRESULT CALLBACK IBindCtx_RegisterObjectBound_Proxy(
IBindCtx* This,
IUnknown* punk);
void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_RevokeObjectBound_Proxy(
IBindCtx* This,
IUnknown* punk);
void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_ReleaseBoundObjects_Proxy(
IBindCtx* This);
void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_RemoteSetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS2* pbindopts);
void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS* pbindopts);
HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
IBindCtx* This,
BIND_OPTS2* pbindopts);
HRESULT CALLBACK IBindCtx_RemoteGetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS2* pbindopts);
void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS* pbindopts);
HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
IBindCtx* This,
BIND_OPTS2* pbindopts);
HRESULT CALLBACK IBindCtx_GetRunningObjectTable_Proxy(
IBindCtx* This,
IRunningObjectTable** pprot);
void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_RegisterObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown* punk);
void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_GetObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown** ppunk);
void __RPC_STUB IBindCtx_GetObjectParam_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_EnumObjectParam_Proxy(
IBindCtx* This,
IEnumString** ppenum);
void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IBindCtx_RevokeObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey);
void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumMoniker IEnumMoniker;
typedef IEnumMoniker *LPENUMMONIKER;
/*****************************************************************************
* IEnumMoniker interface
*/
DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumMoniker: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
IMoniker** rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumMoniker** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumMonikerVtbl IEnumMonikerVtbl;
struct IEnumMoniker {
const IEnumMonikerVtbl* lpVtbl;
};
struct IEnumMonikerVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumMoniker* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumMoniker* This);
ULONG (CALLBACK *Release)(
IEnumMoniker* This);
/*** IEnumMoniker methods ***/
HRESULT (CALLBACK *Next)(
IEnumMoniker* This,
ULONG celt,
IMoniker** rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumMoniker* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumMoniker* This);
HRESULT (CALLBACK *Clone)(
IEnumMoniker* This,
IEnumMoniker** ppenum);
};
#define IEnumMoniker_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,IMoniker**,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumMoniker_RemoteNext_Proxy(
IEnumMoniker* This,
ULONG celt,
IMoniker** rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumMoniker_Next_Proxy(
IEnumMoniker* This,
ULONG celt,
IMoniker** rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
IEnumMoniker* This,
ULONG celt,
IMoniker** rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumMoniker_Skip_Proxy(
IEnumMoniker* This,
ULONG celt);
void __RPC_STUB IEnumMoniker_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumMoniker_Reset_Proxy(
IEnumMoniker* This);
void __RPC_STUB IEnumMoniker_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumMoniker_Clone_Proxy(
IEnumMoniker* This,
IEnumMoniker** ppenum);
void __RPC_STUB IEnumMoniker_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRunnableObject IRunnableObject;
typedef IRunnableObject *LPRUNNABLEOBJECT;
/*****************************************************************************
* IRunnableObject interface
*/
DEFINE_GUID(IID_IRunnableObject, 0x00000126, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRunnableObject: IUnknown {
virtual HRESULT CALLBACK GetRunningClass(
LPCLSID lpClsid) = 0;
virtual HRESULT CALLBACK Run(
LPBINDCTX pbc) = 0;
virtual BOOL CALLBACK IsRunning(
) = 0;
virtual HRESULT CALLBACK LockRunning(
BOOL fLock,
BOOL fLastUnlockCloses) = 0;
virtual HRESULT CALLBACK SetContainedObject(
BOOL fContained) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRunnableObjectVtbl IRunnableObjectVtbl;
struct IRunnableObject {
const IRunnableObjectVtbl* lpVtbl;
};
struct IRunnableObjectVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRunnableObject* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRunnableObject* This);
ULONG (CALLBACK *Release)(
IRunnableObject* This);
/*** IRunnableObject methods ***/
HRESULT (CALLBACK *GetRunningClass)(
IRunnableObject* This,
LPCLSID lpClsid);
HRESULT (CALLBACK *Run)(
IRunnableObject* This,
LPBINDCTX pbc);
BOOL (CALLBACK *IsRunning)(
IRunnableObject* This);
HRESULT (CALLBACK *LockRunning)(
IRunnableObject* This,
BOOL fLock,
BOOL fLastUnlockCloses);
HRESULT (CALLBACK *SetContainedObject)(
IRunnableObject* This,
BOOL fContained);
};
#define IRunnableObject_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,GetRunningClass,LPCLSID,lpClsid) \
ICOM_METHOD1 (HRESULT,Run,LPBINDCTX,pbc) \
ICOM_METHOD (BOOL,IsRunning) \
ICOM_METHOD2 (HRESULT,LockRunning,BOOL,fLock,BOOL,fLastUnlockCloses) \
ICOM_METHOD1 (HRESULT,SetContainedObject,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
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);
2003-01-04 00:52:18 +00:00
#ifdef __WINESRC__
#undef GetObject
#endif
typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
/*****************************************************************************
* IRunningObjectTable interface
*/
DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRunningObjectTable: IUnknown {
virtual HRESULT CALLBACK Register(
DWORD grfFlags,
IUnknown* punkObject,
IMoniker* pmkObjectName,
DWORD* pdwRegister) = 0;
virtual HRESULT CALLBACK Revoke(
DWORD dwRegister) = 0;
virtual HRESULT CALLBACK IsRunning(
IMoniker* pmkObjectName) = 0;
virtual HRESULT CALLBACK GetObject(
IMoniker* pmkObjectName,
IUnknown** ppunkObject) = 0;
virtual HRESULT CALLBACK NoteChangeTime(
DWORD dwRegister,
FILETIME* pfiletime) = 0;
virtual HRESULT CALLBACK GetTimeOfLastChange(
IMoniker* pmkObjectName,
FILETIME* pfiletime) = 0;
virtual HRESULT CALLBACK EnumRunning(
IEnumMoniker** ppenumMoniker) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRunningObjectTableVtbl IRunningObjectTableVtbl;
struct IRunningObjectTable {
const IRunningObjectTableVtbl* lpVtbl;
};
struct IRunningObjectTableVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRunningObjectTable* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRunningObjectTable* This);
ULONG (CALLBACK *Release)(
IRunningObjectTable* This);
/*** IRunningObjectTable methods ***/
HRESULT (CALLBACK *Register)(
IRunningObjectTable* This,
DWORD grfFlags,
IUnknown* punkObject,
IMoniker* pmkObjectName,
DWORD* pdwRegister);
HRESULT (CALLBACK *Revoke)(
IRunningObjectTable* This,
DWORD dwRegister);
HRESULT (CALLBACK *IsRunning)(
IRunningObjectTable* This,
IMoniker* pmkObjectName);
HRESULT (CALLBACK *GetObject)(
IRunningObjectTable* This,
IMoniker* pmkObjectName,
IUnknown** ppunkObject);
HRESULT (CALLBACK *NoteChangeTime)(
IRunningObjectTable* This,
DWORD dwRegister,
FILETIME* pfiletime);
HRESULT (CALLBACK *GetTimeOfLastChange)(
IRunningObjectTable* This,
IMoniker* pmkObjectName,
FILETIME* pfiletime);
HRESULT (CALLBACK *EnumRunning)(
IRunningObjectTable* This,
IEnumMoniker** ppenumMoniker);
};
#define IRunningObjectTable_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD4 (HRESULT,Register,DWORD,grfFlags,IUnknown*,punkObject,IMoniker*,pmkObjectName,DWORD*,pdwRegister) \
ICOM_METHOD1 (HRESULT,Revoke,DWORD,dwRegister) \
ICOM_METHOD1 (HRESULT,IsRunning,IMoniker*,pmkObjectName) \
ICOM_METHOD2 (HRESULT,GetObject,IMoniker*,pmkObjectName,IUnknown**,ppunkObject) \
ICOM_METHOD2 (HRESULT,NoteChangeTime,DWORD,dwRegister,FILETIME*,pfiletime) \
ICOM_METHOD2 (HRESULT,GetTimeOfLastChange,IMoniker*,pmkObjectName,FILETIME*,pfiletime) \
ICOM_METHOD1 (HRESULT,EnumRunning,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
HRESULT CALLBACK IRunningObjectTable_Register_Proxy(
IRunningObjectTable* This,
DWORD grfFlags,
IUnknown* punkObject,
IMoniker* pmkObjectName,
DWORD* pdwRegister);
void __RPC_STUB IRunningObjectTable_Register_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_Revoke_Proxy(
IRunningObjectTable* This,
DWORD dwRegister);
void __RPC_STUB IRunningObjectTable_Revoke_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_IsRunning_Proxy(
IRunningObjectTable* This,
IMoniker* pmkObjectName);
void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_GetObject_Proxy(
IRunningObjectTable* This,
IMoniker* pmkObjectName,
IUnknown** ppunkObject);
void __RPC_STUB IRunningObjectTable_GetObject_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_NoteChangeTime_Proxy(
IRunningObjectTable* This,
DWORD dwRegister,
FILETIME* pfiletime);
void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_GetTimeOfLastChange_Proxy(
IRunningObjectTable* This,
IMoniker* pmkObjectName,
FILETIME* pfiletime);
void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRunningObjectTable_EnumRunning_Proxy(
IRunningObjectTable* This,
IEnumMoniker** ppenumMoniker);
void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPersist IPersist;
typedef IPersist *LPPERSIST;
/*****************************************************************************
* IPersist interface
*/
DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPersist: IUnknown {
virtual HRESULT CALLBACK GetClassID(
CLSID* pClassID) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPersistVtbl IPersistVtbl;
struct IPersist {
const IPersistVtbl* lpVtbl;
};
struct IPersistVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPersist* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPersist* This);
ULONG (CALLBACK *Release)(
IPersist* This);
/*** IPersist methods ***/
HRESULT (CALLBACK *GetClassID)(
IPersist* This,
CLSID* pClassID);
};
#define IPersist_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,GetClassID,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
HRESULT CALLBACK IPersist_GetClassID_Proxy(
IPersist* This,
CLSID* pClassID);
void __RPC_STUB IPersist_GetClassID_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPersistStream IPersistStream;
typedef IPersistStream *LPPERSISTSTREAM;
/*****************************************************************************
* IPersistStream interface
*/
DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPersistStream: IPersist {
virtual HRESULT CALLBACK IsDirty(
) = 0;
virtual HRESULT CALLBACK Load(
IStream* pStm) = 0;
virtual HRESULT CALLBACK Save(
IStream* pStm,
BOOL fClearDirty) = 0;
virtual HRESULT CALLBACK GetSizeMax(
ULARGE_INTEGER* pcbSize) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPersistStreamVtbl IPersistStreamVtbl;
struct IPersistStream {
const IPersistStreamVtbl* lpVtbl;
};
struct IPersistStreamVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPersistStream* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPersistStream* This);
ULONG (CALLBACK *Release)(
IPersistStream* This);
/*** IPersist methods ***/
HRESULT (CALLBACK *GetClassID)(
IPersistStream* This,
CLSID* pClassID);
/*** IPersistStream methods ***/
HRESULT (CALLBACK *IsDirty)(
IPersistStream* This);
HRESULT (CALLBACK *Load)(
IPersistStream* This,
IStream* pStm);
HRESULT (CALLBACK *Save)(
IPersistStream* This,
IStream* pStm,
BOOL fClearDirty);
HRESULT (CALLBACK *GetSizeMax)(
IPersistStream* This,
ULARGE_INTEGER* pcbSize);
};
#define IPersistStream_IMETHODS \
IPersist_IMETHODS \
ICOM_METHOD (HRESULT,IsDirty) \
ICOM_METHOD1 (HRESULT,Load,IStream*,pStm) \
ICOM_METHOD2 (HRESULT,Save,IStream*,pStm,BOOL,fClearDirty) \
ICOM_METHOD1 (HRESULT,GetSizeMax,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
HRESULT CALLBACK IPersistStream_IsDirty_Proxy(
IPersistStream* This);
void __RPC_STUB IPersistStream_IsDirty_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStream_Load_Proxy(
IPersistStream* This,
IStream* pStm);
void __RPC_STUB IPersistStream_Load_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStream_Save_Proxy(
IPersistStream* This,
IStream* pStm,
BOOL fClearDirty);
void __RPC_STUB IPersistStream_Save_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStream_GetSizeMax_Proxy(
IPersistStream* This,
ULARGE_INTEGER* pcbSize);
void __RPC_STUB IPersistStream_GetSizeMax_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IMoniker *LPMONIKER;
typedef enum tagMKSYS {
MKSYS_NONE = 0,
MKSYS_GENERICCOMPOSITE = 1,
MKSYS_FILEMONIKER = 2,
MKSYS_ANTIMONIKER = 3,
MKSYS_ITEMMONIKER = 4,
MKSYS_POINTERMONIKER = 5,
MKSYS_CLASSMONIKER = 7
} MKSYS;
typedef enum tagMKREDUCE {
MKRREDUCE_ONE = 3 << 16,
MKRREDUCE_TOUSER = 2 << 16,
MKRREDUCE_THROUGHUSER = 1 << 16,
MKRREDUCE_ALL = 0
} MKRREDUCE;
/*****************************************************************************
* IMoniker interface
*/
DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMoniker: IPersistStream {
virtual HRESULT CALLBACK BindToObject(
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riidResult,
void** ppvResult) = 0;
virtual HRESULT CALLBACK BindToStorage(
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riid,
void** ppvObj) = 0;
virtual HRESULT CALLBACK Reduce(
IBindCtx* pbc,
DWORD dwReduceHowFar,
IMoniker** ppmkToLeft,
IMoniker** ppmkReduced) = 0;
virtual HRESULT CALLBACK ComposeWith(
IMoniker* pmkRight,
BOOL fOnlyIfNotGeneric,
IMoniker** ppmkComposite) = 0;
virtual HRESULT CALLBACK Enum(
BOOL fForward,
IEnumMoniker** ppenumMoniker) = 0;
virtual HRESULT CALLBACK IsEqual(
IMoniker* pmkOtherMoniker) = 0;
virtual HRESULT CALLBACK Hash(
DWORD* pdwHash) = 0;
virtual HRESULT CALLBACK IsRunning(
IBindCtx* pbc,
IMoniker* pmkToLeft,
IMoniker* pmkNewlyRunning) = 0;
virtual HRESULT CALLBACK GetTimeOfLastChange(
IBindCtx* pbc,
IMoniker* pmkToLeft,
FILETIME* pFileTime) = 0;
virtual HRESULT CALLBACK Inverse(
IMoniker** ppmk) = 0;
virtual HRESULT CALLBACK CommonPrefixWith(
IMoniker* pmkOther,
IMoniker** ppmkPrefix) = 0;
virtual HRESULT CALLBACK RelativePathTo(
IMoniker* pmkOther,
IMoniker** ppmkRelPath) = 0;
virtual HRESULT CALLBACK GetDisplayName(
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR* ppszDisplayName) = 0;
virtual HRESULT CALLBACK ParseDisplayName(
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR pszDisplayName,
ULONG* pchEaten,
IMoniker** ppmkOut) = 0;
virtual HRESULT CALLBACK IsSystemMoniker(
DWORD* pdwMksys) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMonikerVtbl IMonikerVtbl;
struct IMoniker {
const IMonikerVtbl* lpVtbl;
};
struct IMonikerVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMoniker* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMoniker* This);
ULONG (CALLBACK *Release)(
IMoniker* This);
/*** IPersist methods ***/
HRESULT (CALLBACK *GetClassID)(
IMoniker* This,
CLSID* pClassID);
/*** IPersistStream methods ***/
HRESULT (CALLBACK *IsDirty)(
IMoniker* This);
HRESULT (CALLBACK *Load)(
IMoniker* This,
IStream* pStm);
HRESULT (CALLBACK *Save)(
IMoniker* This,
IStream* pStm,
BOOL fClearDirty);
HRESULT (CALLBACK *GetSizeMax)(
IMoniker* This,
ULARGE_INTEGER* pcbSize);
/*** IMoniker methods ***/
HRESULT (CALLBACK *BindToObject)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riidResult,
void** ppvResult);
HRESULT (CALLBACK *BindToStorage)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riid,
void** ppvObj);
HRESULT (CALLBACK *Reduce)(
IMoniker* This,
IBindCtx* pbc,
DWORD dwReduceHowFar,
IMoniker** ppmkToLeft,
IMoniker** ppmkReduced);
HRESULT (CALLBACK *ComposeWith)(
IMoniker* This,
IMoniker* pmkRight,
BOOL fOnlyIfNotGeneric,
IMoniker** ppmkComposite);
HRESULT (CALLBACK *Enum)(
IMoniker* This,
BOOL fForward,
IEnumMoniker** ppenumMoniker);
HRESULT (CALLBACK *IsEqual)(
IMoniker* This,
IMoniker* pmkOtherMoniker);
HRESULT (CALLBACK *Hash)(
IMoniker* This,
DWORD* pdwHash);
HRESULT (CALLBACK *IsRunning)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
IMoniker* pmkNewlyRunning);
HRESULT (CALLBACK *GetTimeOfLastChange)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
FILETIME* pFileTime);
HRESULT (CALLBACK *Inverse)(
IMoniker* This,
IMoniker** ppmk);
HRESULT (CALLBACK *CommonPrefixWith)(
IMoniker* This,
IMoniker* pmkOther,
IMoniker** ppmkPrefix);
HRESULT (CALLBACK *RelativePathTo)(
IMoniker* This,
IMoniker* pmkOther,
IMoniker** ppmkRelPath);
HRESULT (CALLBACK *GetDisplayName)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR* ppszDisplayName);
HRESULT (CALLBACK *ParseDisplayName)(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR pszDisplayName,
ULONG* pchEaten,
IMoniker** ppmkOut);
HRESULT (CALLBACK *IsSystemMoniker)(
IMoniker* This,
DWORD* pdwMksys);
};
#define IMoniker_IMETHODS \
IPersistStream_IMETHODS \
ICOM_METHOD4 (HRESULT,BindToObject,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riidResult,void**,ppvResult) \
ICOM_METHOD4 (HRESULT,BindToStorage,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riid,void**,ppvObj) \
ICOM_METHOD4 (HRESULT,Reduce,IBindCtx*,pbc,DWORD,dwReduceHowFar,IMoniker**,ppmkToLeft,IMoniker**,ppmkReduced) \
ICOM_METHOD3 (HRESULT,ComposeWith,IMoniker*,pmkRight,BOOL,fOnlyIfNotGeneric,IMoniker**,ppmkComposite) \
ICOM_METHOD2 (HRESULT,Enum,BOOL,fForward,IEnumMoniker**,ppenumMoniker) \
ICOM_METHOD1 (HRESULT,IsEqual,IMoniker*,pmkOtherMoniker) \
ICOM_METHOD1 (HRESULT,Hash,DWORD*,pdwHash) \
ICOM_METHOD3 (HRESULT,IsRunning,IBindCtx*,pbc,IMoniker*,pmkToLeft,IMoniker*,pmkNewlyRunning) \
ICOM_METHOD3 (HRESULT,GetTimeOfLastChange,IBindCtx*,pbc,IMoniker*,pmkToLeft,FILETIME*,pFileTime) \
ICOM_METHOD1 (HRESULT,Inverse,IMoniker**,ppmk) \
ICOM_METHOD2 (HRESULT,CommonPrefixWith,IMoniker*,pmkOther,IMoniker**,ppmkPrefix) \
ICOM_METHOD2 (HRESULT,RelativePathTo,IMoniker*,pmkOther,IMoniker**,ppmkRelPath) \
ICOM_METHOD3 (HRESULT,GetDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR*,ppszDisplayName) \
ICOM_METHOD5 (HRESULT,ParseDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR,pszDisplayName,ULONG*,pchEaten,IMoniker**,ppmkOut) \
ICOM_METHOD1 (HRESULT,IsSystemMoniker,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
HRESULT CALLBACK IMoniker_RemoteBindToObject_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riidResult,
IUnknown** ppvResult);
void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_BindToObject_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riidResult,
void** ppvResult);
HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riidResult,
IUnknown** ppvResult);
HRESULT CALLBACK IMoniker_RemoteBindToStorage_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riid,
IUnknown** ppvObj);
void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riid,
void** ppvObj);
HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
REFIID riid,
IUnknown** ppvObj);
HRESULT CALLBACK IMoniker_Reduce_Proxy(
IMoniker* This,
IBindCtx* pbc,
DWORD dwReduceHowFar,
IMoniker** ppmkToLeft,
IMoniker** ppmkReduced);
void __RPC_STUB IMoniker_Reduce_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_ComposeWith_Proxy(
IMoniker* This,
IMoniker* pmkRight,
BOOL fOnlyIfNotGeneric,
IMoniker** ppmkComposite);
void __RPC_STUB IMoniker_ComposeWith_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_Enum_Proxy(
IMoniker* This,
BOOL fForward,
IEnumMoniker** ppenumMoniker);
void __RPC_STUB IMoniker_Enum_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_IsEqual_Proxy(
IMoniker* This,
IMoniker* pmkOtherMoniker);
void __RPC_STUB IMoniker_IsEqual_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_Hash_Proxy(
IMoniker* This,
DWORD* pdwHash);
void __RPC_STUB IMoniker_Hash_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_IsRunning_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
IMoniker* pmkNewlyRunning);
void __RPC_STUB IMoniker_IsRunning_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_GetTimeOfLastChange_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
FILETIME* pFileTime);
void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_Inverse_Proxy(
IMoniker* This,
IMoniker** ppmk);
void __RPC_STUB IMoniker_Inverse_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_CommonPrefixWith_Proxy(
IMoniker* This,
IMoniker* pmkOther,
IMoniker** ppmkPrefix);
void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_RelativePathTo_Proxy(
IMoniker* This,
IMoniker* pmkOther,
IMoniker** ppmkRelPath);
void __RPC_STUB IMoniker_RelativePathTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_GetDisplayName_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR* ppszDisplayName);
void __RPC_STUB IMoniker_GetDisplayName_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_ParseDisplayName_Proxy(
IMoniker* This,
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOLESTR pszDisplayName,
ULONG* pchEaten,
IMoniker** ppmkOut);
void __RPC_STUB IMoniker_ParseDisplayName_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IMoniker_IsSystemMoniker_Proxy(
IMoniker* This,
DWORD* pdwMksys);
void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IROTData IROTData;
/*****************************************************************************
* IROTData interface
*/
DEFINE_GUID(IID_IROTData, 0xf29f6bc0, 0x5021, 0x11ce, 0xaa,0x15, 0x00,0x00,0x69,0x01,0x29,0x3f);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IROTData: IUnknown {
virtual HRESULT CALLBACK GetComparisonData(
byte* pbData,
ULONG cbMax,
ULONG* pcbData) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IROTDataVtbl IROTDataVtbl;
struct IROTData {
const IROTDataVtbl* lpVtbl;
};
struct IROTDataVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IROTData* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IROTData* This);
ULONG (CALLBACK *Release)(
IROTData* This);
/*** IROTData methods ***/
HRESULT (CALLBACK *GetComparisonData)(
IROTData* This,
byte* pbData,
ULONG cbMax,
ULONG* pcbData);
};
#define IROTData_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,GetComparisonData,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
HRESULT CALLBACK IROTData_GetComparisonData_Proxy(
IROTData* This,
byte* pbData,
ULONG cbMax,
ULONG* pcbData);
void __RPC_STUB IROTData_GetComparisonData_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IEnumString *LPENUMSTRING;
/*****************************************************************************
* IEnumString interface
*/
DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumString: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
LPOLESTR* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumString** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumStringVtbl IEnumStringVtbl;
struct IEnumString {
const IEnumStringVtbl* lpVtbl;
};
struct IEnumStringVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumString* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumString* This);
ULONG (CALLBACK *Release)(
IEnumString* This);
/*** IEnumString methods ***/
HRESULT (CALLBACK *Next)(
IEnumString* This,
ULONG celt,
LPOLESTR* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumString* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumString* This);
HRESULT (CALLBACK *Clone)(
IEnumString* This,
IEnumString** ppenum);
};
#define IEnumString_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,LPOLESTR*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumString_RemoteNext_Proxy(
IEnumString* This,
ULONG celt,
LPOLESTR* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumString_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumString_Next_Proxy(
IEnumString* This,
ULONG celt,
LPOLESTR* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumString_Next_Stub(
IEnumString* This,
ULONG celt,
LPOLESTR* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumString_Skip_Proxy(
IEnumString* This,
ULONG celt);
void __RPC_STUB IEnumString_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumString_Reset_Proxy(
IEnumString* This);
void __RPC_STUB IEnumString_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumString_Clone_Proxy(
IEnumString* This,
IEnumString** ppenum);
void __RPC_STUB IEnumString_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IClassActivator IClassActivator;
/*****************************************************************************
* IClassActivator interface
*/
DEFINE_GUID(IID_IClassActivator, 0x00000140, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IClassActivator: IUnknown {
virtual HRESULT CALLBACK GetClassObject(
REFCLSID rclsid,
DWORD dwClassContext,
LCID locale,
REFIID riid,
void** ppv) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IClassActivatorVtbl IClassActivatorVtbl;
struct IClassActivator {
const IClassActivatorVtbl* lpVtbl;
};
struct IClassActivatorVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IClassActivator* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IClassActivator* This);
ULONG (CALLBACK *Release)(
IClassActivator* This);
/*** IClassActivator methods ***/
HRESULT (CALLBACK *GetClassObject)(
IClassActivator* This,
REFCLSID rclsid,
DWORD dwClassContext,
LCID locale,
REFIID riid,
void** ppv);
};
#define IClassActivator_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,GetClassObject,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
HRESULT CALLBACK IClassActivator_GetClassObject_Proxy(
IClassActivator* This,
REFCLSID rclsid,
DWORD dwClassContext,
LCID locale,
REFIID riid,
void** ppv);
void __RPC_STUB IClassActivator_GetClassObject_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct ISequentialStream ISequentialStream;
/*****************************************************************************
* ISequentialStream interface
*/
DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ISequentialStream: IUnknown {
virtual HRESULT CALLBACK Read(
void* pv,
ULONG cb,
ULONG* pcbRead) = 0;
virtual HRESULT CALLBACK Write(
const void* pv,
ULONG cb,
ULONG* pcbWritten) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct ISequentialStreamVtbl ISequentialStreamVtbl;
struct ISequentialStream {
const ISequentialStreamVtbl* lpVtbl;
};
struct ISequentialStreamVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
ISequentialStream* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ISequentialStream* This);
ULONG (CALLBACK *Release)(
ISequentialStream* This);
/*** ISequentialStream methods ***/
HRESULT (CALLBACK *Read)(
ISequentialStream* This,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT (CALLBACK *Write)(
ISequentialStream* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
};
#define ISequentialStream_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Read,void*,pv,ULONG,cb,ULONG*,pcbRead) \
ICOM_METHOD3 (HRESULT,Write,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
HRESULT CALLBACK ISequentialStream_RemoteRead_Proxy(
ISequentialStream* This,
byte* pv,
ULONG cb,
ULONG* pcbRead);
void __RPC_STUB ISequentialStream_RemoteRead_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ISequentialStream_Read_Proxy(
ISequentialStream* This,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT __RPC_STUB ISequentialStream_Read_Stub(
ISequentialStream* This,
byte* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT CALLBACK ISequentialStream_RemoteWrite_Proxy(
ISequentialStream* This,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ISequentialStream_Write_Proxy(
ISequentialStream* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT __RPC_STUB ISequentialStream_Write_Stub(
ISequentialStream* This,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
typedef IStream *LPSTREAM;
typedef struct tagSTATSTG {
LPOLESTR pwcsName;
DWORD type;
ULARGE_INTEGER cbSize;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD grfMode;
DWORD grfLocksSupported;
CLSID clsid;
DWORD grfStateBits;
DWORD reserved;
} STATSTG;
typedef enum tagSTGTY {
STGTY_STORAGE = 1,
STGTY_STREAM = 2,
STGTY_LOCKBYTES = 3,
STGTY_PROPERTY = 4
} STGTY;
typedef enum tagSTREAM_SEEK {
STREAM_SEEK_SET = 0,
STREAM_SEEK_CUR = 1,
STREAM_SEEK_END = 2
} STREAM_SEEK;
#undef LOCK_MAND
#undef LOCK_READ
#undef LOCK_WRITE
#undef LOCK_RW
typedef enum tagLOCKTYPE {
LOCK_WRITE = 1,
LOCK_EXCLUSIVE = 2,
LOCK_ONLYONCE = 4
} LOCKTYPE;
/*****************************************************************************
* IStream interface
*/
DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IStream: ISequentialStream {
virtual HRESULT CALLBACK Seek(
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition) = 0;
virtual HRESULT CALLBACK SetSize(
ULARGE_INTEGER libNewSize) = 0;
virtual HRESULT CALLBACK CopyTo(
IStream* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten) = 0;
virtual HRESULT CALLBACK Commit(
DWORD grfCommitFlags) = 0;
virtual HRESULT CALLBACK Revert(
) = 0;
virtual HRESULT CALLBACK LockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK UnlockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK Stat(
STATSTG* pstatstg,
DWORD grfStatFlag) = 0;
virtual HRESULT CALLBACK Clone(
IStream** ppstm) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IStreamVtbl IStreamVtbl;
struct IStream {
const IStreamVtbl* lpVtbl;
};
struct IStreamVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IStream* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IStream* This);
ULONG (CALLBACK *Release)(
IStream* This);
/*** ISequentialStream methods ***/
HRESULT (CALLBACK *Read)(
IStream* This,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT (CALLBACK *Write)(
IStream* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
/*** IStream methods ***/
HRESULT (CALLBACK *Seek)(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT (CALLBACK *SetSize)(
IStream* This,
ULARGE_INTEGER libNewSize);
HRESULT (CALLBACK *CopyTo)(
IStream* This,
IStream* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT (CALLBACK *Commit)(
IStream* This,
DWORD grfCommitFlags);
HRESULT (CALLBACK *Revert)(
IStream* This);
HRESULT (CALLBACK *LockRegion)(
IStream* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *UnlockRegion)(
IStream* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *Stat)(
IStream* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
HRESULT (CALLBACK *Clone)(
IStream* This,
IStream** ppstm);
};
#define IStream_IMETHODS \
ISequentialStream_IMETHODS \
ICOM_METHOD3 (HRESULT,Seek,LARGE_INTEGER,dlibMove,DWORD,dwOrigin,ULARGE_INTEGER*,plibNewPosition) \
ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,libNewSize) \
ICOM_METHOD4 (HRESULT,CopyTo,IStream*,pstm,ULARGE_INTEGER,cb,ULARGE_INTEGER*,pcbRead,ULARGE_INTEGER*,pcbWritten) \
ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IStream_RemoteSeek_Proxy(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
void __RPC_STUB IStream_RemoteSeek_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_Seek_Proxy(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT __RPC_STUB IStream_Seek_Stub(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT CALLBACK IStream_SetSize_Proxy(
IStream* This,
ULARGE_INTEGER libNewSize);
void __RPC_STUB IStream_SetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_RemoteCopyTo_Proxy(
IStream* This,
IStream* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
void __RPC_STUB IStream_RemoteCopyTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_CopyTo_Proxy(
IStream* This,
IStream* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT __RPC_STUB IStream_CopyTo_Stub(
IStream* This,
IStream* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT CALLBACK IStream_Commit_Proxy(
IStream* This,
DWORD grfCommitFlags);
void __RPC_STUB IStream_Commit_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_Revert_Proxy(
IStream* This);
void __RPC_STUB IStream_Revert_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_LockRegion_Proxy(
IStream* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB IStream_LockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_UnlockRegion_Proxy(
IStream* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB IStream_UnlockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_Stat_Proxy(
IStream* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
void __RPC_STUB IStream_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream_Clone_Proxy(
IStream* This,
IStream** ppstm);
void __RPC_STUB IStream_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IStream16 *LPSTREAM16;
typedef struct tagSTATSTG16 {
LPOLESTR16 pwcsName;
DWORD type;
ULARGE_INTEGER cbSize;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD grfMode;
DWORD grfLocksSupported;
CLSID clsid;
DWORD grfStateBits;
DWORD reserved;
} STATSTG16;
/*****************************************************************************
* IStream16 interface
*/
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IStream16: ISequentialStream {
virtual HRESULT CALLBACK Seek(
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition) = 0;
virtual HRESULT CALLBACK SetSize(
ULARGE_INTEGER libNewSize) = 0;
virtual HRESULT CALLBACK CopyTo(
IStream16* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten) = 0;
virtual HRESULT CALLBACK Commit(
DWORD grfCommitFlags) = 0;
virtual HRESULT CALLBACK Revert(
) = 0;
virtual HRESULT CALLBACK LockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK UnlockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK Stat(
STATSTG* pstatstg,
DWORD grfStatFlag) = 0;
virtual HRESULT CALLBACK Clone(
IStream16** ppstm) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IStream16Vtbl IStream16Vtbl;
struct IStream16 {
const IStream16Vtbl* lpVtbl;
};
struct IStream16Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IStream16* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IStream16* This);
ULONG (CALLBACK *Release)(
IStream16* This);
/*** ISequentialStream methods ***/
HRESULT (CALLBACK *Read)(
IStream16* This,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT (CALLBACK *Write)(
IStream16* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
/*** IStream16 methods ***/
HRESULT (CALLBACK *Seek)(
IStream16* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT (CALLBACK *SetSize)(
IStream16* This,
ULARGE_INTEGER libNewSize);
HRESULT (CALLBACK *CopyTo)(
IStream16* This,
IStream16* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT (CALLBACK *Commit)(
IStream16* This,
DWORD grfCommitFlags);
HRESULT (CALLBACK *Revert)(
IStream16* This);
HRESULT (CALLBACK *LockRegion)(
IStream16* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *UnlockRegion)(
IStream16* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *Stat)(
IStream16* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
HRESULT (CALLBACK *Clone)(
IStream16* This,
IStream16** ppstm);
};
#define IStream16_IMETHODS \
ISequentialStream_IMETHODS \
ICOM_METHOD3 (HRESULT,Seek,LARGE_INTEGER,dlibMove,DWORD,dwOrigin,ULARGE_INTEGER*,plibNewPosition) \
ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,libNewSize) \
ICOM_METHOD4 (HRESULT,CopyTo,IStream16*,pstm,ULARGE_INTEGER,cb,ULARGE_INTEGER*,pcbRead,ULARGE_INTEGER*,pcbWritten) \
ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag) \
ICOM_METHOD1 (HRESULT,Clone,IStream16**,ppstm)
/*** IUnknown methods ***/
#define IStream16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IStream16_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IStream16_Release(p) (p)->lpVtbl->Release(p)
/*** ISequentialStream methods ***/
#define IStream16_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
#define IStream16_Write(p,a,b,c) (p)->lpVtbl->Write(p,a,b,c)
/*** IStream16 methods ***/
#define IStream16_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
#define IStream16_SetSize(p,a) (p)->lpVtbl->SetSize(p,a)
#define IStream16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
#define IStream16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
#define IStream16_Revert(p) (p)->lpVtbl->Revert(p)
#define IStream16_LockRegion(p,a,b,c) (p)->lpVtbl->LockRegion(p,a,b,c)
#define IStream16_UnlockRegion(p,a,b,c) (p)->lpVtbl->UnlockRegion(p,a,b,c)
#define IStream16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
#define IStream16_Clone(p,a) (p)->lpVtbl->Clone(p,a)
#endif
HRESULT CALLBACK IStream16_RemoteSeek_Proxy(
IStream16* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
void __RPC_STUB IStream16_RemoteSeek_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_Seek_Proxy(
IStream16* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT __RPC_STUB IStream16_Seek_Stub(
IStream16* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition);
HRESULT CALLBACK IStream16_SetSize_Proxy(
IStream16* This,
ULARGE_INTEGER libNewSize);
void __RPC_STUB IStream16_SetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_RemoteCopyTo_Proxy(
IStream16* This,
IStream16* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
void __RPC_STUB IStream16_RemoteCopyTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_CopyTo_Proxy(
IStream16* This,
IStream16* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT __RPC_STUB IStream16_CopyTo_Stub(
IStream16* This,
IStream16* pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead,
ULARGE_INTEGER* pcbWritten);
HRESULT CALLBACK IStream16_Commit_Proxy(
IStream16* This,
DWORD grfCommitFlags);
void __RPC_STUB IStream16_Commit_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_Revert_Proxy(
IStream16* This);
void __RPC_STUB IStream16_Revert_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_LockRegion_Proxy(
IStream16* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB IStream16_LockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_UnlockRegion_Proxy(
IStream16* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB IStream16_UnlockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_Stat_Proxy(
IStream16* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
void __RPC_STUB IStream16_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStream16_Clone_Proxy(
IStream16* This,
IStream16** ppstm);
void __RPC_STUB IStream16_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumSTATSTG IEnumSTATSTG;
typedef IEnumSTATSTG *LPENUMSTATSTG;
/*****************************************************************************
* IEnumSTATSTG interface
*/
DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumSTATSTG: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
STATSTG* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumSTATSTG** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumSTATSTGVtbl IEnumSTATSTGVtbl;
struct IEnumSTATSTG {
const IEnumSTATSTGVtbl* lpVtbl;
};
struct IEnumSTATSTGVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumSTATSTG* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumSTATSTG* This);
ULONG (CALLBACK *Release)(
IEnumSTATSTG* This);
/*** IEnumSTATSTG methods ***/
HRESULT (CALLBACK *Next)(
IEnumSTATSTG* This,
ULONG celt,
STATSTG* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumSTATSTG* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumSTATSTG* This);
HRESULT (CALLBACK *Clone)(
IEnumSTATSTG* This,
IEnumSTATSTG** ppenum);
};
#define IEnumSTATSTG_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATSTG*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumSTATSTG_RemoteNext_Proxy(
IEnumSTATSTG* This,
ULONG celt,
STATSTG* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
IEnumSTATSTG* This,
ULONG celt,
STATSTG* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
IEnumSTATSTG* This,
ULONG celt,
STATSTG* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumSTATSTG_Skip_Proxy(
IEnumSTATSTG* This,
ULONG celt);
void __RPC_STUB IEnumSTATSTG_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATSTG_Reset_Proxy(
IEnumSTATSTG* This);
void __RPC_STUB IEnumSTATSTG_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATSTG_Clone_Proxy(
IEnumSTATSTG* This,
IEnumSTATSTG** ppenum);
void __RPC_STUB IEnumSTATSTG_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IStorage IStorage;
typedef IStorage *LPSTORAGE;
typedef struct tagRemSNB {
unsigned long ulCntStr;
unsigned long ulCntChar;
OLECHAR rgString[1];
} RemSNB;
typedef RemSNB *wireSNB;
typedef OLECHAR **SNB;
/*****************************************************************************
* IStorage interface
*/
DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IStorage: IUnknown {
virtual HRESULT CALLBACK CreateStream(
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream** ppstm) = 0;
virtual HRESULT CALLBACK OpenStream(
LPCOLESTR pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream** ppstm) = 0;
virtual HRESULT CALLBACK CreateStorage(
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage** ppstg) = 0;
virtual HRESULT CALLBACK OpenStorage(
LPCOLESTR pwcsName,
IStorage* pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage** ppstg) = 0;
virtual HRESULT CALLBACK CopyTo(
DWORD ciidExclude,
const IID* rgiidExclude,
SNB snbExclude,
IStorage* pstgDest) = 0;
virtual HRESULT CALLBACK MoveElementTo(
LPCOLESTR pwcsName,
IStorage* pstgDest,
LPCOLESTR pwcsNewName,
DWORD grfFlags) = 0;
virtual HRESULT CALLBACK Commit(
DWORD grfCommitFlags) = 0;
virtual HRESULT CALLBACK Revert(
) = 0;
virtual HRESULT CALLBACK EnumElements(
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum) = 0;
virtual HRESULT CALLBACK DestroyElement(
LPCOLESTR pwcsName) = 0;
virtual HRESULT CALLBACK RenameElement(
LPCOLESTR pwcsOldName,
LPCOLESTR pwcsNewName) = 0;
virtual HRESULT CALLBACK SetElementTimes(
LPCOLESTR pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime) = 0;
virtual HRESULT CALLBACK SetClass(
REFCLSID clsid) = 0;
virtual HRESULT CALLBACK SetStateBits(
DWORD grfStateBits,
DWORD grfMask) = 0;
virtual HRESULT CALLBACK Stat(
STATSTG* pstatstg,
DWORD grfStatFlag) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IStorageVtbl IStorageVtbl;
struct IStorage {
const IStorageVtbl* lpVtbl;
};
struct IStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IStorage* This);
ULONG (CALLBACK *Release)(
IStorage* This);
/*** IStorage methods ***/
HRESULT (CALLBACK *CreateStream)(
IStorage* This,
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream** ppstm);
HRESULT (CALLBACK *OpenStream)(
IStorage* This,
LPCOLESTR pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream** ppstm);
HRESULT (CALLBACK *CreateStorage)(
IStorage* This,
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage** ppstg);
HRESULT (CALLBACK *OpenStorage)(
IStorage* This,
LPCOLESTR pwcsName,
IStorage* pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage** ppstg);
HRESULT (CALLBACK *CopyTo)(
IStorage* This,
DWORD ciidExclude,
const IID* rgiidExclude,
SNB snbExclude,
IStorage* pstgDest);
HRESULT (CALLBACK *MoveElementTo)(
IStorage* This,
LPCOLESTR pwcsName,
IStorage* pstgDest,
LPCOLESTR pwcsNewName,
DWORD grfFlags);
HRESULT (CALLBACK *Commit)(
IStorage* This,
DWORD grfCommitFlags);
HRESULT (CALLBACK *Revert)(
IStorage* This);
HRESULT (CALLBACK *EnumElements)(
IStorage* This,
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT (CALLBACK *DestroyElement)(
IStorage* This,
LPCOLESTR pwcsName);
HRESULT (CALLBACK *RenameElement)(
IStorage* This,
LPCOLESTR pwcsOldName,
LPCOLESTR pwcsNewName);
HRESULT (CALLBACK *SetElementTimes)(
IStorage* This,
LPCOLESTR pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
HRESULT (CALLBACK *SetClass)(
IStorage* This,
REFCLSID clsid);
HRESULT (CALLBACK *SetStateBits)(
IStorage* This,
DWORD grfStateBits,
DWORD grfMask);
HRESULT (CALLBACK *Stat)(
IStorage* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
};
#define IStorage_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,CreateStream,LPCOLESTR,pwcsName,DWORD,grfMode,DWORD,reserved1,DWORD,reserved2,IStream**,ppstm) \
ICOM_METHOD5 (HRESULT,OpenStream,LPCOLESTR,pwcsName,void*,reserved1,DWORD,grfMode,DWORD,reserved2,IStream**,ppstm) \
ICOM_METHOD5 (HRESULT,CreateStorage,LPCOLESTR,pwcsName,DWORD,grfMode,DWORD,dwStgFmt,DWORD,reserved2,IStorage**,ppstg) \
ICOM_METHOD6 (HRESULT,OpenStorage,LPCOLESTR,pwcsName,IStorage*,pstgPriority,DWORD,grfMode,SNB,snbExclude,DWORD,reserved,IStorage**,ppstg) \
ICOM_METHOD4 (HRESULT,CopyTo,DWORD,ciidExclude,const IID*,rgiidExclude,SNB,snbExclude,IStorage*,pstgDest) \
ICOM_METHOD4 (HRESULT,MoveElementTo,LPCOLESTR,pwcsName,IStorage*,pstgDest,LPCOLESTR,pwcsNewName,DWORD,grfFlags) \
ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD4 (HRESULT,EnumElements,DWORD,reserved1,void*,reserved2,DWORD,reserved3,IEnumSTATSTG**,ppenum) \
ICOM_METHOD1 (HRESULT,DestroyElement,LPCOLESTR,pwcsName) \
ICOM_METHOD2 (HRESULT,RenameElement,LPCOLESTR,pwcsOldName,LPCOLESTR,pwcsNewName) \
ICOM_METHOD4 (HRESULT,SetElementTimes,LPCOLESTR,pwcsName,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
ICOM_METHOD2 (HRESULT,SetStateBits,DWORD,grfStateBits,DWORD,grfMask) \
ICOM_METHOD2 (HRESULT,Stat,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
HRESULT CALLBACK IStorage_CreateStream_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream** ppstm);
void __RPC_STUB IStorage_CreateStream_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_RemoteOpenStream_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
unsigned long cbReserved1,
byte* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream** ppstm);
void __RPC_STUB IStorage_RemoteOpenStream_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_OpenStream_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream** ppstm);
HRESULT __RPC_STUB IStorage_OpenStream_Stub(
IStorage* This,
LPCOLESTR pwcsName,
unsigned long cbReserved1,
byte* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream** ppstm);
HRESULT CALLBACK IStorage_CreateStorage_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage** ppstg);
void __RPC_STUB IStorage_CreateStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_OpenStorage_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
IStorage* pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage** ppstg);
void __RPC_STUB IStorage_OpenStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_CopyTo_Proxy(
IStorage* This,
DWORD ciidExclude,
const IID* rgiidExclude,
SNB snbExclude,
IStorage* pstgDest);
void __RPC_STUB IStorage_CopyTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_MoveElementTo_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
IStorage* pstgDest,
LPCOLESTR pwcsNewName,
DWORD grfFlags);
void __RPC_STUB IStorage_MoveElementTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_Commit_Proxy(
IStorage* This,
DWORD grfCommitFlags);
void __RPC_STUB IStorage_Commit_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_Revert_Proxy(
IStorage* This);
void __RPC_STUB IStorage_Revert_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_RemoteEnumElements_Proxy(
IStorage* This,
DWORD reserved1,
unsigned long cbReserved2,
byte* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
void __RPC_STUB IStorage_RemoteEnumElements_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_EnumElements_Proxy(
IStorage* This,
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT __RPC_STUB IStorage_EnumElements_Stub(
IStorage* This,
DWORD reserved1,
unsigned long cbReserved2,
byte* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT CALLBACK IStorage_DestroyElement_Proxy(
IStorage* This,
LPCOLESTR pwcsName);
void __RPC_STUB IStorage_DestroyElement_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_RenameElement_Proxy(
IStorage* This,
LPCOLESTR pwcsOldName,
LPCOLESTR pwcsNewName);
void __RPC_STUB IStorage_RenameElement_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_SetElementTimes_Proxy(
IStorage* This,
LPCOLESTR pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
void __RPC_STUB IStorage_SetElementTimes_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_SetClass_Proxy(
IStorage* This,
REFCLSID clsid);
void __RPC_STUB IStorage_SetClass_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_SetStateBits_Proxy(
IStorage* This,
DWORD grfStateBits,
DWORD grfMask);
void __RPC_STUB IStorage_SetStateBits_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage_Stat_Proxy(
IStorage* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
void __RPC_STUB IStorage_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IStorage16 IStorage16;
typedef IStorage16 *LPSTORAGE16;
typedef struct tagRemSNB16 {
unsigned long ulCntStr;
unsigned long ulCntChar;
OLECHAR16 rgString[1];
} RemSNB16;
typedef RemSNB16 *wireSNB16;
typedef OLECHAR16 **SNB16;
/*****************************************************************************
* IStorage16 interface
*/
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IStorage16: IUnknown {
virtual HRESULT CALLBACK CreateStream(
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream16** ppstm) = 0;
virtual HRESULT CALLBACK OpenStream(
LPCOLESTR16 pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream16** ppstm) = 0;
virtual HRESULT CALLBACK CreateStorage(
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage16** ppstg) = 0;
virtual HRESULT CALLBACK OpenStorage(
LPCOLESTR16 pwcsName,
IStorage16* pstgPriority,
DWORD grfMode,
SNB16 snbExclude,
DWORD reserved,
IStorage16** ppstg) = 0;
virtual HRESULT CALLBACK CopyTo(
DWORD ciidExclude,
const IID* rgiidExclude,
SNB16 snbExclude,
IStorage16* pstgDest) = 0;
virtual HRESULT CALLBACK MoveElementTo(
LPCOLESTR16 pwcsName,
IStorage16* pstgDest,
LPCOLESTR16 pwcsNewName,
DWORD grfFlags) = 0;
virtual HRESULT CALLBACK Commit(
DWORD grfCommitFlags) = 0;
virtual HRESULT CALLBACK Revert(
) = 0;
virtual HRESULT CALLBACK EnumElements(
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum) = 0;
virtual HRESULT CALLBACK DestroyElement(
LPCOLESTR16 pwcsName) = 0;
virtual HRESULT CALLBACK RenameElement(
LPCOLESTR16 pwcsOldName,
LPCOLESTR16 pwcsNewName) = 0;
virtual HRESULT CALLBACK SetElementTimes(
LPCOLESTR16 pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime) = 0;
virtual HRESULT CALLBACK SetClass(
REFCLSID clsid) = 0;
virtual HRESULT CALLBACK SetStateBits(
DWORD grfStateBits,
DWORD grfMask) = 0;
virtual HRESULT CALLBACK Stat(
STATSTG* pstatstg,
DWORD grfStatFlag) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IStorage16Vtbl IStorage16Vtbl;
struct IStorage16 {
const IStorage16Vtbl* lpVtbl;
};
struct IStorage16Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IStorage16* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IStorage16* This);
ULONG (CALLBACK *Release)(
IStorage16* This);
/*** IStorage16 methods ***/
HRESULT (CALLBACK *CreateStream)(
IStorage16* This,
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream16** ppstm);
HRESULT (CALLBACK *OpenStream)(
IStorage16* This,
LPCOLESTR16 pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream16** ppstm);
HRESULT (CALLBACK *CreateStorage)(
IStorage16* This,
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage16** ppstg);
HRESULT (CALLBACK *OpenStorage)(
IStorage16* This,
LPCOLESTR16 pwcsName,
IStorage16* pstgPriority,
DWORD grfMode,
SNB16 snbExclude,
DWORD reserved,
IStorage16** ppstg);
HRESULT (CALLBACK *CopyTo)(
IStorage16* This,
DWORD ciidExclude,
const IID* rgiidExclude,
SNB16 snbExclude,
IStorage16* pstgDest);
HRESULT (CALLBACK *MoveElementTo)(
IStorage16* This,
LPCOLESTR16 pwcsName,
IStorage16* pstgDest,
LPCOLESTR16 pwcsNewName,
DWORD grfFlags);
HRESULT (CALLBACK *Commit)(
IStorage16* This,
DWORD grfCommitFlags);
HRESULT (CALLBACK *Revert)(
IStorage16* This);
HRESULT (CALLBACK *EnumElements)(
IStorage16* This,
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT (CALLBACK *DestroyElement)(
IStorage16* This,
LPCOLESTR16 pwcsName);
HRESULT (CALLBACK *RenameElement)(
IStorage16* This,
LPCOLESTR16 pwcsOldName,
LPCOLESTR16 pwcsNewName);
HRESULT (CALLBACK *SetElementTimes)(
IStorage16* This,
LPCOLESTR16 pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
HRESULT (CALLBACK *SetClass)(
IStorage16* This,
REFCLSID clsid);
HRESULT (CALLBACK *SetStateBits)(
IStorage16* This,
DWORD grfStateBits,
DWORD grfMask);
HRESULT (CALLBACK *Stat)(
IStorage16* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
};
#define IStorage16_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,CreateStream,LPCOLESTR16,pwcsName,DWORD,grfMode,DWORD,reserved1,DWORD,reserved2,IStream16**,ppstm) \
ICOM_METHOD5 (HRESULT,OpenStream,LPCOLESTR16,pwcsName,void*,reserved1,DWORD,grfMode,DWORD,reserved2,IStream16**,ppstm) \
ICOM_METHOD5 (HRESULT,CreateStorage,LPCOLESTR16,pwcsName,DWORD,grfMode,DWORD,dwStgFmt,DWORD,reserved2,IStorage16**,ppstg) \
ICOM_METHOD6 (HRESULT,OpenStorage,LPCOLESTR16,pwcsName,IStorage16*,pstgPriority,DWORD,grfMode,SNB16,snbExclude,DWORD,reserved,IStorage16**,ppstg) \
ICOM_METHOD4 (HRESULT,CopyTo,DWORD,ciidExclude,const IID*,rgiidExclude,SNB16,snbExclude,IStorage16*,pstgDest) \
ICOM_METHOD4 (HRESULT,MoveElementTo,LPCOLESTR16,pwcsName,IStorage16*,pstgDest,LPCOLESTR16,pwcsNewName,DWORD,grfFlags) \
ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD4 (HRESULT,EnumElements,DWORD,reserved1,void*,reserved2,DWORD,reserved3,IEnumSTATSTG**,ppenum) \
ICOM_METHOD1 (HRESULT,DestroyElement,LPCOLESTR16,pwcsName) \
ICOM_METHOD2 (HRESULT,RenameElement,LPCOLESTR16,pwcsOldName,LPCOLESTR16,pwcsNewName) \
ICOM_METHOD4 (HRESULT,SetElementTimes,LPCOLESTR16,pwcsName,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
ICOM_METHOD2 (HRESULT,SetStateBits,DWORD,grfStateBits,DWORD,grfMask) \
ICOM_METHOD2 (HRESULT,Stat,STATSTG*,pstatstg,DWORD,grfStatFlag)
/*** IUnknown methods ***/
#define IStorage16_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IStorage16_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IStorage16_Release(p) (p)->lpVtbl->Release(p)
/*** IStorage16 methods ***/
#define IStorage16_CreateStream(p,a,b,c,d,e) (p)->lpVtbl->CreateStream(p,a,b,c,d,e)
#define IStorage16_OpenStream(p,a,b,c,d,e) (p)->lpVtbl->OpenStream(p,a,b,c,d,e)
#define IStorage16_CreateStorage(p,a,b,c,d,e) (p)->lpVtbl->CreateStorage(p,a,b,c,d,e)
#define IStorage16_OpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->OpenStorage(p,a,b,c,d,e,f)
#define IStorage16_CopyTo(p,a,b,c,d) (p)->lpVtbl->CopyTo(p,a,b,c,d)
#define IStorage16_MoveElementTo(p,a,b,c,d) (p)->lpVtbl->MoveElementTo(p,a,b,c,d)
#define IStorage16_Commit(p,a) (p)->lpVtbl->Commit(p,a)
#define IStorage16_Revert(p) (p)->lpVtbl->Revert(p)
#define IStorage16_EnumElements(p,a,b,c,d) (p)->lpVtbl->EnumElements(p,a,b,c,d)
#define IStorage16_DestroyElement(p,a) (p)->lpVtbl->DestroyElement(p,a)
#define IStorage16_RenameElement(p,a,b) (p)->lpVtbl->RenameElement(p,a,b)
#define IStorage16_SetElementTimes(p,a,b,c,d) (p)->lpVtbl->SetElementTimes(p,a,b,c,d)
#define IStorage16_SetClass(p,a) (p)->lpVtbl->SetClass(p,a)
#define IStorage16_SetStateBits(p,a,b) (p)->lpVtbl->SetStateBits(p,a,b)
#define IStorage16_Stat(p,a,b) (p)->lpVtbl->Stat(p,a,b)
#endif
HRESULT CALLBACK IStorage16_CreateStream_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream16** ppstm);
void __RPC_STUB IStorage16_CreateStream_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_RemoteOpenStream_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
unsigned long cbReserved1,
byte* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream16** ppstm);
void __RPC_STUB IStorage16_RemoteOpenStream_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_OpenStream_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
void* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream16** ppstm);
HRESULT __RPC_STUB IStorage16_OpenStream_Stub(
IStorage16* This,
LPCOLESTR16 pwcsName,
unsigned long cbReserved1,
byte* reserved1,
DWORD grfMode,
DWORD reserved2,
IStream16** ppstm);
HRESULT CALLBACK IStorage16_CreateStorage_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
DWORD grfMode,
DWORD dwStgFmt,
DWORD reserved2,
IStorage16** ppstg);
void __RPC_STUB IStorage16_CreateStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_OpenStorage_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
IStorage16* pstgPriority,
DWORD grfMode,
SNB16 snbExclude,
DWORD reserved,
IStorage16** ppstg);
void __RPC_STUB IStorage16_OpenStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_CopyTo_Proxy(
IStorage16* This,
DWORD ciidExclude,
const IID* rgiidExclude,
SNB16 snbExclude,
IStorage16* pstgDest);
void __RPC_STUB IStorage16_CopyTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_MoveElementTo_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
IStorage16* pstgDest,
LPCOLESTR16 pwcsNewName,
DWORD grfFlags);
void __RPC_STUB IStorage16_MoveElementTo_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_Commit_Proxy(
IStorage16* This,
DWORD grfCommitFlags);
void __RPC_STUB IStorage16_Commit_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_Revert_Proxy(
IStorage16* This);
void __RPC_STUB IStorage16_Revert_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_RemoteEnumElements_Proxy(
IStorage16* This,
DWORD reserved1,
unsigned long cbReserved2,
byte* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
void __RPC_STUB IStorage16_RemoteEnumElements_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_EnumElements_Proxy(
IStorage16* This,
DWORD reserved1,
void* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT __RPC_STUB IStorage16_EnumElements_Stub(
IStorage16* This,
DWORD reserved1,
unsigned long cbReserved2,
byte* reserved2,
DWORD reserved3,
IEnumSTATSTG** ppenum);
HRESULT CALLBACK IStorage16_DestroyElement_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName);
void __RPC_STUB IStorage16_DestroyElement_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_RenameElement_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsOldName,
LPCOLESTR16 pwcsNewName);
void __RPC_STUB IStorage16_RenameElement_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_SetElementTimes_Proxy(
IStorage16* This,
LPCOLESTR16 pwcsName,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
void __RPC_STUB IStorage16_SetElementTimes_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_SetClass_Proxy(
IStorage16* This,
REFCLSID clsid);
void __RPC_STUB IStorage16_SetClass_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_SetStateBits_Proxy(
IStorage16* This,
DWORD grfStateBits,
DWORD grfMask);
void __RPC_STUB IStorage16_SetStateBits_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IStorage16_Stat_Proxy(
IStorage16* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
void __RPC_STUB IStorage16_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPersistFile IPersistFile;
typedef IPersistFile *LPPERSISTFILE;
/*****************************************************************************
* IPersistFile interface
*/
DEFINE_GUID(IID_IPersistFile, 0x0000010b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPersistFile: IPersist {
virtual HRESULT CALLBACK IsDirty(
) = 0;
virtual HRESULT CALLBACK Load(
LPCOLESTR pszFileName,
DWORD dwMode) = 0;
virtual HRESULT CALLBACK Save(
LPCOLESTR pszFileName,
BOOL fRemember) = 0;
virtual HRESULT CALLBACK SaveCompleted(
LPCOLESTR pszFileName) = 0;
virtual HRESULT CALLBACK GetCurFile(
LPOLESTR* ppszFileName) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPersistFileVtbl IPersistFileVtbl;
struct IPersistFile {
const IPersistFileVtbl* lpVtbl;
};
struct IPersistFileVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPersistFile* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPersistFile* This);
ULONG (CALLBACK *Release)(
IPersistFile* This);
/*** IPersist methods ***/
HRESULT (CALLBACK *GetClassID)(
IPersistFile* This,
CLSID* pClassID);
/*** IPersistFile methods ***/
HRESULT (CALLBACK *IsDirty)(
IPersistFile* This);
HRESULT (CALLBACK *Load)(
IPersistFile* This,
LPCOLESTR pszFileName,
DWORD dwMode);
HRESULT (CALLBACK *Save)(
IPersistFile* This,
LPCOLESTR pszFileName,
BOOL fRemember);
HRESULT (CALLBACK *SaveCompleted)(
IPersistFile* This,
LPCOLESTR pszFileName);
HRESULT (CALLBACK *GetCurFile)(
IPersistFile* This,
LPOLESTR* ppszFileName);
};
#define IPersistFile_IMETHODS \
IPersist_IMETHODS \
ICOM_METHOD (HRESULT,IsDirty) \
ICOM_METHOD2 (HRESULT,Load,LPCOLESTR,pszFileName,DWORD,dwMode) \
ICOM_METHOD2 (HRESULT,Save,LPCOLESTR,pszFileName,BOOL,fRemember) \
ICOM_METHOD1 (HRESULT,SaveCompleted,LPCOLESTR,pszFileName) \
ICOM_METHOD1 (HRESULT,GetCurFile,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
HRESULT CALLBACK IPersistFile_IsDirty_Proxy(
IPersistFile* This);
void __RPC_STUB IPersistFile_IsDirty_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistFile_Load_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName,
DWORD dwMode);
void __RPC_STUB IPersistFile_Load_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistFile_Save_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName,
BOOL fRemember);
void __RPC_STUB IPersistFile_Save_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistFile_SaveCompleted_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName);
void __RPC_STUB IPersistFile_SaveCompleted_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistFile_GetCurFile_Proxy(
IPersistFile* This,
LPOLESTR* ppszFileName);
void __RPC_STUB IPersistFile_GetCurFile_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPersistStorage IPersistStorage;
typedef IPersistStorage *LPPERSISTSTORAGE;
/*****************************************************************************
* IPersistStorage interface
*/
DEFINE_GUID(IID_IPersistStorage, 0x0000010a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPersistStorage: IPersist {
virtual HRESULT CALLBACK IsDirty(
) = 0;
virtual HRESULT CALLBACK InitNew(
IStorage* pStg) = 0;
virtual HRESULT CALLBACK Load(
IStorage* pStg) = 0;
virtual HRESULT CALLBACK Save(
IStorage* pStgSave,
BOOL fSameAsLoad) = 0;
virtual HRESULT CALLBACK SaveCompleted(
IStorage* pStgNew) = 0;
virtual HRESULT CALLBACK HandsOffStorage(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPersistStorageVtbl IPersistStorageVtbl;
struct IPersistStorage {
const IPersistStorageVtbl* lpVtbl;
};
struct IPersistStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPersistStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPersistStorage* This);
ULONG (CALLBACK *Release)(
IPersistStorage* This);
/*** IPersist methods ***/
HRESULT (CALLBACK *GetClassID)(
IPersistStorage* This,
CLSID* pClassID);
/*** IPersistStorage methods ***/
HRESULT (CALLBACK *IsDirty)(
IPersistStorage* This);
HRESULT (CALLBACK *InitNew)(
IPersistStorage* This,
IStorage* pStg);
HRESULT (CALLBACK *Load)(
IPersistStorage* This,
IStorage* pStg);
HRESULT (CALLBACK *Save)(
IPersistStorage* This,
IStorage* pStgSave,
BOOL fSameAsLoad);
HRESULT (CALLBACK *SaveCompleted)(
IPersistStorage* This,
IStorage* pStgNew);
HRESULT (CALLBACK *HandsOffStorage)(
IPersistStorage* This);
};
#define IPersistStorage_IMETHODS \
IPersist_IMETHODS \
ICOM_METHOD (HRESULT,IsDirty) \
ICOM_METHOD1 (HRESULT,InitNew,IStorage*,pStg) \
ICOM_METHOD1 (HRESULT,Load,IStorage*,pStg) \
ICOM_METHOD2 (HRESULT,Save,IStorage*,pStgSave,BOOL,fSameAsLoad) \
ICOM_METHOD1 (HRESULT,SaveCompleted,IStorage*,pStgNew) \
ICOM_METHOD (HRESULT,HandsOffStorage)
/*** 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
HRESULT CALLBACK IPersistStorage_IsDirty_Proxy(
IPersistStorage* This);
void __RPC_STUB IPersistStorage_IsDirty_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStorage_InitNew_Proxy(
IPersistStorage* This,
IStorage* pStg);
void __RPC_STUB IPersistStorage_InitNew_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStorage_Load_Proxy(
IPersistStorage* This,
IStorage* pStg);
void __RPC_STUB IPersistStorage_Load_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStorage_Save_Proxy(
IPersistStorage* This,
IStorage* pStgSave,
BOOL fSameAsLoad);
void __RPC_STUB IPersistStorage_Save_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStorage_SaveCompleted_Proxy(
IPersistStorage* This,
IStorage* pStgNew);
void __RPC_STUB IPersistStorage_SaveCompleted_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPersistStorage_HandsOffStorage_Proxy(
IPersistStorage* This);
void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRootStorage IRootStorage;
typedef IRootStorage *LPROOTSTORAGE;
/*****************************************************************************
* IRootStorage interface
*/
DEFINE_GUID(IID_IRootStorage, 0x00000012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRootStorage: IUnknown {
virtual HRESULT CALLBACK SwitchToFile(
LPOLESTR pszFile) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRootStorageVtbl IRootStorageVtbl;
struct IRootStorage {
const IRootStorageVtbl* lpVtbl;
};
struct IRootStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRootStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRootStorage* This);
ULONG (CALLBACK *Release)(
IRootStorage* This);
/*** IRootStorage methods ***/
HRESULT (CALLBACK *SwitchToFile)(
IRootStorage* This,
LPOLESTR pszFile);
};
#define IRootStorage_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,SwitchToFile,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
HRESULT CALLBACK IRootStorage_SwitchToFile_Proxy(
IRootStorage* This,
LPOLESTR pszFile);
void __RPC_STUB IRootStorage_SwitchToFile_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct ILockBytes ILockBytes;
typedef ILockBytes *LPLOCKBYTES;
/*****************************************************************************
* ILockBytes interface
*/
DEFINE_GUID(IID_ILockBytes, 0x0000000a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ILockBytes: IUnknown {
virtual HRESULT CALLBACK ReadAt(
ULARGE_INTEGER ulOffset,
void* pv,
ULONG cb,
ULONG* pcbRead) = 0;
virtual HRESULT CALLBACK WriteAt(
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten) = 0;
virtual HRESULT CALLBACK Flush(
) = 0;
virtual HRESULT CALLBACK SetSize(
ULARGE_INTEGER cb) = 0;
virtual HRESULT CALLBACK LockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK UnlockRegion(
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType) = 0;
virtual HRESULT CALLBACK Stat(
STATSTG* pstatstg,
DWORD grfStatFlag) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct ILockBytesVtbl ILockBytesVtbl;
struct ILockBytes {
const ILockBytesVtbl* lpVtbl;
};
struct ILockBytesVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
ILockBytes* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ILockBytes* This);
ULONG (CALLBACK *Release)(
ILockBytes* This);
/*** ILockBytes methods ***/
HRESULT (CALLBACK *ReadAt)(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT (CALLBACK *WriteAt)(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT (CALLBACK *Flush)(
ILockBytes* This);
HRESULT (CALLBACK *SetSize)(
ILockBytes* This,
ULARGE_INTEGER cb);
HRESULT (CALLBACK *LockRegion)(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *UnlockRegion)(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT (CALLBACK *Stat)(
ILockBytes* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
};
#define ILockBytes_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD4 (HRESULT,ReadAt,ULARGE_INTEGER,ulOffset,void*,pv,ULONG,cb,ULONG*,pcbRead) \
ICOM_METHOD4 (HRESULT,WriteAt,ULARGE_INTEGER,ulOffset,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
ICOM_METHOD (HRESULT,Flush) \
ICOM_METHOD1 (HRESULT,SetSize,ULARGE_INTEGER,cb) \
ICOM_METHOD3 (HRESULT,LockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD3 (HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset,ULARGE_INTEGER,cb,DWORD,dwLockType) \
ICOM_METHOD2 (HRESULT,Stat,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
HRESULT CALLBACK ILockBytes_RemoteReadAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
byte* pv,
ULONG cb,
ULONG* pcbRead);
void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_ReadAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
void* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT __RPC_STUB ILockBytes_ReadAt_Stub(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
byte* pv,
ULONG cb,
ULONG* pcbRead);
HRESULT CALLBACK ILockBytes_RemoteWriteAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_WriteAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT __RPC_STUB ILockBytes_WriteAt_Stub(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT CALLBACK ILockBytes_Flush_Proxy(
ILockBytes* This);
void __RPC_STUB ILockBytes_Flush_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_SetSize_Proxy(
ILockBytes* This,
ULARGE_INTEGER cb);
void __RPC_STUB ILockBytes_SetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_LockRegion_Proxy(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB ILockBytes_LockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_UnlockRegion_Proxy(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void __RPC_STUB ILockBytes_UnlockRegion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILockBytes_Stat_Proxy(
ILockBytes* This,
STATSTG* pstatstg,
DWORD grfStatFlag);
void __RPC_STUB ILockBytes_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IFillLockBytes IFillLockBytes;
/*****************************************************************************
* IFillLockBytes interface
*/
DEFINE_GUID(IID_IFillLockBytes, 0x99caf010, 0x415e, 0x11cf, 0x88,0x14, 0x00,0xaa,0x00,0xb5,0x69,0xf5);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IFillLockBytes: IUnknown {
virtual HRESULT CALLBACK FillAppend(
const void* pv,
ULONG cb,
ULONG* pcbWritten) = 0;
virtual HRESULT CALLBACK FillAt(
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten) = 0;
virtual HRESULT CALLBACK SetFillSize(
ULARGE_INTEGER ulSize) = 0;
virtual HRESULT CALLBACK Terminate(
BOOL bCanceled) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IFillLockBytesVtbl IFillLockBytesVtbl;
struct IFillLockBytes {
const IFillLockBytesVtbl* lpVtbl;
};
struct IFillLockBytesVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IFillLockBytes* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IFillLockBytes* This);
ULONG (CALLBACK *Release)(
IFillLockBytes* This);
/*** IFillLockBytes methods ***/
HRESULT (CALLBACK *FillAppend)(
IFillLockBytes* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT (CALLBACK *FillAt)(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT (CALLBACK *SetFillSize)(
IFillLockBytes* This,
ULARGE_INTEGER ulSize);
HRESULT (CALLBACK *Terminate)(
IFillLockBytes* This,
BOOL bCanceled);
};
#define IFillLockBytes_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,FillAppend,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
ICOM_METHOD4 (HRESULT,FillAt,ULARGE_INTEGER,ulOffset,const void*,pv,ULONG,cb,ULONG*,pcbWritten) \
ICOM_METHOD1 (HRESULT,SetFillSize,ULARGE_INTEGER,ulSize) \
ICOM_METHOD1 (HRESULT,Terminate,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
HRESULT CALLBACK IFillLockBytes_RemoteFillAppend_Proxy(
IFillLockBytes* This,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IFillLockBytes_FillAppend_Proxy(
IFillLockBytes* This,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT __RPC_STUB IFillLockBytes_FillAppend_Stub(
IFillLockBytes* This,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT CALLBACK IFillLockBytes_RemoteFillAt_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IFillLockBytes_FillAt_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const void* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT __RPC_STUB IFillLockBytes_FillAt_Stub(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const byte* pv,
ULONG cb,
ULONG* pcbWritten);
HRESULT CALLBACK IFillLockBytes_SetFillSize_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulSize);
void __RPC_STUB IFillLockBytes_SetFillSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IFillLockBytes_Terminate_Proxy(
IFillLockBytes* This,
BOOL bCanceled);
void __RPC_STUB IFillLockBytes_Terminate_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IProgressNotify IProgressNotify;
/*****************************************************************************
* IProgressNotify interface
*/
DEFINE_GUID(IID_IProgressNotify, 0xa9d758a0, 0x4617, 0x11cf, 0x95,0xfc, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IProgressNotify: IUnknown {
virtual HRESULT CALLBACK OnProgress(
DWORD dwProgressCurrent,
DWORD dwProgressMaximum,
BOOL fAccurate,
BOOL fOwner) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IProgressNotifyVtbl IProgressNotifyVtbl;
struct IProgressNotify {
const IProgressNotifyVtbl* lpVtbl;
};
struct IProgressNotifyVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IProgressNotify* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IProgressNotify* This);
ULONG (CALLBACK *Release)(
IProgressNotify* This);
/*** IProgressNotify methods ***/
HRESULT (CALLBACK *OnProgress)(
IProgressNotify* This,
DWORD dwProgressCurrent,
DWORD dwProgressMaximum,
BOOL fAccurate,
BOOL fOwner);
};
#define IProgressNotify_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD4 (HRESULT,OnProgress,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
HRESULT CALLBACK IProgressNotify_OnProgress_Proxy(
IProgressNotify* This,
DWORD dwProgressCurrent,
DWORD dwProgressMaximum,
BOOL fAccurate,
BOOL fOwner);
void __RPC_STUB IProgressNotify_OnProgress_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct ILayoutStorage ILayoutStorage;
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
/*****************************************************************************
* ILayoutStorage interface
*/
DEFINE_GUID(IID_ILayoutStorage, 0x0e6d4d90, 0x6738, 0x11cf, 0x96,0x08, 0x00,0xaa,0x00,0x68,0x0d,0xb4);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct ILayoutStorage: IUnknown {
virtual HRESULT CALLBACK LayoutScript(
StorageLayout* pStorageLayout,
DWORD nEntries,
DWORD glfInterleavedFlag) = 0;
virtual HRESULT CALLBACK BeginMonitor(
) = 0;
virtual HRESULT CALLBACK EndMonitor(
) = 0;
virtual HRESULT CALLBACK ReLayoutDocfile(
OLECHAR* pwcsNewDfName) = 0;
virtual HRESULT CALLBACK ReLayoutDocfileOnILockBytes(
ILockBytes* pILockBytes) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct ILayoutStorageVtbl ILayoutStorageVtbl;
struct ILayoutStorage {
const ILayoutStorageVtbl* lpVtbl;
};
struct ILayoutStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
ILayoutStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
ILayoutStorage* This);
ULONG (CALLBACK *Release)(
ILayoutStorage* This);
/*** ILayoutStorage methods ***/
HRESULT (CALLBACK *LayoutScript)(
ILayoutStorage* This,
StorageLayout* pStorageLayout,
DWORD nEntries,
DWORD glfInterleavedFlag);
HRESULT (CALLBACK *BeginMonitor)(
ILayoutStorage* This);
HRESULT (CALLBACK *EndMonitor)(
ILayoutStorage* This);
HRESULT (CALLBACK *ReLayoutDocfile)(
ILayoutStorage* This,
OLECHAR* pwcsNewDfName);
HRESULT (CALLBACK *ReLayoutDocfileOnILockBytes)(
ILayoutStorage* This,
ILockBytes* pILockBytes);
};
#define ILayoutStorage_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,LayoutScript,StorageLayout*,pStorageLayout,DWORD,nEntries,DWORD,glfInterleavedFlag) \
ICOM_METHOD (HRESULT,BeginMonitor) \
ICOM_METHOD (HRESULT,EndMonitor) \
ICOM_METHOD1 (HRESULT,ReLayoutDocfile,OLECHAR*,pwcsNewDfName) \
ICOM_METHOD1 (HRESULT,ReLayoutDocfileOnILockBytes,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
HRESULT CALLBACK ILayoutStorage_LayoutScript_Proxy(
ILayoutStorage* This,
StorageLayout* pStorageLayout,
DWORD nEntries,
DWORD glfInterleavedFlag);
void __RPC_STUB ILayoutStorage_LayoutScript_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILayoutStorage_BeginMonitor_Proxy(
ILayoutStorage* This);
void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILayoutStorage_EndMonitor_Proxy(
ILayoutStorage* This);
void __RPC_STUB ILayoutStorage_EndMonitor_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILayoutStorage_ReLayoutDocfile_Proxy(
ILayoutStorage* This,
OLECHAR* pwcsNewDfName);
void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
ILayoutStorage* This,
ILockBytes* pILockBytes);
void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumFORMATETC IEnumFORMATETC;
typedef IEnumFORMATETC *LPENUMFORMATETC;
typedef struct tagDVTARGETDEVICE {
DWORD tdSize;
WORD tdDriverNameOffset;
WORD tdDeviceNameOffset;
WORD tdPortNameOffset;
WORD tdExtDevmodeOffset;
BYTE tdData[1];
} DVTARGETDEVICE;
typedef CLIPFORMAT *LPCLIPFORMAT;
typedef struct tagFORMATETC {
CLIPFORMAT cfFormat;
DVTARGETDEVICE *ptd;
DWORD dwAspect;
LONG lindex;
DWORD tymed;
} FORMATETC, *LPFORMATETC;
/*****************************************************************************
* IEnumFORMATETC interface
*/
DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumFORMATETC: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
FORMATETC* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumFORMATETC** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumFORMATETCVtbl IEnumFORMATETCVtbl;
struct IEnumFORMATETC {
const IEnumFORMATETCVtbl* lpVtbl;
};
struct IEnumFORMATETCVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumFORMATETC* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumFORMATETC* This);
ULONG (CALLBACK *Release)(
IEnumFORMATETC* This);
/*** IEnumFORMATETC methods ***/
HRESULT (CALLBACK *Next)(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumFORMATETC* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumFORMATETC* This);
HRESULT (CALLBACK *Clone)(
IEnumFORMATETC* This,
IEnumFORMATETC** ppenum);
};
#define IEnumFORMATETC_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,FORMATETC*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumFORMATETC_RemoteNext_Proxy(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumFORMATETC_Skip_Proxy(
IEnumFORMATETC* This,
ULONG celt);
void __RPC_STUB IEnumFORMATETC_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumFORMATETC_Reset_Proxy(
IEnumFORMATETC* This);
void __RPC_STUB IEnumFORMATETC_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumFORMATETC_Clone_Proxy(
IEnumFORMATETC* This,
IEnumFORMATETC** ppenum);
void __RPC_STUB IEnumFORMATETC_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumSTATDATA IEnumSTATDATA;
typedef IEnumSTATDATA *LPENUMSTATDATA;
typedef enum tagADVF {
ADVF_NODATA = 1,
ADVF_PRIMEFIRST = 2,
ADVF_ONLYONCE = 4,
ADVF_DATAONSTOP = 64,
ADVFCACHE_NOHANDLER = 8,
ADVFCACHE_FORCEBUILTIN = 16,
ADVFCACHE_ONSAVE = 32
} ADVF;
typedef struct tagSTATDATA {
FORMATETC formatetc;
DWORD advf;
IAdviseSink *pAdvSink;
DWORD dwConnection;
} STATDATA, *LPSTATDATA;
/*****************************************************************************
* IEnumSTATDATA interface
*/
DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumSTATDATA: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
STATDATA* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumSTATDATA** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumSTATDATAVtbl IEnumSTATDATAVtbl;
struct IEnumSTATDATA {
const IEnumSTATDATAVtbl* lpVtbl;
};
struct IEnumSTATDATAVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumSTATDATA* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumSTATDATA* This);
ULONG (CALLBACK *Release)(
IEnumSTATDATA* This);
/*** IEnumSTATDATA methods ***/
HRESULT (CALLBACK *Next)(
IEnumSTATDATA* This,
ULONG celt,
STATDATA* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumSTATDATA* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumSTATDATA* This);
HRESULT (CALLBACK *Clone)(
IEnumSTATDATA* This,
IEnumSTATDATA** ppenum);
};
#define IEnumSTATDATA_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATDATA*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumSTATDATA_RemoteNext_Proxy(
IEnumSTATDATA* This,
ULONG celt,
STATDATA* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
IEnumSTATDATA* This,
ULONG celt,
STATDATA* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
IEnumSTATDATA* This,
ULONG celt,
STATDATA* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumSTATDATA_Skip_Proxy(
IEnumSTATDATA* This,
ULONG celt);
void __RPC_STUB IEnumSTATDATA_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATDATA_Reset_Proxy(
IEnumSTATDATA* This);
void __RPC_STUB IEnumSTATDATA_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATDATA_Clone_Proxy(
IEnumSTATDATA* This,
IEnumSTATDATA** ppenum);
void __RPC_STUB IEnumSTATDATA_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IAdviseSink *LPADVISESINK;
typedef enum tagTYMED {
TYMED_HGLOBAL = 1,
TYMED_FILE = 2,
TYMED_ISTREAM = 4,
TYMED_ISTORAGE = 8,
TYMED_GDI = 16,
TYMED_MFPICT = 32,
TYMED_ENHMF = 64,
TYMED_NULL = 0
} TYMED;
typedef struct tagRemSTGMEDIUM {
DWORD tymed;
DWORD dwHandleType;
unsigned long pData;
unsigned long pUnkForRelease;
unsigned long cbData;
byte data[1];
} RemSTGMEDIUM;
typedef struct tagSTGMEDIUM {
DWORD tymed;
union {
HBITMAP hBitmap;
HMETAFILEPICT hMetaFilePict;
HENHMETAFILE hEnhMetaFile;
HGLOBAL hGlobal;
LPOLESTR lpszFileName;
IStream *pstm;
IStorage *pstg;
} DUMMYUNIONNAME;
IUnknown *pUnkForRelease;
} uSTGMEDIUM;
typedef struct _GDI_OBJECT {
DWORD ObjectType;
union {
wireHBITMAP hBitmap;
wireHPALETTE hPalette;
wireHGLOBAL hGeneric;
} u;
} GDI_OBJECT;
typedef struct _userSTGMEDIUM {
struct _STGMEDIUM_UNION {
DWORD tymed;
union {
wireHMETAFILEPICT hMetaFilePict;
wireHENHMETAFILE hHEnhMetaFile;
GDI_OBJECT *hGdiHandle;
wireHGLOBAL hGlobal;
LPOLESTR lpszFileName;
BYTE_BLOB *pstm;
BYTE_BLOB *pstg;
} u;
} DUMMYSTRUCTNAME;
IUnknown *pUnkForRelease;
} userSTGMEDIUM;
typedef userSTGMEDIUM *wireSTGMEDIUM;
typedef uSTGMEDIUM STGMEDIUM;
typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
typedef STGMEDIUM 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;
/*****************************************************************************
* IAdviseSink interface
*/
DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IAdviseSink: IUnknown {
virtual void CALLBACK OnDataChange(
FORMATETC* pFormatetc,
STGMEDIUM* pStgmed) = 0;
virtual void CALLBACK OnViewChange(
DWORD dwAspect,
LONG lindex) = 0;
virtual void CALLBACK OnRename(
IMoniker* pmk) = 0;
virtual void CALLBACK OnSave(
) = 0;
virtual void CALLBACK OnClose(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IAdviseSinkVtbl IAdviseSinkVtbl;
struct IAdviseSink {
const IAdviseSinkVtbl* lpVtbl;
};
struct IAdviseSinkVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IAdviseSink* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IAdviseSink* This);
ULONG (CALLBACK *Release)(
IAdviseSink* This);
/*** IAdviseSink methods ***/
void (CALLBACK *OnDataChange)(
IAdviseSink* This,
FORMATETC* pFormatetc,
STGMEDIUM* pStgmed);
void (CALLBACK *OnViewChange)(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void (CALLBACK *OnRename)(
IAdviseSink* This,
IMoniker* pmk);
void (CALLBACK *OnSave)(
IAdviseSink* This);
void (CALLBACK *OnClose)(
IAdviseSink* This);
};
#define IAdviseSink_IMETHODS \
IUnknown_IMETHODS \
ICOM_VMETHOD2(OnDataChange,FORMATETC*,pFormatetc,STGMEDIUM*,pStgmed) \
ICOM_VMETHOD2(OnViewChange,DWORD,dwAspect,LONG,lindex) \
ICOM_VMETHOD1(OnRename,IMoniker*,pmk) \
ICOM_VMETHOD (OnSave) \
ICOM_VMETHOD (OnClose)
/*** 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
HRESULT CALLBACK IAdviseSink_RemoteOnDataChange_Proxy(
IAdviseSink* This,
IAsyncManager** ppIAM,
FORMATETC* pFormatetc,
ASYNC_STGMEDIUM* pStgmed);
void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink_OnDataChange_Proxy(
IAdviseSink* This,
FORMATETC* pFormatetc,
STGMEDIUM* pStgmed);
HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
IAdviseSink* This,
IAsyncManager** ppIAM,
FORMATETC* pFormatetc,
ASYNC_STGMEDIUM* pStgmed);
HRESULT CALLBACK IAdviseSink_RemoteOnViewChange_Proxy(
IAdviseSink* This,
IAsyncManager** ppIAM,
DWORD dwAspect,
LONG lindex);
void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink_OnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
IAdviseSink* This,
IAsyncManager** ppIAM,
DWORD dwAspect,
LONG lindex);
HRESULT CALLBACK IAdviseSink_RemoteOnRename_Proxy(
IAdviseSink* This,
IAsyncManager** ppIAM,
IMoniker* pmk);
void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink_OnRename_Proxy(
IAdviseSink* This,
IMoniker* pmk);
HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
IAdviseSink* This,
IAsyncManager** ppIAM,
IMoniker* pmk);
HRESULT CALLBACK IAdviseSink_RemoteOnSave_Proxy(
IAdviseSink* This,
IAsyncManager** ppIAM);
void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink_OnSave_Proxy(
IAdviseSink* This);
HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
IAdviseSink* This,
IAsyncManager** ppIAM);
HRESULT CALLBACK IAdviseSink_RemoteOnClose_Proxy(
IAdviseSink* This);
void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink_OnClose_Proxy(
IAdviseSink* This);
HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
IAdviseSink* This);
typedef struct IAdviseSink2 IAdviseSink2;
typedef IAdviseSink2 *LPADVISESINK2;
/*****************************************************************************
* IAdviseSink2 interface
*/
DEFINE_GUID(IID_IAdviseSink2, 0x00000125, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IAdviseSink2: IAdviseSink {
virtual void CALLBACK OnLinkSrcChange(
IMoniker* pmk) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IAdviseSink2Vtbl IAdviseSink2Vtbl;
struct IAdviseSink2 {
const IAdviseSink2Vtbl* lpVtbl;
};
struct IAdviseSink2Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IAdviseSink2* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IAdviseSink2* This);
ULONG (CALLBACK *Release)(
IAdviseSink2* This);
/*** IAdviseSink methods ***/
void (CALLBACK *OnDataChange)(
IAdviseSink2* This,
FORMATETC* pFormatetc,
STGMEDIUM* pStgmed);
void (CALLBACK *OnViewChange)(
IAdviseSink2* This,
DWORD dwAspect,
LONG lindex);
void (CALLBACK *OnRename)(
IAdviseSink2* This,
IMoniker* pmk);
void (CALLBACK *OnSave)(
IAdviseSink2* This);
void (CALLBACK *OnClose)(
IAdviseSink2* This);
/*** IAdviseSink2 methods ***/
void (CALLBACK *OnLinkSrcChange)(
IAdviseSink2* This,
IMoniker* pmk);
};
#define IAdviseSink2_IMETHODS \
IAdviseSink_IMETHODS \
ICOM_VMETHOD1(OnLinkSrcChange,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
HRESULT CALLBACK IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
IAdviseSink2* This,
IAsyncManager** ppIAM,
IMoniker* pmk);
void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IAdviseSink2_OnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker* pmk);
HRESULT __RPC_STUB IAdviseSink2_OnLinkSrcChange_Stub(
IAdviseSink2* This,
IAsyncManager** ppIAM,
IMoniker* pmk);
typedef struct IDataObject IDataObject;
typedef IDataObject *LPDATAOBJECT;
typedef enum tagDATADIR {
DATADIR_GET = 1,
DATADIR_SET = 2
} DATADIR;
/*****************************************************************************
* IDataObject interface
*/
DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IDataObject: IUnknown {
virtual HRESULT CALLBACK GetData(
FORMATETC* pformatetcIn,
STGMEDIUM* pmedium) = 0;
virtual HRESULT CALLBACK GetDataHere(
FORMATETC* pformatetc,
STGMEDIUM* pmedium) = 0;
virtual HRESULT CALLBACK QueryGetData(
FORMATETC* pformatetc) = 0;
virtual HRESULT CALLBACK GetCanonicalFormatEtc(
FORMATETC* pformatectIn,
FORMATETC* pformatetcOut) = 0;
virtual HRESULT CALLBACK SetData(
FORMATETC* pformatetc,
STGMEDIUM* pmedium,
BOOL fRelease) = 0;
virtual HRESULT CALLBACK EnumFormatEtc(
DWORD dwDirection,
IEnumFORMATETC** ppenumFormatEtc) = 0;
virtual HRESULT CALLBACK DAdvise(
FORMATETC* pformatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection) = 0;
virtual HRESULT CALLBACK DUnadvise(
DWORD dwConnection) = 0;
virtual HRESULT CALLBACK EnumDAdvise(
IEnumSTATDATA** ppenumAdvise) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IDataObjectVtbl IDataObjectVtbl;
struct IDataObject {
const IDataObjectVtbl* lpVtbl;
};
struct IDataObjectVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IDataObject* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IDataObject* This);
ULONG (CALLBACK *Release)(
IDataObject* This);
/*** IDataObject methods ***/
HRESULT (CALLBACK *GetData)(
IDataObject* This,
FORMATETC* pformatetcIn,
STGMEDIUM* pmedium);
HRESULT (CALLBACK *GetDataHere)(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pmedium);
HRESULT (CALLBACK *QueryGetData)(
IDataObject* This,
FORMATETC* pformatetc);
HRESULT (CALLBACK *GetCanonicalFormatEtc)(
IDataObject* This,
FORMATETC* pformatectIn,
FORMATETC* pformatetcOut);
HRESULT (CALLBACK *SetData)(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pmedium,
BOOL fRelease);
HRESULT (CALLBACK *EnumFormatEtc)(
IDataObject* This,
DWORD dwDirection,
IEnumFORMATETC** ppenumFormatEtc);
HRESULT (CALLBACK *DAdvise)(
IDataObject* This,
FORMATETC* pformatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection);
HRESULT (CALLBACK *DUnadvise)(
IDataObject* This,
DWORD dwConnection);
HRESULT (CALLBACK *EnumDAdvise)(
IDataObject* This,
IEnumSTATDATA** ppenumAdvise);
};
#define IDataObject_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD2 (HRESULT,GetData,FORMATETC*,pformatetcIn,STGMEDIUM*,pmedium) \
ICOM_METHOD2 (HRESULT,GetDataHere,FORMATETC*,pformatetc,STGMEDIUM*,pmedium) \
ICOM_METHOD1 (HRESULT,QueryGetData,FORMATETC*,pformatetc) \
ICOM_METHOD2 (HRESULT,GetCanonicalFormatEtc,FORMATETC*,pformatectIn,FORMATETC*,pformatetcOut) \
ICOM_METHOD3 (HRESULT,SetData,FORMATETC*,pformatetc,STGMEDIUM*,pmedium,BOOL,fRelease) \
ICOM_METHOD2 (HRESULT,EnumFormatEtc,DWORD,dwDirection,IEnumFORMATETC**,ppenumFormatEtc) \
ICOM_METHOD4 (HRESULT,DAdvise,FORMATETC*,pformatetc,DWORD,advf,IAdviseSink*,pAdvSink,DWORD*,pdwConnection) \
ICOM_METHOD1 (HRESULT,DUnadvise,DWORD,dwConnection) \
ICOM_METHOD1 (HRESULT,EnumDAdvise,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
HRESULT CALLBACK IDataObject_RemoteGetData_Proxy(
IDataObject* This,
FORMATETC* pformatetcIn,
STGMEDIUM* pRemoteMedium);
void __RPC_STUB IDataObject_RemoteGetData_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_GetData_Proxy(
IDataObject* This,
FORMATETC* pformatetcIn,
STGMEDIUM* pmedium);
HRESULT __RPC_STUB IDataObject_GetData_Stub(
IDataObject* This,
FORMATETC* pformatetcIn,
STGMEDIUM* pRemoteMedium);
HRESULT CALLBACK IDataObject_RemoteGetDataHere_Proxy(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pRemoteMedium);
void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pmedium);
HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pRemoteMedium);
HRESULT CALLBACK IDataObject_QueryGetData_Proxy(
IDataObject* This,
FORMATETC* pformatetc);
void __RPC_STUB IDataObject_QueryGetData_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_GetCanonicalFormatEtc_Proxy(
IDataObject* This,
FORMATETC* pformatectIn,
FORMATETC* pformatetcOut);
void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_RemoteSetData_Proxy(
IDataObject* This,
FORMATETC* pformatetc,
FLAG_STGMEDIUM* pmedium,
BOOL fRelease);
void __RPC_STUB IDataObject_RemoteSetData_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_SetData_Proxy(
IDataObject* This,
FORMATETC* pformatetc,
STGMEDIUM* pmedium,
BOOL fRelease);
HRESULT __RPC_STUB IDataObject_SetData_Stub(
IDataObject* This,
FORMATETC* pformatetc,
FLAG_STGMEDIUM* pmedium,
BOOL fRelease);
HRESULT CALLBACK IDataObject_EnumFormatEtc_Proxy(
IDataObject* This,
DWORD dwDirection,
IEnumFORMATETC** ppenumFormatEtc);
void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_DAdvise_Proxy(
IDataObject* This,
FORMATETC* pformatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection);
void __RPC_STUB IDataObject_DAdvise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_DUnadvise_Proxy(
IDataObject* This,
DWORD dwConnection);
void __RPC_STUB IDataObject_DUnadvise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataObject_EnumDAdvise_Proxy(
IDataObject* This,
IEnumSTATDATA** ppenumAdvise);
void __RPC_STUB IDataObject_EnumDAdvise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IDataAdviseHolder IDataAdviseHolder;
typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
/*****************************************************************************
* IDataAdviseHolder interface
*/
DEFINE_GUID(IID_IDataAdviseHolder, 0x00000110, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IDataAdviseHolder: IUnknown {
virtual HRESULT CALLBACK Advise(
IDataObject* pDataObject,
FORMATETC* pFetc,
DWORD advf,
IAdviseSink* pAdvise,
DWORD* pdwConnection) = 0;
virtual HRESULT CALLBACK Unadvise(
DWORD dwConnection) = 0;
virtual HRESULT CALLBACK EnumAdvise(
IEnumSTATDATA** ppenumAdvise) = 0;
virtual HRESULT CALLBACK SendOnDataChange(
IDataObject* pDataObject,
DWORD dwReserved,
DWORD advf) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IDataAdviseHolderVtbl IDataAdviseHolderVtbl;
struct IDataAdviseHolder {
const IDataAdviseHolderVtbl* lpVtbl;
};
struct IDataAdviseHolderVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IDataAdviseHolder* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IDataAdviseHolder* This);
ULONG (CALLBACK *Release)(
IDataAdviseHolder* This);
/*** IDataAdviseHolder methods ***/
HRESULT (CALLBACK *Advise)(
IDataAdviseHolder* This,
IDataObject* pDataObject,
FORMATETC* pFetc,
DWORD advf,
IAdviseSink* pAdvise,
DWORD* pdwConnection);
HRESULT (CALLBACK *Unadvise)(
IDataAdviseHolder* This,
DWORD dwConnection);
HRESULT (CALLBACK *EnumAdvise)(
IDataAdviseHolder* This,
IEnumSTATDATA** ppenumAdvise);
HRESULT (CALLBACK *SendOnDataChange)(
IDataAdviseHolder* This,
IDataObject* pDataObject,
DWORD dwReserved,
DWORD advf);
};
#define IDataAdviseHolder_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,Advise,IDataObject*,pDataObject,FORMATETC*,pFetc,DWORD,advf,IAdviseSink*,pAdvise,DWORD*,pdwConnection) \
ICOM_METHOD1 (HRESULT,Unadvise,DWORD,dwConnection) \
ICOM_METHOD1 (HRESULT,EnumAdvise,IEnumSTATDATA**,ppenumAdvise) \
ICOM_METHOD3 (HRESULT,SendOnDataChange,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
HRESULT CALLBACK IDataAdviseHolder_Advise_Proxy(
IDataAdviseHolder* This,
IDataObject* pDataObject,
FORMATETC* pFetc,
DWORD advf,
IAdviseSink* pAdvise,
DWORD* pdwConnection);
void __RPC_STUB IDataAdviseHolder_Advise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataAdviseHolder_Unadvise_Proxy(
IDataAdviseHolder* This,
DWORD dwConnection);
void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataAdviseHolder_EnumAdvise_Proxy(
IDataAdviseHolder* This,
IEnumSTATDATA** ppenumAdvise);
void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IDataAdviseHolder_SendOnDataChange_Proxy(
IDataAdviseHolder* This,
IDataObject* pDataObject,
DWORD dwReserved,
DWORD advf);
void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IMessageFilter IMessageFilter;
typedef IMessageFilter *LPMESSAGEFILTER;
typedef enum tagCALLTYPE {
CALLTYPE_TOPLEVEL = 1,
CALLTYPE_NESTED = 2,
CALLTYPE_ASYNC = 3,
CALLTYPE_TOPLEVEL_CALLPENDING = 4,
CALLTYPE_ASYNC_CALLPENDING = 5
} CALLTYPE;
typedef enum tagSERVERCALL {
SERVERCALL_ISHANDLED = 0,
SERVERCALL_REJECTED = 1,
SERVERCALL_RETRYLATER = 2
} SERVERCALL;
typedef enum tagPENDINGTYPE {
PENDINGTYPE_TOPLEVEL = 1,
PENDINGTYPE_NESTED = 2
} PENDINGTYPE;
typedef enum tagPENDINGMSG {
PENDINGMSG_CANCELCALL = 0,
PENDINGMSG_WAITNOPROCESS = 1,
PENDINGMSG_WAITDEFPROCESS = 2
} PENDINGMSG;
typedef struct tagINTERFACEINFO {
IUnknown *pUnk;
IID iid;
WORD wMethod;
} INTERFACEINFO, *LPINTERFACEINFO;
/*****************************************************************************
* IMessageFilter interface
*/
DEFINE_GUID(IID_IMessageFilter, 0x00000016, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IMessageFilter: IUnknown {
virtual DWORD CALLBACK HandleInComingCall(
DWORD dwCallType,
HTASK htaskCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo) = 0;
virtual DWORD CALLBACK RetryRejectedCall(
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwRejectType) = 0;
virtual DWORD CALLBACK MessagePending(
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwPendingType) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IMessageFilterVtbl IMessageFilterVtbl;
struct IMessageFilter {
const IMessageFilterVtbl* lpVtbl;
};
struct IMessageFilterVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IMessageFilter* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IMessageFilter* This);
ULONG (CALLBACK *Release)(
IMessageFilter* This);
/*** IMessageFilter methods ***/
DWORD (CALLBACK *HandleInComingCall)(
IMessageFilter* This,
DWORD dwCallType,
HTASK htaskCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo);
DWORD (CALLBACK *RetryRejectedCall)(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwRejectType);
DWORD (CALLBACK *MessagePending)(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwPendingType);
};
#define IMessageFilter_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD4 (DWORD,HandleInComingCall,DWORD,dwCallType,HTASK,htaskCaller,DWORD,dwTickCount,LPINTERFACEINFO,lpInterfaceInfo) \
ICOM_METHOD3 (DWORD,RetryRejectedCall,HTASK,htaskCallee,DWORD,dwTickCount,DWORD,dwRejectType) \
ICOM_METHOD3 (DWORD,MessagePending,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
DWORD CALLBACK IMessageFilter_HandleInComingCall_Proxy(
IMessageFilter* This,
DWORD dwCallType,
HTASK htaskCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo);
void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
DWORD CALLBACK IMessageFilter_RetryRejectedCall_Proxy(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwRejectType);
void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
DWORD CALLBACK IMessageFilter_MessagePending_Proxy(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwPendingType);
void __RPC_STUB IMessageFilter_MessagePending_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRpcChannelBuffer IRpcChannelBuffer;
typedef IRpcChannelBuffer *LPRPCCHANNELBUFFER;
typedef unsigned long RPCOLEDATAREP;
typedef struct tagRPCOLEMESSAGE {
void *reserved1;
RPCOLEDATAREP dataRepresentation;
void *Buffer;
ULONG cbBuffer;
ULONG iMethod;
void *reserved2[5];
ULONG rpcFlags;
} RPCOLEMESSAGE;
typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
/*****************************************************************************
* IRpcChannelBuffer interface
*/
DEFINE_GUID(IID_IRpcChannelBuffer, 0xd5f56b60, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRpcChannelBuffer: IUnknown {
virtual HRESULT CALLBACK GetBuffer(
RPCOLEMESSAGE* pMessage,
REFIID riid) = 0;
virtual HRESULT CALLBACK SendReceive(
RPCOLEMESSAGE* pMessage,
ULONG* pStatus) = 0;
virtual HRESULT CALLBACK FreeBuffer(
RPCOLEMESSAGE* pMessage) = 0;
virtual HRESULT CALLBACK GetDestCtx(
DWORD* pdwDestContext,
void** ppvDestContext) = 0;
virtual HRESULT CALLBACK IsConnected(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRpcChannelBufferVtbl IRpcChannelBufferVtbl;
struct IRpcChannelBuffer {
const IRpcChannelBufferVtbl* lpVtbl;
};
struct IRpcChannelBufferVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRpcChannelBuffer* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRpcChannelBuffer* This);
ULONG (CALLBACK *Release)(
IRpcChannelBuffer* This);
/*** IRpcChannelBuffer methods ***/
HRESULT (CALLBACK *GetBuffer)(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage,
REFIID riid);
HRESULT (CALLBACK *SendReceive)(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage,
ULONG* pStatus);
HRESULT (CALLBACK *FreeBuffer)(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage);
HRESULT (CALLBACK *GetDestCtx)(
IRpcChannelBuffer* This,
DWORD* pdwDestContext,
void** ppvDestContext);
HRESULT (CALLBACK *IsConnected)(
IRpcChannelBuffer* This);
};
#define IRpcChannelBuffer_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD2 (HRESULT,GetBuffer,RPCOLEMESSAGE*,pMessage,REFIID,riid) \
ICOM_METHOD2 (HRESULT,SendReceive,RPCOLEMESSAGE*,pMessage,ULONG*,pStatus) \
ICOM_METHOD1 (HRESULT,FreeBuffer,RPCOLEMESSAGE*,pMessage) \
ICOM_METHOD2 (HRESULT,GetDestCtx,DWORD*,pdwDestContext,void**,ppvDestContext) \
ICOM_METHOD (HRESULT,IsConnected)
/*** 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
HRESULT CALLBACK IRpcChannelBuffer_GetBuffer_Proxy(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage,
REFIID riid);
void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer_SendReceive_Proxy(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage,
ULONG* pStatus);
void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer_FreeBuffer_Proxy(
IRpcChannelBuffer* This,
RPCOLEMESSAGE* pMessage);
void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer_GetDestCtx_Proxy(
IRpcChannelBuffer* This,
DWORD* pdwDestContext,
void** ppvDestContext);
void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer_IsConnected_Proxy(
IRpcChannelBuffer* This);
void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
typedef IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2;
/*****************************************************************************
* IRpcChannelBuffer2 interface
*/
DEFINE_GUID(IID_IRpcChannelBuffer2, 0x594f31d0, 0x7f19, 0x11d0, 0xb1,0x94, 0x00,0xa0,0xc9,0x0d,0xc8,0xbf);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRpcChannelBuffer2: IRpcChannelBuffer {
virtual HRESULT CALLBACK GetProtocolVersion(
DWORD* pdwVersion) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRpcChannelBuffer2Vtbl IRpcChannelBuffer2Vtbl;
struct IRpcChannelBuffer2 {
const IRpcChannelBuffer2Vtbl* lpVtbl;
};
struct IRpcChannelBuffer2Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRpcChannelBuffer2* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRpcChannelBuffer2* This);
ULONG (CALLBACK *Release)(
IRpcChannelBuffer2* This);
/*** IRpcChannelBuffer methods ***/
HRESULT (CALLBACK *GetBuffer)(
IRpcChannelBuffer2* This,
RPCOLEMESSAGE* pMessage,
REFIID riid);
HRESULT (CALLBACK *SendReceive)(
IRpcChannelBuffer2* This,
RPCOLEMESSAGE* pMessage,
ULONG* pStatus);
HRESULT (CALLBACK *FreeBuffer)(
IRpcChannelBuffer2* This,
RPCOLEMESSAGE* pMessage);
HRESULT (CALLBACK *GetDestCtx)(
IRpcChannelBuffer2* This,
DWORD* pdwDestContext,
void** ppvDestContext);
HRESULT (CALLBACK *IsConnected)(
IRpcChannelBuffer2* This);
/*** IRpcChannelBuffer2 methods ***/
HRESULT (CALLBACK *GetProtocolVersion)(
IRpcChannelBuffer2* This,
DWORD* pdwVersion);
};
#define IRpcChannelBuffer2_IMETHODS \
IRpcChannelBuffer_IMETHODS \
ICOM_METHOD1 (HRESULT,GetProtocolVersion,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
HRESULT CALLBACK IRpcChannelBuffer2_GetProtocolVersion_Proxy(
IRpcChannelBuffer2* This,
DWORD* pdwVersion);
void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
typedef IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3;
/*****************************************************************************
* IRpcChannelBuffer3 interface
*/
DEFINE_GUID(IID_IRpcChannelBuffer3, 0x25b15600, 0x0115, 0x11d0, 0xbf,0x0d, 0x00,0xaa,0x00,0xb8,0xdf,0xd2);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRpcChannelBuffer3: IRpcChannelBuffer2 {
virtual HRESULT CALLBACK Send(
RPCOLEMESSAGE* pMsg,
ULONG* pulStatus) = 0;
virtual HRESULT CALLBACK Receive(
RPCOLEMESSAGE* pMsg,
ULONG ulSize,
ULONG* pulStatus) = 0;
virtual HRESULT CALLBACK Cancel(
RPCOLEMESSAGE* pMsg) = 0;
virtual HRESULT CALLBACK GetCallContext(
RPCOLEMESSAGE* pMsg,
REFIID riid,
void** pInterface) = 0;
virtual HRESULT CALLBACK GetDestCtxEx(
RPCOLEMESSAGE* pMsg,
DWORD* pdwDestContext,
void** ppvDestContext) = 0;
virtual HRESULT CALLBACK GetState(
RPCOLEMESSAGE* pMsg,
DWORD* pState) = 0;
virtual HRESULT CALLBACK RegisterAsync(
RPCOLEMESSAGE* pMsg,
IAsyncManager* pAsyncMgr) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRpcChannelBuffer3Vtbl IRpcChannelBuffer3Vtbl;
struct IRpcChannelBuffer3 {
const IRpcChannelBuffer3Vtbl* lpVtbl;
};
struct IRpcChannelBuffer3Vtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRpcChannelBuffer3* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRpcChannelBuffer3* This);
ULONG (CALLBACK *Release)(
IRpcChannelBuffer3* This);
/*** IRpcChannelBuffer methods ***/
HRESULT (CALLBACK *GetBuffer)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMessage,
REFIID riid);
HRESULT (CALLBACK *SendReceive)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMessage,
ULONG* pStatus);
HRESULT (CALLBACK *FreeBuffer)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMessage);
HRESULT (CALLBACK *GetDestCtx)(
IRpcChannelBuffer3* This,
DWORD* pdwDestContext,
void** ppvDestContext);
HRESULT (CALLBACK *IsConnected)(
IRpcChannelBuffer3* This);
/*** IRpcChannelBuffer2 methods ***/
HRESULT (CALLBACK *GetProtocolVersion)(
IRpcChannelBuffer3* This,
DWORD* pdwVersion);
/*** IRpcChannelBuffer3 methods ***/
HRESULT (CALLBACK *Send)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
ULONG* pulStatus);
HRESULT (CALLBACK *Receive)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
ULONG ulSize,
ULONG* pulStatus);
HRESULT (CALLBACK *Cancel)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg);
HRESULT (CALLBACK *GetCallContext)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
REFIID riid,
void** pInterface);
HRESULT (CALLBACK *GetDestCtxEx)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
DWORD* pdwDestContext,
void** ppvDestContext);
HRESULT (CALLBACK *GetState)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
DWORD* pState);
HRESULT (CALLBACK *RegisterAsync)(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
IAsyncManager* pAsyncMgr);
};
#define IRpcChannelBuffer3_IMETHODS \
IRpcChannelBuffer2_IMETHODS \
ICOM_METHOD2 (HRESULT,Send,RPCOLEMESSAGE*,pMsg,ULONG*,pulStatus) \
ICOM_METHOD3 (HRESULT,Receive,RPCOLEMESSAGE*,pMsg,ULONG,ulSize,ULONG*,pulStatus) \
ICOM_METHOD1 (HRESULT,Cancel,RPCOLEMESSAGE*,pMsg) \
ICOM_METHOD3 (HRESULT,GetCallContext,RPCOLEMESSAGE*,pMsg,REFIID,riid,void**,pInterface) \
ICOM_METHOD3 (HRESULT,GetDestCtxEx,RPCOLEMESSAGE*,pMsg,DWORD*,pdwDestContext,void**,ppvDestContext) \
ICOM_METHOD2 (HRESULT,GetState,RPCOLEMESSAGE*,pMsg,DWORD*,pState) \
ICOM_METHOD2 (HRESULT,RegisterAsync,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
HRESULT CALLBACK IRpcChannelBuffer3_Send_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
ULONG* pulStatus);
void __RPC_STUB IRpcChannelBuffer3_Send_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_Receive_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
ULONG ulSize,
ULONG* pulStatus);
void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_Cancel_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg);
void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_GetCallContext_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
REFIID riid,
void** pInterface);
void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_GetDestCtxEx_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
DWORD* pdwDestContext,
void** ppvDestContext);
void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_GetState_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
DWORD* pState);
void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcChannelBuffer3_RegisterAsync_Proxy(
IRpcChannelBuffer3* This,
RPCOLEMESSAGE* pMsg,
IAsyncManager* pAsyncMgr);
void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRpcProxyBuffer IRpcProxyBuffer;
typedef IRpcProxyBuffer *LPRPCPROXYBUFFER;
/*****************************************************************************
* IRpcProxyBuffer interface
*/
DEFINE_GUID(IID_IRpcProxyBuffer, 0xd5f56a34, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRpcProxyBuffer: IUnknown {
virtual HRESULT CALLBACK Connect(
IRpcChannelBuffer* pRpcChannelBuffer) = 0;
virtual void CALLBACK Disconnect(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRpcProxyBufferVtbl IRpcProxyBufferVtbl;
struct IRpcProxyBuffer {
const IRpcProxyBufferVtbl* lpVtbl;
};
struct IRpcProxyBufferVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRpcProxyBuffer* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRpcProxyBuffer* This);
ULONG (CALLBACK *Release)(
IRpcProxyBuffer* This);
/*** IRpcProxyBuffer methods ***/
HRESULT (CALLBACK *Connect)(
IRpcProxyBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer);
void (CALLBACK *Disconnect)(
IRpcProxyBuffer* This);
};
#define IRpcProxyBuffer_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,Connect,IRpcChannelBuffer*,pRpcChannelBuffer) \
ICOM_VMETHOD (Disconnect)
/*** 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
HRESULT CALLBACK IRpcProxyBuffer_Connect_Proxy(
IRpcProxyBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer);
void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IRpcProxyBuffer_Disconnect_Proxy(
IRpcProxyBuffer* This);
void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IRpcStubBuffer IRpcStubBuffer;
typedef IRpcStubBuffer *LPRPCSTUBBUFFER;
/*****************************************************************************
* IRpcStubBuffer interface
*/
DEFINE_GUID(IID_IRpcStubBuffer, 0xd5f56afc, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRpcStubBuffer: IUnknown {
virtual HRESULT CALLBACK Connect(
IUnknown* pUnkServer) = 0;
virtual void CALLBACK Disconnect(
) = 0;
virtual HRESULT CALLBACK Invoke(
RPCOLEMESSAGE* _prpcmsg,
IRpcChannelBuffer* _pRpcChannelBuffer) = 0;
virtual IRpcStubBuffer* CALLBACK IsIIDSupported(
REFIID riid) = 0;
virtual ULONG CALLBACK CountRefs(
) = 0;
virtual HRESULT CALLBACK DebugServerQueryInterface(
void** ppv) = 0;
virtual void CALLBACK DebugServerRelease(
void* pv) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IRpcStubBufferVtbl IRpcStubBufferVtbl;
struct IRpcStubBuffer {
const IRpcStubBufferVtbl* lpVtbl;
};
struct IRpcStubBufferVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IRpcStubBuffer* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IRpcStubBuffer* This);
ULONG (CALLBACK *Release)(
IRpcStubBuffer* This);
/*** IRpcStubBuffer methods ***/
HRESULT (CALLBACK *Connect)(
IRpcStubBuffer* This,
IUnknown* pUnkServer);
void (CALLBACK *Disconnect)(
IRpcStubBuffer* This);
HRESULT (CALLBACK *Invoke)(
IRpcStubBuffer* This,
RPCOLEMESSAGE* _prpcmsg,
IRpcChannelBuffer* _pRpcChannelBuffer);
IRpcStubBuffer* (CALLBACK *IsIIDSupported)(
IRpcStubBuffer* This,
REFIID riid);
ULONG (CALLBACK *CountRefs)(
IRpcStubBuffer* This);
HRESULT (CALLBACK *DebugServerQueryInterface)(
IRpcStubBuffer* This,
void** ppv);
void (CALLBACK *DebugServerRelease)(
IRpcStubBuffer* This,
void* pv);
};
#define IRpcStubBuffer_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,Connect,IUnknown*,pUnkServer) \
ICOM_VMETHOD (Disconnect) \
ICOM_METHOD2 (HRESULT,Invoke,RPCOLEMESSAGE*,_prpcmsg,IRpcChannelBuffer*,_pRpcChannelBuffer) \
ICOM_METHOD1 (IRpcStubBuffer*,IsIIDSupported,REFIID,riid) \
ICOM_METHOD (ULONG,CountRefs) \
ICOM_METHOD1 (HRESULT,DebugServerQueryInterface,void**,ppv) \
ICOM_VMETHOD1(DebugServerRelease,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
HRESULT CALLBACK IRpcStubBuffer_Connect_Proxy(
IRpcStubBuffer* This,
IUnknown* pUnkServer);
void __RPC_STUB IRpcStubBuffer_Connect_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IRpcStubBuffer_Disconnect_Proxy(
IRpcStubBuffer* This);
void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcStubBuffer_Invoke_Proxy(
IRpcStubBuffer* This,
RPCOLEMESSAGE* _prpcmsg,
IRpcChannelBuffer* _pRpcChannelBuffer);
void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
IRpcStubBuffer* CALLBACK IRpcStubBuffer_IsIIDSupported_Proxy(
IRpcStubBuffer* This,
REFIID riid);
void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG CALLBACK IRpcStubBuffer_CountRefs_Proxy(
IRpcStubBuffer* This);
void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IRpcStubBuffer_DebugServerQueryInterface_Proxy(
IRpcStubBuffer* This,
void** ppv);
void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IRpcStubBuffer_DebugServerRelease_Proxy(
IRpcStubBuffer* This,
void* pv);
void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPSFactoryBuffer IPSFactoryBuffer;
typedef IPSFactoryBuffer *LPPSFACTORYBUFFER;
/*****************************************************************************
* IPSFactoryBuffer interface
*/
DEFINE_GUID(IID_IPSFactoryBuffer, 0xd5f569d0, 0x593b, 0x101a, 0xb5,0x69, 0x08,0x00,0x2b,0x2d,0xbf,0x7a);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPSFactoryBuffer: IUnknown {
virtual HRESULT CALLBACK CreateProxy(
IUnknown* pUnkOuter,
REFIID riid,
IRpcProxyBuffer** ppProxy,
void** ppv) = 0;
virtual HRESULT CALLBACK CreateStub(
REFIID riid,
IUnknown* pUnkServer,
IRpcStubBuffer** ppStub) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPSFactoryBufferVtbl IPSFactoryBufferVtbl;
struct IPSFactoryBuffer {
const IPSFactoryBufferVtbl* lpVtbl;
};
struct IPSFactoryBufferVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPSFactoryBuffer* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPSFactoryBuffer* This);
ULONG (CALLBACK *Release)(
IPSFactoryBuffer* This);
/*** IPSFactoryBuffer methods ***/
HRESULT (CALLBACK *CreateProxy)(
IPSFactoryBuffer* This,
IUnknown* pUnkOuter,
REFIID riid,
IRpcProxyBuffer** ppProxy,
void** ppv);
HRESULT (CALLBACK *CreateStub)(
IPSFactoryBuffer* This,
REFIID riid,
IUnknown* pUnkServer,
IRpcStubBuffer** ppStub);
};
#define IPSFactoryBuffer_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD4 (HRESULT,CreateProxy,IUnknown*,pUnkOuter,REFIID,riid,IRpcProxyBuffer**,ppProxy,void**,ppv) \
ICOM_METHOD3 (HRESULT,CreateStub,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
HRESULT CALLBACK IPSFactoryBuffer_CreateProxy_Proxy(
IPSFactoryBuffer* This,
IUnknown* pUnkOuter,
REFIID riid,
IRpcProxyBuffer** ppProxy,
void** ppv);
void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPSFactoryBuffer_CreateStub_Proxy(
IPSFactoryBuffer* This,
REFIID riid,
IUnknown* pUnkServer,
IRpcStubBuffer** ppStub);
void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IChannelHook IChannelHook;
typedef IChannelHook *LPCHANNELHOOK;
typedef struct SChannelHookCallInfo {
IID iid;
DWORD cbSize;
GUID uCausality;
DWORD dwServerPid;
DWORD iMethod;
void *pObject;
} SChannelHookCallInfo;
/*****************************************************************************
* IChannelHook interface
*/
DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1, 0x00,0x20,0xaf,0x6e,0x72,0xf4);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IChannelHook: IUnknown {
virtual void CALLBACK ClientGetSize(
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize) = 0;
virtual void CALLBACK ClientFillBuffer(
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer) = 0;
virtual void CALLBACK ClientNotify(
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep,
HRESULT hrFault) = 0;
virtual void CALLBACK ServerNotify(
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep) = 0;
virtual void CALLBACK ServerGetSize(
REFGUID uExtent,
REFIID riid,
HRESULT hrFault,
ULONG* pDataSize) = 0;
virtual void CALLBACK ServerFillBuffer(
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer,
HRESULT hrFault) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IChannelHookVtbl IChannelHookVtbl;
struct IChannelHook {
const IChannelHookVtbl* lpVtbl;
};
struct IChannelHookVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IChannelHook* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IChannelHook* This);
ULONG (CALLBACK *Release)(
IChannelHook* This);
/*** IChannelHook methods ***/
void (CALLBACK *ClientGetSize)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize);
void (CALLBACK *ClientFillBuffer)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer);
void (CALLBACK *ClientNotify)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep,
HRESULT hrFault);
void (CALLBACK *ServerNotify)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep);
void (CALLBACK *ServerGetSize)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
HRESULT hrFault,
ULONG* pDataSize);
void (CALLBACK *ServerFillBuffer)(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer,
HRESULT hrFault);
};
#define IChannelHook_IMETHODS \
IUnknown_IMETHODS \
ICOM_VMETHOD3(ClientGetSize,REFGUID,uExtent,REFIID,riid,ULONG*,pDataSize) \
ICOM_VMETHOD4(ClientFillBuffer,REFGUID,uExtent,REFIID,riid,ULONG*,pDataSize,void*,pDataBuffer) \
ICOM_VMETHOD6(ClientNotify,REFGUID,uExtent,REFIID,riid,ULONG,cbDataSize,void*,pDataBuffer,DWORD,lDataRep,HRESULT,hrFault) \
ICOM_VMETHOD5(ServerNotify,REFGUID,uExtent,REFIID,riid,ULONG,cbDataSize,void*,pDataBuffer,DWORD,lDataRep) \
ICOM_VMETHOD4(ServerGetSize,REFGUID,uExtent,REFIID,riid,HRESULT,hrFault,ULONG*,pDataSize) \
ICOM_VMETHOD5(ServerFillBuffer,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
void CALLBACK IChannelHook_ClientGetSize_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize);
void __RPC_STUB IChannelHook_ClientGetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IChannelHook_ClientFillBuffer_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer);
void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IChannelHook_ClientNotify_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep,
HRESULT hrFault);
void __RPC_STUB IChannelHook_ClientNotify_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IChannelHook_ServerNotify_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG cbDataSize,
void* pDataBuffer,
DWORD lDataRep);
void __RPC_STUB IChannelHook_ServerNotify_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IChannelHook_ServerGetSize_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
HRESULT hrFault,
ULONG* pDataSize);
void __RPC_STUB IChannelHook_ServerGetSize_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void CALLBACK IChannelHook_ServerFillBuffer_Proxy(
IChannelHook* This,
REFGUID uExtent,
REFIID riid,
ULONG* pDataSize,
void* pDataBuffer,
HRESULT hrFault);
void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
typedef struct IPropertyStorage IPropertyStorage;
typedef IPropertyStorage *LPPROPERTYSTORAGE;
extern const FMTID FMTID_SummaryInformation;
extern const FMTID FMTID_DocSummaryInformation;
extern const FMTID FMTID_UserDefinedProperties;
#define PROPSETFLAG_DEFAULT (0)
#define PROPSETFLAG_NONSIMPLE (1)
#define PROPSETFLAG_ANSI (2)
#define PROPSETFLAG_UNBUFFERED (4)
typedef struct tagPROPVARIANT PROPVARIANT;
typedef struct tagCAUB {
ULONG cElems;
unsigned char *pElems;
} CAUB;
typedef struct tagCAI {
ULONG cElems;
short *pElems;
} CAI;
typedef struct tagCAUI {
ULONG cElems;
USHORT *pElems;
} CAUI;
typedef struct tagCAL {
ULONG cElems;
long *pElems;
} CAL;
typedef struct tagCAUL {
ULONG cElems;
ULONG *pElems;
} CAUL;
typedef struct tagCAFLT {
ULONG cElems;
float *pElems;
} CAFLT;
typedef struct tagCADBL {
ULONG cElems;
double *pElems;
} CADBL;
typedef struct tagCACY {
ULONG cElems;
CY *pElems;
} CACY;
typedef struct tagCADATE {
ULONG cElems;
DATE *pElems;
} CADATE;
typedef struct tagCABSTR {
ULONG cElems;
BSTR *pElems;
} CABSTR;
typedef struct tagCABSTRBLOB {
ULONG cElems;
BSTRBLOB *pElems;
} CABSTRBLOB;
typedef struct tagCABOOL {
ULONG cElems;
VARIANT_BOOL *pElems;
} CABOOL;
typedef struct tagCASCODE {
ULONG cElems;
SCODE *pElems;
} CASCODE;
typedef struct tagCAPROPVARIANT {
ULONG cElems;
PROPVARIANT *pElems;
} CAPROPVARIANT;
typedef struct tagCAH {
ULONG cElems;
LARGE_INTEGER *pElems;
} CAH;
typedef struct tagCAUH {
ULONG cElems;
ULARGE_INTEGER *pElems;
} CAUH;
typedef struct tagCALPSTR {
ULONG cElems;
LPSTR *pElems;
} CALPSTR;
typedef struct tagCALPWSTR {
ULONG cElems;
LPWSTR *pElems;
} CALPWSTR;
typedef struct tagCAFILETIME {
ULONG cElems;
FILETIME *pElems;
} CAFILETIME;
typedef struct tagCACLIPDATA {
ULONG cElems;
CLIPDATA *pElems;
} CACLIPDATA;
typedef struct tagCACLSID {
ULONG cElems;
CLSID *pElems;
} CACLSID;
struct tagPROPVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union {
UCHAR bVal;
short iVal;
USHORT uiVal;
VARIANT_BOOL boolVal;
long lVal;
ULONG ulVal;
float fltVal;
SCODE scode;
LARGE_INTEGER hVal;
ULARGE_INTEGER uhVal;
double dblVal;
CY cyVal;
DATE date;
FILETIME filetime;
CLSID *puuid;
BLOB blob;
CLIPDATA *pclipdata;
IStream *pStream;
IStorage *pStorage;
BSTR bstrVal;
BSTRBLOB bstrblobVal;
LPSTR pszVal;
LPWSTR pwszVal;
CAUB caub;
CAI cai;
CAUI caui;
CABOOL cabool;
CAL cal;
CAUL caul;
CAFLT caflt;
CASCODE cascode;
CAH cah;
CAUH cauh;
CADBL cadbl;
CACY cacy;
CADATE cadate;
CAFILETIME cafiletime;
CACLSID cauuid;
CACLIPDATA caclipdata;
CABSTR cabstr;
CABSTRBLOB cabstrblob;
CALPSTR calpstr;
CALPWSTR calpwstr;
CAPROPVARIANT capropvar;
} DUMMYUNIONNAME;
};
typedef struct tagPROPVARIANT *LPPROPVARIANT;
#define PRSPEC_INVALID (0x7fffffff)
#define PRSPEC_LPWSTR (0)
#define PRSPEC_PROPID (1)
typedef struct tagPROPSPEC {
ULONG ulKind;
union {
PROPID propid;
LPOLESTR lpwstr;
} DUMMYUNIONNAME;
} PROPSPEC;
typedef struct tagSTATPROPSTG {
LPOLESTR lpwstrName;
PROPID propid;
VARTYPE vt;
} STATPROPSTG;
typedef struct tagSTATPROPSETSTG {
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
} STATPROPSETSTG;
/*****************************************************************************
* IPropertyStorage interface
*/
DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPropertyStorage: IUnknown {
virtual HRESULT CALLBACK ReadMultiple(
ULONG cpspec,
const PROPSPEC rgpspec[],
PROPVARIANT rgpropvar[]) = 0;
virtual HRESULT CALLBACK WriteMultiple(
ULONG cpspec,
const PROPSPEC rgpspec[],
const PROPVARIANT rgpropvar[],
PROPID propidNameFirst) = 0;
virtual HRESULT CALLBACK DeleteMultiple(
ULONG cpspec,
const PROPSPEC rgpspec[]) = 0;
virtual HRESULT CALLBACK ReadPropertyNames(
ULONG cpropid,
const PROPID rgpropid[],
LPOLESTR rglpwstrName[]) = 0;
virtual HRESULT CALLBACK WritePropertyNames(
ULONG cpropid,
const PROPID rgpropid[],
const LPOLESTR rglpwstrName[]) = 0;
virtual HRESULT CALLBACK DeletePropertyNames(
ULONG cpropid,
const PROPID rgpropid[]) = 0;
virtual HRESULT CALLBACK Commit(
DWORD grfCommitFlags) = 0;
virtual HRESULT CALLBACK Revert(
) = 0;
virtual HRESULT CALLBACK Enum(
IEnumSTATPROPSTG** ppenum) = 0;
virtual HRESULT CALLBACK SetTimes(
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime) = 0;
virtual HRESULT CALLBACK SetClass(
REFCLSID clsid) = 0;
virtual HRESULT CALLBACK Stat(
STATPROPSETSTG* statpsstg) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPropertyStorageVtbl IPropertyStorageVtbl;
struct IPropertyStorage {
const IPropertyStorageVtbl* lpVtbl;
};
struct IPropertyStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPropertyStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPropertyStorage* This);
ULONG (CALLBACK *Release)(
IPropertyStorage* This);
/*** IPropertyStorage methods ***/
HRESULT (CALLBACK *ReadMultiple)(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[],
PROPVARIANT rgpropvar[]);
HRESULT (CALLBACK *WriteMultiple)(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[],
const PROPVARIANT rgpropvar[],
PROPID propidNameFirst);
HRESULT (CALLBACK *DeleteMultiple)(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[]);
HRESULT (CALLBACK *ReadPropertyNames)(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[],
LPOLESTR rglpwstrName[]);
HRESULT (CALLBACK *WritePropertyNames)(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[],
const LPOLESTR rglpwstrName[]);
HRESULT (CALLBACK *DeletePropertyNames)(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[]);
HRESULT (CALLBACK *Commit)(
IPropertyStorage* This,
DWORD grfCommitFlags);
HRESULT (CALLBACK *Revert)(
IPropertyStorage* This);
HRESULT (CALLBACK *Enum)(
IPropertyStorage* This,
IEnumSTATPROPSTG** ppenum);
HRESULT (CALLBACK *SetTimes)(
IPropertyStorage* This,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
HRESULT (CALLBACK *SetClass)(
IPropertyStorage* This,
REFCLSID clsid);
HRESULT (CALLBACK *Stat)(
IPropertyStorage* This,
STATPROPSETSTG* statpsstg);
};
#define IPropertyStorage_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,ReadMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec,PROPVARIANT*,rgpropvar) \
ICOM_METHOD4 (HRESULT,WriteMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec,const PROPVARIANT*,rgpropvar,PROPID,propidNameFirst) \
ICOM_METHOD2 (HRESULT,DeleteMultiple,ULONG,cpspec,const PROPSPEC*,rgpspec) \
ICOM_METHOD3 (HRESULT,ReadPropertyNames,ULONG,cpropid,const PROPID*,rgpropid,LPOLESTR*,rglpwstrName) \
ICOM_METHOD3 (HRESULT,WritePropertyNames,ULONG,cpropid,const PROPID*,rgpropid,const LPOLESTR*,rglpwstrName) \
ICOM_METHOD2 (HRESULT,DeletePropertyNames,ULONG,cpropid,const PROPID*,rgpropid) \
ICOM_METHOD1 (HRESULT,Commit,DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD1 (HRESULT,Enum,IEnumSTATPROPSTG**,ppenum) \
ICOM_METHOD3 (HRESULT,SetTimes,const FILETIME*,pctime,const FILETIME*,patime,const FILETIME*,pmtime) \
ICOM_METHOD1 (HRESULT,SetClass,REFCLSID,clsid) \
ICOM_METHOD1 (HRESULT,Stat,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
HRESULT CALLBACK IPropertyStorage_ReadMultiple_Proxy(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[],
PROPVARIANT rgpropvar[]);
void __RPC_STUB IPropertyStorage_ReadMultiple_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_WriteMultiple_Proxy(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[],
const PROPVARIANT rgpropvar[],
PROPID propidNameFirst);
void __RPC_STUB IPropertyStorage_WriteMultiple_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_DeleteMultiple_Proxy(
IPropertyStorage* This,
ULONG cpspec,
const PROPSPEC rgpspec[]);
void __RPC_STUB IPropertyStorage_DeleteMultiple_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_ReadPropertyNames_Proxy(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[],
LPOLESTR rglpwstrName[]);
void __RPC_STUB IPropertyStorage_ReadPropertyNames_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_WritePropertyNames_Proxy(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[],
const LPOLESTR rglpwstrName[]);
void __RPC_STUB IPropertyStorage_WritePropertyNames_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_DeletePropertyNames_Proxy(
IPropertyStorage* This,
ULONG cpropid,
const PROPID rgpropid[]);
void __RPC_STUB IPropertyStorage_DeletePropertyNames_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_Commit_Proxy(
IPropertyStorage* This,
DWORD grfCommitFlags);
void __RPC_STUB IPropertyStorage_Commit_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_Revert_Proxy(
IPropertyStorage* This);
void __RPC_STUB IPropertyStorage_Revert_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_Enum_Proxy(
IPropertyStorage* This,
IEnumSTATPROPSTG** ppenum);
void __RPC_STUB IPropertyStorage_Enum_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_SetTimes_Proxy(
IPropertyStorage* This,
const FILETIME* pctime,
const FILETIME* patime,
const FILETIME* pmtime);
void __RPC_STUB IPropertyStorage_SetTimes_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_SetClass_Proxy(
IPropertyStorage* This,
REFCLSID clsid);
void __RPC_STUB IPropertyStorage_SetClass_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertyStorage_Stat_Proxy(
IPropertyStorage* This,
STATPROPSETSTG* statpsstg);
void __RPC_STUB IPropertyStorage_Stat_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IPropertySetStorage IPropertySetStorage;
typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
/*****************************************************************************
* IPropertySetStorage interface
*/
DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IPropertySetStorage: IUnknown {
virtual HRESULT CALLBACK Create(
REFFMTID rfmtid,
const CLSID* pclsid,
DWORD grfFlags,
DWORD grfMode,
IPropertyStorage** ppprstg) = 0;
virtual HRESULT CALLBACK Open(
REFFMTID rfmtid,
DWORD grfMode,
IPropertyStorage** ppprstg) = 0;
virtual HRESULT CALLBACK Delete(
REFFMTID rfmtid) = 0;
virtual HRESULT CALLBACK Enum(
IEnumSTATPROPSETSTG** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IPropertySetStorageVtbl IPropertySetStorageVtbl;
struct IPropertySetStorage {
const IPropertySetStorageVtbl* lpVtbl;
};
struct IPropertySetStorageVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IPropertySetStorage* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IPropertySetStorage* This);
ULONG (CALLBACK *Release)(
IPropertySetStorage* This);
/*** IPropertySetStorage methods ***/
HRESULT (CALLBACK *Create)(
IPropertySetStorage* This,
REFFMTID rfmtid,
const CLSID* pclsid,
DWORD grfFlags,
DWORD grfMode,
IPropertyStorage** ppprstg);
HRESULT (CALLBACK *Open)(
IPropertySetStorage* This,
REFFMTID rfmtid,
DWORD grfMode,
IPropertyStorage** ppprstg);
HRESULT (CALLBACK *Delete)(
IPropertySetStorage* This,
REFFMTID rfmtid);
HRESULT (CALLBACK *Enum)(
IPropertySetStorage* This,
IEnumSTATPROPSETSTG** ppenum);
};
#define IPropertySetStorage_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,Create,REFFMTID,rfmtid,const CLSID*,pclsid,DWORD,grfFlags,DWORD,grfMode,IPropertyStorage**,ppprstg) \
ICOM_METHOD3 (HRESULT,Open,REFFMTID,rfmtid,DWORD,grfMode,IPropertyStorage**,ppprstg) \
ICOM_METHOD1 (HRESULT,Delete,REFFMTID,rfmtid) \
ICOM_METHOD1 (HRESULT,Enum,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
HRESULT CALLBACK IPropertySetStorage_Create_Proxy(
IPropertySetStorage* This,
REFFMTID rfmtid,
const CLSID* pclsid,
DWORD grfFlags,
DWORD grfMode,
IPropertyStorage** ppprstg);
void __RPC_STUB IPropertySetStorage_Create_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertySetStorage_Open_Proxy(
IPropertySetStorage* This,
REFFMTID rfmtid,
DWORD grfMode,
IPropertyStorage** ppprstg);
void __RPC_STUB IPropertySetStorage_Open_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertySetStorage_Delete_Proxy(
IPropertySetStorage* This,
REFFMTID rfmtid);
void __RPC_STUB IPropertySetStorage_Delete_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IPropertySetStorage_Enum_Proxy(
IPropertySetStorage* This,
IEnumSTATPROPSETSTG** ppenum);
void __RPC_STUB IPropertySetStorage_Enum_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
/*****************************************************************************
* IEnumSTATPROPSTG interface
*/
DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumSTATPROPSTG: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
STATPROPSTG* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumSTATPROPSTG** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumSTATPROPSTGVtbl IEnumSTATPROPSTGVtbl;
struct IEnumSTATPROPSTG {
const IEnumSTATPROPSTGVtbl* lpVtbl;
};
struct IEnumSTATPROPSTGVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumSTATPROPSTG* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumSTATPROPSTG* This);
ULONG (CALLBACK *Release)(
IEnumSTATPROPSTG* This);
/*** IEnumSTATPROPSTG methods ***/
HRESULT (CALLBACK *Next)(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumSTATPROPSTG* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumSTATPROPSTG* This);
HRESULT (CALLBACK *Clone)(
IEnumSTATPROPSTG* This,
IEnumSTATPROPSTG** ppenum);
};
#define IEnumSTATPROPSTG_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATPROPSTG*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumSTATPROPSTG_RemoteNext_Proxy(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumSTATPROPSTG_Skip_Proxy(
IEnumSTATPROPSTG* This,
ULONG celt);
void __RPC_STUB IEnumSTATPROPSTG_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSTG_Reset_Proxy(
IEnumSTATPROPSTG* This);
void __RPC_STUB IEnumSTATPROPSTG_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSTG_Clone_Proxy(
IEnumSTATPROPSTG* This,
IEnumSTATPROPSTG** ppenum);
void __RPC_STUB IEnumSTATPROPSTG_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
/*****************************************************************************
* IEnumSTATPROPSETSTG interface
*/
DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IEnumSTATPROPSETSTG: IUnknown {
virtual HRESULT CALLBACK Next(
ULONG celt,
STATPROPSETSTG* rgelt,
ULONG* pceltFetched) = 0;
virtual HRESULT CALLBACK Skip(
ULONG celt) = 0;
virtual HRESULT CALLBACK Reset(
) = 0;
virtual HRESULT CALLBACK Clone(
IEnumSTATPROPSETSTG** ppenum) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IEnumSTATPROPSETSTGVtbl IEnumSTATPROPSETSTGVtbl;
struct IEnumSTATPROPSETSTG {
const IEnumSTATPROPSETSTGVtbl* lpVtbl;
};
struct IEnumSTATPROPSETSTGVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IEnumSTATPROPSETSTG* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IEnumSTATPROPSETSTG* This);
ULONG (CALLBACK *Release)(
IEnumSTATPROPSETSTG* This);
/*** IEnumSTATPROPSETSTG methods ***/
HRESULT (CALLBACK *Next)(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG* rgelt,
ULONG* pceltFetched);
HRESULT (CALLBACK *Skip)(
IEnumSTATPROPSETSTG* This,
ULONG celt);
HRESULT (CALLBACK *Reset)(
IEnumSTATPROPSETSTG* This);
HRESULT (CALLBACK *Clone)(
IEnumSTATPROPSETSTG* This,
IEnumSTATPROPSETSTG** ppenum);
};
#define IEnumSTATPROPSETSTG_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD3 (HRESULT,Next,ULONG,celt,STATPROPSETSTG*,rgelt,ULONG*,pceltFetched) \
ICOM_METHOD1 (HRESULT,Skip,ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1 (HRESULT,Clone,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
HRESULT CALLBACK IEnumSTATPROPSETSTG_RemoteNext_Proxy(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG* rgelt,
ULONG* pceltFetched);
void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG* rgelt,
ULONG* pceltFetched);
HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG* rgelt,
ULONG* pceltFetched);
HRESULT CALLBACK IEnumSTATPROPSETSTG_Skip_Proxy(
IEnumSTATPROPSETSTG* This,
ULONG celt);
void __RPC_STUB IEnumSTATPROPSETSTG_Skip_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSETSTG_Reset_Proxy(
IEnumSTATPROPSETSTG* This);
void __RPC_STUB IEnumSTATPROPSETSTG_Reset_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IEnumSTATPROPSETSTG_Clone_Proxy(
IEnumSTATPROPSETSTG* This,
IEnumSTATPROPSETSTG** ppenum);
void __RPC_STUB IEnumSTATPROPSETSTG_Clone_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IClientSecurity IClientSecurity;
typedef struct tagSOLE_AUTHENTICATION_SERVICE {
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
OLECHAR *pPrincipalName;
HRESULT hr;
} SOLE_AUTHENTICATION_SERVICE;
typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
EOAC_NONE = 0x0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_CLOAKING = 0x10,
EOAC_SECURE_REFS = 0x2,
EOAC_ACCESS_CONTROL = 0x4,
EOAC_APPID = 0x8
} EOLE_AUTHENTICATION_CAPABILITIES;
/*****************************************************************************
* IClientSecurity interface
*/
DEFINE_GUID(IID_IClientSecurity, 0x0000013d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IClientSecurity: IUnknown {
virtual HRESULT CALLBACK QueryBlanket(
IUnknown* pProxy,
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pAuthInfo,
DWORD* pCapabilites) = 0;
virtual HRESULT CALLBACK SetBlanket(
IUnknown* pProxy,
DWORD AuthnSvc,
DWORD AuthzSvc,
OLECHAR* pServerPrincName,
DWORD AuthnLevel,
DWORD ImpLevel,
void* pAuthInfo,
DWORD Capabilities) = 0;
virtual HRESULT CALLBACK CopyProxy(
IUnknown* pProxy,
IUnknown** ppCopy) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IClientSecurityVtbl IClientSecurityVtbl;
struct IClientSecurity {
const IClientSecurityVtbl* lpVtbl;
};
struct IClientSecurityVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IClientSecurity* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IClientSecurity* This);
ULONG (CALLBACK *Release)(
IClientSecurity* This);
/*** IClientSecurity methods ***/
HRESULT (CALLBACK *QueryBlanket)(
IClientSecurity* This,
IUnknown* pProxy,
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pAuthInfo,
DWORD* pCapabilites);
HRESULT (CALLBACK *SetBlanket)(
IClientSecurity* This,
IUnknown* pProxy,
DWORD AuthnSvc,
DWORD AuthzSvc,
OLECHAR* pServerPrincName,
DWORD AuthnLevel,
DWORD ImpLevel,
void* pAuthInfo,
DWORD Capabilities);
HRESULT (CALLBACK *CopyProxy)(
IClientSecurity* This,
IUnknown* pProxy,
IUnknown** ppCopy);
};
#define IClientSecurity_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD8 (HRESULT,QueryBlanket,IUnknown*,pProxy,DWORD*,pAuthnSvc,DWORD*,pAuthzSvc,OLECHAR**,pServerPrincName,DWORD*,pAuthnLevel,DWORD*,pImpLevel,void**,pAuthInfo,DWORD*,pCapabilites) \
ICOM_METHOD8 (HRESULT,SetBlanket,IUnknown*,pProxy,DWORD,AuthnSvc,DWORD,AuthzSvc,OLECHAR*,pServerPrincName,DWORD,AuthnLevel,DWORD,ImpLevel,void*,pAuthInfo,DWORD,Capabilities) \
ICOM_METHOD2 (HRESULT,CopyProxy,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
HRESULT CALLBACK IClientSecurity_QueryBlanket_Proxy(
IClientSecurity* This,
IUnknown* pProxy,
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pAuthInfo,
DWORD* pCapabilites);
void __RPC_STUB IClientSecurity_QueryBlanket_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IClientSecurity_SetBlanket_Proxy(
IClientSecurity* This,
IUnknown* pProxy,
DWORD AuthnSvc,
DWORD AuthzSvc,
OLECHAR* pServerPrincName,
DWORD AuthnLevel,
DWORD ImpLevel,
void* pAuthInfo,
DWORD Capabilities);
void __RPC_STUB IClientSecurity_SetBlanket_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IClientSecurity_CopyProxy_Proxy(
IClientSecurity* This,
IUnknown* pProxy,
IUnknown** ppCopy);
void __RPC_STUB IClientSecurity_CopyProxy_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IServerSecurity IServerSecurity;
/*****************************************************************************
* IServerSecurity interface
*/
DEFINE_GUID(IID_IServerSecurity, 0x0000013e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IServerSecurity: IUnknown {
virtual HRESULT CALLBACK QueryBlanket(
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pPrivs,
DWORD* pCapabilities) = 0;
virtual HRESULT CALLBACK ImpersonateClient(
) = 0;
virtual HRESULT CALLBACK RevertToSelf(
) = 0;
virtual BOOL CALLBACK IsImpersonating(
) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IServerSecurityVtbl IServerSecurityVtbl;
struct IServerSecurity {
const IServerSecurityVtbl* lpVtbl;
};
struct IServerSecurityVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IServerSecurity* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IServerSecurity* This);
ULONG (CALLBACK *Release)(
IServerSecurity* This);
/*** IServerSecurity methods ***/
HRESULT (CALLBACK *QueryBlanket)(
IServerSecurity* This,
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pPrivs,
DWORD* pCapabilities);
HRESULT (CALLBACK *ImpersonateClient)(
IServerSecurity* This);
HRESULT (CALLBACK *RevertToSelf)(
IServerSecurity* This);
BOOL (CALLBACK *IsImpersonating)(
IServerSecurity* This);
};
#define IServerSecurity_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD7 (HRESULT,QueryBlanket,DWORD*,pAuthnSvc,DWORD*,pAuthzSvc,OLECHAR**,pServerPrincName,DWORD*,pAuthnLevel,DWORD*,pImpLevel,void**,pPrivs,DWORD*,pCapabilities) \
ICOM_METHOD (HRESULT,ImpersonateClient) \
ICOM_METHOD (HRESULT,RevertToSelf) \
ICOM_METHOD (BOOL,IsImpersonating)
/*** 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
HRESULT CALLBACK IServerSecurity_QueryBlanket_Proxy(
IServerSecurity* This,
DWORD* pAuthnSvc,
DWORD* pAuthzSvc,
OLECHAR** pServerPrincName,
DWORD* pAuthnLevel,
DWORD* pImpLevel,
void** pPrivs,
DWORD* pCapabilities);
void __RPC_STUB IServerSecurity_QueryBlanket_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IServerSecurity_ImpersonateClient_Proxy(
IServerSecurity* This);
void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IServerSecurity_RevertToSelf_Proxy(
IServerSecurity* This);
void __RPC_STUB IServerSecurity_RevertToSelf_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
BOOL CALLBACK IServerSecurity_IsImpersonating_Proxy(
IServerSecurity* This);
void __RPC_STUB IServerSecurity_IsImpersonating_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct IAsyncSetup IAsyncSetup;
/*****************************************************************************
* IAsyncSetup interface
*/
DEFINE_GUID(IID_IAsyncSetup, 0x00000024, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IAsyncSetup: IUnknown {
virtual HRESULT CALLBACK GetAsyncManager(
REFIID riid,
IUnknown* pOuter,
DWORD dwFlags,
IUnknown** ppInner,
IAsyncManager** ppAsyncMgr) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IAsyncSetupVtbl IAsyncSetupVtbl;
struct IAsyncSetup {
const IAsyncSetupVtbl* lpVtbl;
};
struct IAsyncSetupVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IAsyncSetup* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IAsyncSetup* This);
ULONG (CALLBACK *Release)(
IAsyncSetup* This);
/*** IAsyncSetup methods ***/
HRESULT (CALLBACK *GetAsyncManager)(
IAsyncSetup* This,
REFIID riid,
IUnknown* pOuter,
DWORD dwFlags,
IUnknown** ppInner,
IAsyncManager** ppAsyncMgr);
};
#define IAsyncSetup_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD5 (HRESULT,GetAsyncManager,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
HRESULT CALLBACK IAsyncSetup_GetAsyncManager_Proxy(
IAsyncSetup* This,
REFIID riid,
IUnknown* pOuter,
DWORD dwFlags,
IUnknown** ppInner,
IAsyncManager** ppAsyncMgr);
void __RPC_STUB IAsyncSetup_GetAsyncManager_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef enum tagDCOM_CALL_STATE {
DCOM_NONE = 0,
DCOM_CALL_COMPLETE = 1,
DCOM_CALL_CANCELED = 2
} DCOM_CALL_STATE;
/*****************************************************************************
* IAsyncManager interface
*/
DEFINE_GUID(IID_IAsyncManager, 0x0000002a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IAsyncManager: IUnknown {
virtual HRESULT CALLBACK CompleteCall(
HRESULT Result) = 0;
virtual HRESULT CALLBACK GetCallContext(
REFIID riid,
void** pInterface) = 0;
virtual HRESULT CALLBACK GetState(
ULONG* pulStateFlags) = 0;
} ICOM_COM_INTERFACE_ATTRIBUTE;
#else
typedef struct IAsyncManagerVtbl IAsyncManagerVtbl;
struct IAsyncManager {
const IAsyncManagerVtbl* lpVtbl;
};
struct IAsyncManagerVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (CALLBACK *QueryInterface)(
IAsyncManager* This,
REFIID riid,
void** ppvObject);
ULONG (CALLBACK *AddRef)(
IAsyncManager* This);
ULONG (CALLBACK *Release)(
IAsyncManager* This);
/*** IAsyncManager methods ***/
HRESULT (CALLBACK *CompleteCall)(
IAsyncManager* This,
HRESULT Result);
HRESULT (CALLBACK *GetCallContext)(
IAsyncManager* This,
REFIID riid,
void** pInterface);
HRESULT (CALLBACK *GetState)(
IAsyncManager* This,
ULONG* pulStateFlags);
};
#define IAsyncManager_IMETHODS \
IUnknown_IMETHODS \
ICOM_METHOD1 (HRESULT,CompleteCall,HRESULT,Result) \
ICOM_METHOD2 (HRESULT,GetCallContext,REFIID,riid,void**,pInterface) \
ICOM_METHOD1 (HRESULT,GetState,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
HRESULT CALLBACK IAsyncManager_CompleteCall_Proxy(
IAsyncManager* This,
HRESULT Result);
void __RPC_STUB IAsyncManager_CompleteCall_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IAsyncManager_GetCallContext_Proxy(
IAsyncManager* This,
REFIID riid,
void** pInterface);
void __RPC_STUB IAsyncManager_GetCallContext_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT CALLBACK IAsyncManager_GetState_Proxy(
IAsyncManager* This,
ULONG* pulStateFlags);
void __RPC_STUB IAsyncManager_GetState_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_OBJIDL_H */