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