1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 475 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error this stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __callobj_h__ 23 #define __callobj_h__ 24 25 #ifndef __ICallFrame_FWD_DEFINED__ 26 #define __ICallFrame_FWD_DEFINED__ 27 typedef struct ICallFrame ICallFrame; 28 #endif 29 30 #ifndef __ICallIndirect_FWD_DEFINED__ 31 #define __ICallIndirect_FWD_DEFINED__ 32 typedef struct ICallIndirect ICallIndirect; 33 #endif 34 35 #ifndef __ICallInterceptor_FWD_DEFINED__ 36 #define __ICallInterceptor_FWD_DEFINED__ 37 typedef struct ICallInterceptor ICallInterceptor; 38 #endif 39 40 #ifndef __ICallFrameEvents_FWD_DEFINED__ 41 #define __ICallFrameEvents_FWD_DEFINED__ 42 typedef struct ICallFrameEvents ICallFrameEvents; 43 #endif 44 45 #ifndef __ICallUnmarshal_FWD_DEFINED__ 46 #define __ICallUnmarshal_FWD_DEFINED__ 47 typedef struct ICallUnmarshal ICallUnmarshal; 48 #endif 49 50 #ifndef __ICallFrameWalker_FWD_DEFINED__ 51 #define __ICallFrameWalker_FWD_DEFINED__ 52 typedef struct ICallFrameWalker ICallFrameWalker; 53 #endif 54 55 #ifndef __IInterfaceRelated_FWD_DEFINED__ 56 #define __IInterfaceRelated_FWD_DEFINED__ 57 typedef struct IInterfaceRelated IInterfaceRelated; 58 #endif 59 60 #include "oaidl.h" 61 62 #ifdef __cplusplus 63 extern "C"{ 64 #endif 65 66 #ifndef __MIDL_user_allocate_free_DEFINED__ 67 #define __MIDL_user_allocate_free_DEFINED__ 68 void *__RPC_API MIDL_user_allocate(size_t); 69 void __RPC_API MIDL_user_free(void *); 70 #endif 71 72 extern RPC_IF_HANDLE __MIDL_itf_callobj_0000_v0_0_c_ifspec; 73 extern RPC_IF_HANDLE __MIDL_itf_callobj_0000_v0_0_s_ifspec; 74 75 #ifndef __ICallFrame_INTERFACE_DEFINED__ 76 #define __ICallFrame_INTERFACE_DEFINED__ 77 78 typedef struct __MIDL_ICallFrame_0001 { 79 ULONG iMethod; 80 WINBOOL fHasInValues; 81 WINBOOL fHasInOutValues; 82 WINBOOL fHasOutValues; 83 WINBOOL fDerivesFromIDispatch; 84 LONG cInInterfacesMax; 85 LONG cInOutInterfacesMax; 86 LONG cOutInterfacesMax; 87 LONG cTopLevelInInterfaces; 88 IID iid; 89 ULONG cMethod; 90 ULONG cParams; 91 } CALLFRAMEINFO; 92 93 typedef struct __MIDL_ICallFrame_0002 { 94 BOOLEAN fIn; 95 BOOLEAN fOut; 96 ULONG stackOffset; 97 ULONG cbParam; 98 } CALLFRAMEPARAMINFO; 99 100 typedef enum __MIDL_ICallFrame_0003 { 101 CALLFRAME_COPY_NESTED = 1,CALLFRAME_COPY_INDEPENDENT = 2 102 } CALLFRAME_COPY; 103 104 enum CALLFRAME_FREE { 105 CALLFRAME_FREE_NONE = 0,CALLFRAME_FREE_IN = 1,CALLFRAME_FREE_INOUT = 2,CALLFRAME_FREE_OUT = 4,CALLFRAME_FREE_TOP_INOUT = 8, 106 CALLFRAME_FREE_TOP_OUT = 16,CALLFRAME_FREE_ALL = 31 107 }; 108 109 enum CALLFRAME_NULL { 110 CALLFRAME_NULL_NONE = 0,CALLFRAME_NULL_INOUT = 2,CALLFRAME_NULL_OUT = 4,CALLFRAME_NULL_ALL = 6 111 }; 112 113 enum CALLFRAME_WALK { 114 CALLFRAME_WALK_IN = 1,CALLFRAME_WALK_INOUT = 2,CALLFRAME_WALK_OUT = 4 115 }; 116 117 typedef struct __MIDL_ICallFrame_0004 { 118 BOOLEAN fIn; 119 DWORD dwDestContext; 120 LPVOID pvDestContext; 121 IUnknown *punkReserved; 122 GUID guidTransferSyntax; 123 } CALLFRAME_MARSHALCONTEXT; 124 125 EXTERN_C const IID IID_ICallFrame; 126 #if defined(__cplusplus) && !defined(CINTERFACE) 127 struct ICallFrame : public IUnknown { 128 public: 129 virtual HRESULT WINAPI GetInfo(CALLFRAMEINFO *pInfo) = 0; 130 virtual HRESULT WINAPI GetIIDAndMethod(IID *pIID,ULONG *piMethod) = 0; 131 virtual HRESULT WINAPI GetNames(LPWSTR *pwszInterface,LPWSTR *pwszMethod) = 0; 132 virtual PVOID WINAPI GetStackLocation(void) = 0; 133 virtual void WINAPI SetStackLocation(PVOID pvStack) = 0; 134 virtual void WINAPI SetReturnValue(HRESULT hr) = 0; 135 virtual HRESULT WINAPI GetReturnValue(void) = 0; 136 virtual HRESULT WINAPI GetParamInfo(ULONG iparam,CALLFRAMEPARAMINFO *pInfo) = 0; 137 virtual HRESULT WINAPI SetParam(ULONG iparam,VARIANT *pvar) = 0; 138 virtual HRESULT WINAPI GetParam(ULONG iparam,VARIANT *pvar) = 0; 139 virtual HRESULT WINAPI Copy(CALLFRAME_COPY copyControl,ICallFrameWalker *pWalker,ICallFrame **ppFrame) = 0; 140 virtual HRESULT WINAPI Free(ICallFrame *pframeArgsDest,ICallFrameWalker *pWalkerDestFree,ICallFrameWalker *pWalkerCopy,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags) = 0; 141 virtual HRESULT WINAPI FreeParam(ULONG iparam,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags) = 0; 142 virtual HRESULT WINAPI WalkFrame(DWORD walkWhat,ICallFrameWalker *pWalker) = 0; 143 virtual HRESULT WINAPI GetMarshalSizeMax(CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,ULONG *pcbBufferNeeded) = 0; 144 virtual HRESULT WINAPI Marshal(CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,PVOID pBuffer,ULONG cbBuffer,ULONG *pcbBufferUsed,RPCOLEDATAREP *pdataRep,ULONG *prpcFlags) = 0; 145 virtual HRESULT WINAPI Unmarshal(PVOID pBuffer,ULONG cbBuffer,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled) = 0; 146 virtual HRESULT WINAPI ReleaseMarshalData(PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext) = 0; 147 virtual HRESULT WINAPI Invoke(void *pvReceiver,...) = 0; 148 }; 149 #else 150 typedef struct ICallFrameVtbl { 151 BEGIN_INTERFACE 152 HRESULT (WINAPI *QueryInterface)(ICallFrame *This,REFIID riid,void **ppvObject); 153 ULONG (WINAPI *AddRef)(ICallFrame *This); 154 ULONG (WINAPI *Release)(ICallFrame *This); 155 HRESULT (WINAPI *GetInfo)(ICallFrame *This,CALLFRAMEINFO *pInfo); 156 HRESULT (WINAPI *GetIIDAndMethod)(ICallFrame *This,IID *pIID,ULONG *piMethod); 157 HRESULT (WINAPI *GetNames)(ICallFrame *This,LPWSTR *pwszInterface,LPWSTR *pwszMethod); 158 PVOID (WINAPI *GetStackLocation)(ICallFrame *This); 159 void (WINAPI *SetStackLocation)(ICallFrame *This,PVOID pvStack); 160 void (WINAPI *SetReturnValue)(ICallFrame *This,HRESULT hr); 161 HRESULT (WINAPI *GetReturnValue)(ICallFrame *This); 162 HRESULT (WINAPI *GetParamInfo)(ICallFrame *This,ULONG iparam,CALLFRAMEPARAMINFO *pInfo); 163 HRESULT (WINAPI *SetParam)(ICallFrame *This,ULONG iparam,VARIANT *pvar); 164 HRESULT (WINAPI *GetParam)(ICallFrame *This,ULONG iparam,VARIANT *pvar); 165 HRESULT (WINAPI *Copy)(ICallFrame *This,CALLFRAME_COPY copyControl,ICallFrameWalker *pWalker,ICallFrame **ppFrame); 166 HRESULT (WINAPI *Free)(ICallFrame *This,ICallFrame *pframeArgsDest,ICallFrameWalker *pWalkerDestFree,ICallFrameWalker *pWalkerCopy,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags); 167 HRESULT (WINAPI *FreeParam)(ICallFrame *This,ULONG iparam,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags); 168 HRESULT (WINAPI *WalkFrame)(ICallFrame *This,DWORD walkWhat,ICallFrameWalker *pWalker); 169 HRESULT (WINAPI *GetMarshalSizeMax)(ICallFrame *This,CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,ULONG *pcbBufferNeeded); 170 HRESULT (WINAPI *Marshal)(ICallFrame *This,CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,PVOID pBuffer,ULONG cbBuffer,ULONG *pcbBufferUsed,RPCOLEDATAREP *pdataRep,ULONG *prpcFlags); 171 HRESULT (WINAPI *Unmarshal)(ICallFrame *This,PVOID pBuffer,ULONG cbBuffer,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled); 172 HRESULT (WINAPI *ReleaseMarshalData)(ICallFrame *This,PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext); 173 HRESULT (WINAPI *Invoke)(ICallFrame *This,void *pvReceiver,...); 174 END_INTERFACE 175 } ICallFrameVtbl; 176 struct ICallFrame { 177 CONST_VTBL struct ICallFrameVtbl *lpVtbl; 178 }; 179 #ifdef COBJMACROS 180 #define ICallFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 181 #define ICallFrame_AddRef(This) (This)->lpVtbl->AddRef(This) 182 #define ICallFrame_Release(This) (This)->lpVtbl->Release(This) 183 #define ICallFrame_GetInfo(This,pInfo) (This)->lpVtbl->GetInfo(This,pInfo) 184 #define ICallFrame_GetIIDAndMethod(This,pIID,piMethod) (This)->lpVtbl->GetIIDAndMethod(This,pIID,piMethod) 185 #define ICallFrame_GetNames(This,pwszInterface,pwszMethod) (This)->lpVtbl->GetNames(This,pwszInterface,pwszMethod) 186 #define ICallFrame_GetStackLocation(This) (This)->lpVtbl->GetStackLocation(This) 187 #define ICallFrame_SetStackLocation(This,pvStack) (This)->lpVtbl->SetStackLocation(This,pvStack) 188 #define ICallFrame_SetReturnValue(This,hr) (This)->lpVtbl->SetReturnValue(This,hr) 189 #define ICallFrame_GetReturnValue(This) (This)->lpVtbl->GetReturnValue(This) 190 #define ICallFrame_GetParamInfo(This,iparam,pInfo) (This)->lpVtbl->GetParamInfo(This,iparam,pInfo) 191 #define ICallFrame_SetParam(This,iparam,pvar) (This)->lpVtbl->SetParam(This,iparam,pvar) 192 #define ICallFrame_GetParam(This,iparam,pvar) (This)->lpVtbl->GetParam(This,iparam,pvar) 193 #define ICallFrame_Copy(This,copyControl,pWalker,ppFrame) (This)->lpVtbl->Copy(This,copyControl,pWalker,ppFrame) 194 #define ICallFrame_Free(This,pframeArgsDest,pWalkerDestFree,pWalkerCopy,freeFlags,pWalkerFree,nullFlags) (This)->lpVtbl->Free(This,pframeArgsDest,pWalkerDestFree,pWalkerCopy,freeFlags,pWalkerFree,nullFlags) 195 #define ICallFrame_FreeParam(This,iparam,freeFlags,pWalkerFree,nullFlags) (This)->lpVtbl->FreeParam(This,iparam,freeFlags,pWalkerFree,nullFlags) 196 #define ICallFrame_WalkFrame(This,walkWhat,pWalker) (This)->lpVtbl->WalkFrame(This,walkWhat,pWalker) 197 #define ICallFrame_GetMarshalSizeMax(This,pmshlContext,mshlflags,pcbBufferNeeded) (This)->lpVtbl->GetMarshalSizeMax(This,pmshlContext,mshlflags,pcbBufferNeeded) 198 #define ICallFrame_Marshal(This,pmshlContext,mshlflags,pBuffer,cbBuffer,pcbBufferUsed,pdataRep,prpcFlags) (This)->lpVtbl->Marshal(This,pmshlContext,mshlflags,pBuffer,cbBuffer,pcbBufferUsed,pdataRep,prpcFlags) 199 #define ICallFrame_Unmarshal(This,pBuffer,cbBuffer,dataRep,pcontext,pcbUnmarshalled) (This)->lpVtbl->Unmarshal(This,pBuffer,cbBuffer,dataRep,pcontext,pcbUnmarshalled) 200 #define ICallFrame_ReleaseMarshalData(This,pBuffer,cbBuffer,ibFirstRelease,dataRep,pcontext) (This)->lpVtbl->ReleaseMarshalData(This,pBuffer,cbBuffer,ibFirstRelease,dataRep,pcontext) 201 #define ICallFrame_Invoke(This,pvReceiver,...) (This)->lpVtbl->Invoke(This,pvReceiver,...) 202 #endif 203 #endif 204 HRESULT WINAPI ICallFrame_GetInfo_Proxy(ICallFrame *This,CALLFRAMEINFO *pInfo); 205 void __RPC_STUB ICallFrame_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 206 HRESULT WINAPI ICallFrame_GetIIDAndMethod_Proxy(ICallFrame *This,IID *pIID,ULONG *piMethod); 207 void __RPC_STUB ICallFrame_GetIIDAndMethod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 208 HRESULT WINAPI ICallFrame_GetNames_Proxy(ICallFrame *This,LPWSTR *pwszInterface,LPWSTR *pwszMethod); 209 void __RPC_STUB ICallFrame_GetNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 210 PVOID WINAPI ICallFrame_GetStackLocation_Proxy(ICallFrame *This); 211 void __RPC_STUB ICallFrame_GetStackLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 212 void WINAPI ICallFrame_SetStackLocation_Proxy(ICallFrame *This,PVOID pvStack); 213 void __RPC_STUB ICallFrame_SetStackLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 214 void WINAPI ICallFrame_SetReturnValue_Proxy(ICallFrame *This,HRESULT hr); 215 void __RPC_STUB ICallFrame_SetReturnValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 216 HRESULT WINAPI ICallFrame_GetReturnValue_Proxy(ICallFrame *This); 217 void __RPC_STUB ICallFrame_GetReturnValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 218 HRESULT WINAPI ICallFrame_GetParamInfo_Proxy(ICallFrame *This,ULONG iparam,CALLFRAMEPARAMINFO *pInfo); 219 void __RPC_STUB ICallFrame_GetParamInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 220 HRESULT WINAPI ICallFrame_SetParam_Proxy(ICallFrame *This,ULONG iparam,VARIANT *pvar); 221 void __RPC_STUB ICallFrame_SetParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 222 HRESULT WINAPI ICallFrame_GetParam_Proxy(ICallFrame *This,ULONG iparam,VARIANT *pvar); 223 void __RPC_STUB ICallFrame_GetParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 224 HRESULT WINAPI ICallFrame_Copy_Proxy(ICallFrame *This,CALLFRAME_COPY copyControl,ICallFrameWalker *pWalker,ICallFrame **ppFrame); 225 void __RPC_STUB ICallFrame_Copy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 226 HRESULT WINAPI ICallFrame_Free_Proxy(ICallFrame *This,ICallFrame *pframeArgsDest,ICallFrameWalker *pWalkerDestFree,ICallFrameWalker *pWalkerCopy,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags); 227 void __RPC_STUB ICallFrame_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 228 HRESULT WINAPI ICallFrame_FreeParam_Proxy(ICallFrame *This,ULONG iparam,DWORD freeFlags,ICallFrameWalker *pWalkerFree,DWORD nullFlags); 229 void __RPC_STUB ICallFrame_FreeParam_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 230 HRESULT WINAPI ICallFrame_WalkFrame_Proxy(ICallFrame *This,DWORD walkWhat,ICallFrameWalker *pWalker); 231 void __RPC_STUB ICallFrame_WalkFrame_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 232 HRESULT WINAPI ICallFrame_GetMarshalSizeMax_Proxy(ICallFrame *This,CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,ULONG *pcbBufferNeeded); 233 void __RPC_STUB ICallFrame_GetMarshalSizeMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 234 HRESULT WINAPI ICallFrame_Marshal_Proxy(ICallFrame *This,CALLFRAME_MARSHALCONTEXT *pmshlContext,MSHLFLAGS mshlflags,PVOID pBuffer,ULONG cbBuffer,ULONG *pcbBufferUsed,RPCOLEDATAREP *pdataRep,ULONG *prpcFlags); 235 void __RPC_STUB ICallFrame_Marshal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 236 HRESULT WINAPI ICallFrame_Unmarshal_Proxy(ICallFrame *This,PVOID pBuffer,ULONG cbBuffer,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled); 237 void __RPC_STUB ICallFrame_Unmarshal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 238 HRESULT WINAPI ICallFrame_ReleaseMarshalData_Proxy(ICallFrame *This,PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext); 239 void __RPC_STUB ICallFrame_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 240 HRESULT WINAPI ICallFrame_Invoke_Proxy(ICallFrame *This,void *pvReceiver,...); 241 void __RPC_STUB ICallFrame_Invoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 242 #endif 243 244 #ifndef __ICallIndirect_INTERFACE_DEFINED__ 245 #define __ICallIndirect_INTERFACE_DEFINED__ 246 EXTERN_C const IID IID_ICallIndirect; 247 #if defined(__cplusplus) && !defined(CINTERFACE) 248 struct ICallIndirect : public IUnknown { 249 public: 250 virtual HRESULT WINAPI CallIndirect(HRESULT *phrReturn,ULONG iMethod,void *pvArgs,ULONG *cbArgs) = 0; 251 virtual HRESULT WINAPI GetMethodInfo(ULONG iMethod,CALLFRAMEINFO *pInfo,LPWSTR *pwszMethod) = 0; 252 virtual HRESULT WINAPI GetStackSize(ULONG iMethod,ULONG *cbArgs) = 0; 253 virtual HRESULT WINAPI GetIID(IID *piid,WINBOOL *pfDerivesFromIDispatch,ULONG *pcMethod,LPWSTR *pwszInterface) = 0; 254 }; 255 #else 256 typedef struct ICallIndirectVtbl { 257 BEGIN_INTERFACE 258 HRESULT (WINAPI *QueryInterface)(ICallIndirect *This,REFIID riid,void **ppvObject); 259 ULONG (WINAPI *AddRef)(ICallIndirect *This); 260 ULONG (WINAPI *Release)(ICallIndirect *This); 261 HRESULT (WINAPI *CallIndirect)(ICallIndirect *This,HRESULT *phrReturn,ULONG iMethod,void *pvArgs,ULONG *cbArgs); 262 HRESULT (WINAPI *GetMethodInfo)(ICallIndirect *This,ULONG iMethod,CALLFRAMEINFO *pInfo,LPWSTR *pwszMethod); 263 HRESULT (WINAPI *GetStackSize)(ICallIndirect *This,ULONG iMethod,ULONG *cbArgs); 264 HRESULT (WINAPI *GetIID)(ICallIndirect *This,IID *piid,WINBOOL *pfDerivesFromIDispatch,ULONG *pcMethod,LPWSTR *pwszInterface); 265 END_INTERFACE 266 } ICallIndirectVtbl; 267 struct ICallIndirect { 268 CONST_VTBL struct ICallIndirectVtbl *lpVtbl; 269 }; 270 #ifdef COBJMACROS 271 #define ICallIndirect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 272 #define ICallIndirect_AddRef(This) (This)->lpVtbl->AddRef(This) 273 #define ICallIndirect_Release(This) (This)->lpVtbl->Release(This) 274 #define ICallIndirect_CallIndirect(This,phrReturn,iMethod,pvArgs,cbArgs) (This)->lpVtbl->CallIndirect(This,phrReturn,iMethod,pvArgs,cbArgs) 275 #define ICallIndirect_GetMethodInfo(This,iMethod,pInfo,pwszMethod) (This)->lpVtbl->GetMethodInfo(This,iMethod,pInfo,pwszMethod) 276 #define ICallIndirect_GetStackSize(This,iMethod,cbArgs) (This)->lpVtbl->GetStackSize(This,iMethod,cbArgs) 277 #define ICallIndirect_GetIID(This,piid,pfDerivesFromIDispatch,pcMethod,pwszInterface) (This)->lpVtbl->GetIID(This,piid,pfDerivesFromIDispatch,pcMethod,pwszInterface) 278 #endif 279 #endif 280 HRESULT WINAPI ICallIndirect_CallIndirect_Proxy(ICallIndirect *This,HRESULT *phrReturn,ULONG iMethod,void *pvArgs,ULONG *cbArgs); 281 void __RPC_STUB ICallIndirect_CallIndirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 282 HRESULT WINAPI ICallIndirect_GetMethodInfo_Proxy(ICallIndirect *This,ULONG iMethod,CALLFRAMEINFO *pInfo,LPWSTR *pwszMethod); 283 void __RPC_STUB ICallIndirect_GetMethodInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 284 HRESULT WINAPI ICallIndirect_GetStackSize_Proxy(ICallIndirect *This,ULONG iMethod,ULONG *cbArgs); 285 void __RPC_STUB ICallIndirect_GetStackSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 286 HRESULT WINAPI ICallIndirect_GetIID_Proxy(ICallIndirect *This,IID *piid,WINBOOL *pfDerivesFromIDispatch,ULONG *pcMethod,LPWSTR *pwszInterface); 287 void __RPC_STUB ICallIndirect_GetIID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 288 #endif 289 290 #ifndef __ICallInterceptor_INTERFACE_DEFINED__ 291 #define __ICallInterceptor_INTERFACE_DEFINED__ 292 EXTERN_C const IID IID_ICallInterceptor; 293 #if defined(__cplusplus) && !defined(CINTERFACE) 294 struct ICallInterceptor : public ICallIndirect { 295 public: 296 virtual HRESULT WINAPI RegisterSink(ICallFrameEvents *psink) = 0; 297 virtual HRESULT WINAPI GetRegisteredSink(ICallFrameEvents **ppsink) = 0; 298 }; 299 #else 300 typedef struct ICallInterceptorVtbl { 301 BEGIN_INTERFACE 302 HRESULT (WINAPI *QueryInterface)(ICallInterceptor *This,REFIID riid,void **ppvObject); 303 ULONG (WINAPI *AddRef)(ICallInterceptor *This); 304 ULONG (WINAPI *Release)(ICallInterceptor *This); 305 HRESULT (WINAPI *CallIndirect)(ICallInterceptor *This,HRESULT *phrReturn,ULONG iMethod,void *pvArgs,ULONG *cbArgs); 306 HRESULT (WINAPI *GetMethodInfo)(ICallInterceptor *This,ULONG iMethod,CALLFRAMEINFO *pInfo,LPWSTR *pwszMethod); 307 HRESULT (WINAPI *GetStackSize)(ICallInterceptor *This,ULONG iMethod,ULONG *cbArgs); 308 HRESULT (WINAPI *GetIID)(ICallInterceptor *This,IID *piid,WINBOOL *pfDerivesFromIDispatch,ULONG *pcMethod,LPWSTR *pwszInterface); 309 HRESULT (WINAPI *RegisterSink)(ICallInterceptor *This,ICallFrameEvents *psink); 310 HRESULT (WINAPI *GetRegisteredSink)(ICallInterceptor *This,ICallFrameEvents **ppsink); 311 END_INTERFACE 312 } ICallInterceptorVtbl; 313 struct ICallInterceptor { 314 CONST_VTBL struct ICallInterceptorVtbl *lpVtbl; 315 }; 316 #ifdef COBJMACROS 317 #define ICallInterceptor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 318 #define ICallInterceptor_AddRef(This) (This)->lpVtbl->AddRef(This) 319 #define ICallInterceptor_Release(This) (This)->lpVtbl->Release(This) 320 #define ICallInterceptor_CallIndirect(This,phrReturn,iMethod,pvArgs,cbArgs) (This)->lpVtbl->CallIndirect(This,phrReturn,iMethod,pvArgs,cbArgs) 321 #define ICallInterceptor_GetMethodInfo(This,iMethod,pInfo,pwszMethod) (This)->lpVtbl->GetMethodInfo(This,iMethod,pInfo,pwszMethod) 322 #define ICallInterceptor_GetStackSize(This,iMethod,cbArgs) (This)->lpVtbl->GetStackSize(This,iMethod,cbArgs) 323 #define ICallInterceptor_GetIID(This,piid,pfDerivesFromIDispatch,pcMethod,pwszInterface) (This)->lpVtbl->GetIID(This,piid,pfDerivesFromIDispatch,pcMethod,pwszInterface) 324 #define ICallInterceptor_RegisterSink(This,psink) (This)->lpVtbl->RegisterSink(This,psink) 325 #define ICallInterceptor_GetRegisteredSink(This,ppsink) (This)->lpVtbl->GetRegisteredSink(This,ppsink) 326 #endif 327 #endif 328 HRESULT WINAPI ICallInterceptor_RegisterSink_Proxy(ICallInterceptor *This,ICallFrameEvents *psink); 329 void __RPC_STUB ICallInterceptor_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 330 HRESULT WINAPI ICallInterceptor_GetRegisteredSink_Proxy(ICallInterceptor *This,ICallFrameEvents **ppsink); 331 void __RPC_STUB ICallInterceptor_GetRegisteredSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 332 #endif 333 334 #ifndef __ICallFrameEvents_INTERFACE_DEFINED__ 335 #define __ICallFrameEvents_INTERFACE_DEFINED__ 336 EXTERN_C const IID IID_ICallFrameEvents; 337 #if defined(__cplusplus) && !defined(CINTERFACE) 338 struct ICallFrameEvents : public IUnknown { 339 public: 340 virtual HRESULT WINAPI OnCall(ICallFrame *pFrame) = 0; 341 }; 342 #else 343 typedef struct ICallFrameEventsVtbl { 344 BEGIN_INTERFACE 345 HRESULT (WINAPI *QueryInterface)(ICallFrameEvents *This,REFIID riid,void **ppvObject); 346 ULONG (WINAPI *AddRef)(ICallFrameEvents *This); 347 ULONG (WINAPI *Release)(ICallFrameEvents *This); 348 HRESULT (WINAPI *OnCall)(ICallFrameEvents *This,ICallFrame *pFrame); 349 END_INTERFACE 350 } ICallFrameEventsVtbl; 351 struct ICallFrameEvents { 352 CONST_VTBL struct ICallFrameEventsVtbl *lpVtbl; 353 }; 354 #ifdef COBJMACROS 355 #define ICallFrameEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 356 #define ICallFrameEvents_AddRef(This) (This)->lpVtbl->AddRef(This) 357 #define ICallFrameEvents_Release(This) (This)->lpVtbl->Release(This) 358 #define ICallFrameEvents_OnCall(This,pFrame) (This)->lpVtbl->OnCall(This,pFrame) 359 #endif 360 #endif 361 HRESULT WINAPI ICallFrameEvents_OnCall_Proxy(ICallFrameEvents *This,ICallFrame *pFrame); 362 void __RPC_STUB ICallFrameEvents_OnCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 363 #endif 364 365 #ifndef __ICallUnmarshal_INTERFACE_DEFINED__ 366 #define __ICallUnmarshal_INTERFACE_DEFINED__ 367 EXTERN_C const IID IID_ICallUnmarshal; 368 #if defined(__cplusplus) && !defined(CINTERFACE) 369 struct ICallUnmarshal : public IUnknown { 370 public: 371 virtual HRESULT WINAPI Unmarshal(ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,WINBOOL fForceBufferCopy,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled,ICallFrame **ppFrame) = 0; 372 virtual HRESULT WINAPI ReleaseMarshalData(ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext) = 0; 373 }; 374 #else 375 typedef struct ICallUnmarshalVtbl { 376 BEGIN_INTERFACE 377 HRESULT (WINAPI *QueryInterface)(ICallUnmarshal *This,REFIID riid,void **ppvObject); 378 ULONG (WINAPI *AddRef)(ICallUnmarshal *This); 379 ULONG (WINAPI *Release)(ICallUnmarshal *This); 380 HRESULT (WINAPI *Unmarshal)(ICallUnmarshal *This,ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,WINBOOL fForceBufferCopy,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled,ICallFrame **ppFrame); 381 HRESULT (WINAPI *ReleaseMarshalData)(ICallUnmarshal *This,ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext); 382 END_INTERFACE 383 } ICallUnmarshalVtbl; 384 struct ICallUnmarshal { 385 CONST_VTBL struct ICallUnmarshalVtbl *lpVtbl; 386 }; 387 #ifdef COBJMACROS 388 #define ICallUnmarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 389 #define ICallUnmarshal_AddRef(This) (This)->lpVtbl->AddRef(This) 390 #define ICallUnmarshal_Release(This) (This)->lpVtbl->Release(This) 391 #define ICallUnmarshal_Unmarshal(This,iMethod,pBuffer,cbBuffer,fForceBufferCopy,dataRep,pcontext,pcbUnmarshalled,ppFrame) (This)->lpVtbl->Unmarshal(This,iMethod,pBuffer,cbBuffer,fForceBufferCopy,dataRep,pcontext,pcbUnmarshalled,ppFrame) 392 #define ICallUnmarshal_ReleaseMarshalData(This,iMethod,pBuffer,cbBuffer,ibFirstRelease,dataRep,pcontext) (This)->lpVtbl->ReleaseMarshalData(This,iMethod,pBuffer,cbBuffer,ibFirstRelease,dataRep,pcontext) 393 #endif 394 #endif 395 HRESULT WINAPI ICallUnmarshal_Unmarshal_Proxy(ICallUnmarshal *This,ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,WINBOOL fForceBufferCopy,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext,ULONG *pcbUnmarshalled,ICallFrame **ppFrame); 396 void __RPC_STUB ICallUnmarshal_Unmarshal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 397 HRESULT WINAPI ICallUnmarshal_ReleaseMarshalData_Proxy(ICallUnmarshal *This,ULONG iMethod,PVOID pBuffer,ULONG cbBuffer,ULONG ibFirstRelease,RPCOLEDATAREP dataRep,CALLFRAME_MARSHALCONTEXT *pcontext); 398 void __RPC_STUB ICallUnmarshal_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 399 #endif 400 401 #ifndef __ICallFrameWalker_INTERFACE_DEFINED__ 402 #define __ICallFrameWalker_INTERFACE_DEFINED__ 403 EXTERN_C const IID IID_ICallFrameWalker; 404 #if defined(__cplusplus) && !defined(CINTERFACE) 405 struct ICallFrameWalker : public IUnknown { 406 public: 407 virtual HRESULT WINAPI OnWalkInterface(REFIID iid,PVOID *ppvInterface,WINBOOL fIn,WINBOOL fOut) = 0; 408 }; 409 #else 410 typedef struct ICallFrameWalkerVtbl { 411 BEGIN_INTERFACE 412 HRESULT (WINAPI *QueryInterface)(ICallFrameWalker *This,REFIID riid,void **ppvObject); 413 ULONG (WINAPI *AddRef)(ICallFrameWalker *This); 414 ULONG (WINAPI *Release)(ICallFrameWalker *This); 415 HRESULT (WINAPI *OnWalkInterface)(ICallFrameWalker *This,REFIID iid,PVOID *ppvInterface,WINBOOL fIn,WINBOOL fOut); 416 END_INTERFACE 417 } ICallFrameWalkerVtbl; 418 struct ICallFrameWalker { 419 CONST_VTBL struct ICallFrameWalkerVtbl *lpVtbl; 420 }; 421 #ifdef COBJMACROS 422 #define ICallFrameWalker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 423 #define ICallFrameWalker_AddRef(This) (This)->lpVtbl->AddRef(This) 424 #define ICallFrameWalker_Release(This) (This)->lpVtbl->Release(This) 425 #define ICallFrameWalker_OnWalkInterface(This,iid,ppvInterface,fIn,fOut) (This)->lpVtbl->OnWalkInterface(This,iid,ppvInterface,fIn,fOut) 426 #endif 427 #endif 428 HRESULT WINAPI ICallFrameWalker_OnWalkInterface_Proxy(ICallFrameWalker *This,REFIID iid,PVOID *ppvInterface,WINBOOL fIn,WINBOOL fOut); 429 void __RPC_STUB ICallFrameWalker_OnWalkInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 430 #endif 431 432 #ifndef __IInterfaceRelated_INTERFACE_DEFINED__ 433 #define __IInterfaceRelated_INTERFACE_DEFINED__ 434 EXTERN_C const IID IID_IInterfaceRelated; 435 #if defined(__cplusplus) && !defined(CINTERFACE) 436 struct IInterfaceRelated : public IUnknown { 437 public: 438 virtual HRESULT WINAPI SetIID(REFIID iid) = 0; 439 virtual HRESULT WINAPI GetIID(IID *piid) = 0; 440 }; 441 #else 442 typedef struct IInterfaceRelatedVtbl { 443 BEGIN_INTERFACE 444 HRESULT (WINAPI *QueryInterface)(IInterfaceRelated *This,REFIID riid,void **ppvObject); 445 ULONG (WINAPI *AddRef)(IInterfaceRelated *This); 446 ULONG (WINAPI *Release)(IInterfaceRelated *This); 447 HRESULT (WINAPI *SetIID)(IInterfaceRelated *This,REFIID iid); 448 HRESULT (WINAPI *GetIID)(IInterfaceRelated *This,IID *piid); 449 END_INTERFACE 450 } IInterfaceRelatedVtbl; 451 struct IInterfaceRelated { 452 CONST_VTBL struct IInterfaceRelatedVtbl *lpVtbl; 453 }; 454 #ifdef COBJMACROS 455 #define IInterfaceRelated_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 456 #define IInterfaceRelated_AddRef(This) (This)->lpVtbl->AddRef(This) 457 #define IInterfaceRelated_Release(This) (This)->lpVtbl->Release(This) 458 #define IInterfaceRelated_SetIID(This,iid) (This)->lpVtbl->SetIID(This,iid) 459 #define IInterfaceRelated_GetIID(This,piid) (This)->lpVtbl->GetIID(This,piid) 460 #endif 461 #endif 462 HRESULT WINAPI IInterfaceRelated_SetIID_Proxy(IInterfaceRelated *This,REFIID iid); 463 void __RPC_STUB IInterfaceRelated_SetIID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 464 HRESULT WINAPI IInterfaceRelated_GetIID_Proxy(IInterfaceRelated *This,IID *piid); 465 void __RPC_STUB IInterfaceRelated_GetIID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 466 #endif 467 468 #define CALLFRAME_E_ALREADYINVOKED _HRESULT_TYPEDEF_(0x8004d090) 469 #define CALLFRAME_E_COULDNTMAKECALL _HRESULT_TYPEDEF_(0x8004d091) 470 471 extern RPC_IF_HANDLE __MIDL_itf_callobj_0122_v0_0_c_ifspec; 472 extern RPC_IF_HANDLE __MIDL_itf_callobj_0122_v0_0_s_ifspec; 473 474 #ifndef __ICallFrameAPIs_INTERFACE_DEFINED__ 475 #define __ICallFrameAPIs_INTERFACE_DEFINED__ 476 HRESULT WINAPI CoGetInterceptor(REFIID iidIntercepted,IUnknown *punkOuter,REFIID iid,void **ppv); 477 HRESULT WINAPI CoGetInterceptorFromTypeInfo(REFIID iidIntercepted,IUnknown *punkOuter,ITypeInfo *typeInfo,REFIID iid,void **ppv); 478 479 extern RPC_IF_HANDLE ICallFrameAPIs_v0_0_c_ifspec; 480 extern RPC_IF_HANDLE ICallFrameAPIs_v0_0_s_ifspec; 481 #endif 482 483 #ifdef __cplusplus 484 } 485 #endif 486 #endif 487