callobj.h 30 KB

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