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 __ctxtcall_h__ 23 #define __ctxtcall_h__ 24 25 #ifndef __IContextCallback_FWD_DEFINED__ 26 #define __IContextCallback_FWD_DEFINED__ 27 typedef struct IContextCallback IContextCallback; 28 #endif 29 30 #include "wtypes.h" 31 #include "objidl.h" 32 #ifdef __cplusplus 33 extern "C"{ 34 #endif 35 36 #ifndef __MIDL_user_allocate_free_DEFINED__ 37 #define __MIDL_user_allocate_free_DEFINED__ 38 void *__RPC_API MIDL_user_allocate(size_t); 39 void __RPC_API MIDL_user_free(void *); 40 #endif 41 42 typedef struct tagComCallData { 43 DWORD dwDispid; 44 DWORD dwReserved; 45 void *pUserDefined; 46 } ComCallData; 47 48 extern RPC_IF_HANDLE __MIDL_itf_ctxtcall_0000_v0_0_c_ifspec; 49 extern RPC_IF_HANDLE __MIDL_itf_ctxtcall_0000_v0_0_s_ifspec; 50 51 #ifndef __IContextCallback_INTERFACE_DEFINED__ 52 #define __IContextCallback_INTERFACE_DEFINED__ 53 typedef HRESULT (WINAPI *PFNCONTEXTCALL)(ComCallData *pParam); 54 EXTERN_C const IID IID_IContextCallback; 55 #if defined(__cplusplus) && !defined(CINTERFACE) 56 struct IContextCallback : public IUnknown { 57 public: 58 virtual HRESULT WINAPI ContextCallback(PFNCONTEXTCALL pfnCallback,ComCallData *pParam,REFIID riid,int iMethod,IUnknown *pUnk) = 0; 59 }; 60 #else 61 typedef struct IContextCallbackVtbl { 62 BEGIN_INTERFACE 63 HRESULT (WINAPI *QueryInterface)(IContextCallback *This,REFIID riid,void **ppvObject); 64 ULONG (WINAPI *AddRef)(IContextCallback *This); 65 ULONG (WINAPI *Release)(IContextCallback *This); 66 HRESULT (WINAPI *ContextCallback)(IContextCallback *This,PFNCONTEXTCALL pfnCallback,ComCallData *pParam,REFIID riid,int iMethod,IUnknown *pUnk); 67 END_INTERFACE 68 } IContextCallbackVtbl; 69 struct IContextCallback { 70 CONST_VTBL struct IContextCallbackVtbl *lpVtbl; 71 }; 72 #ifdef COBJMACROS 73 #define IContextCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 74 #define IContextCallback_AddRef(This) (This)->lpVtbl->AddRef(This) 75 #define IContextCallback_Release(This) (This)->lpVtbl->Release(This) 76 #define IContextCallback_ContextCallback(This,pfnCallback,pParam,riid,iMethod,pUnk) (This)->lpVtbl->ContextCallback(This,pfnCallback,pParam,riid,iMethod,pUnk) 77 #endif 78 #endif 79 HRESULT WINAPI IContextCallback_ContextCallback_Proxy(IContextCallback *This,PFNCONTEXTCALL pfnCallback,ComCallData *pParam,REFIID riid,int iMethod,IUnknown *pUnk); 80 void __RPC_STUB IContextCallback_ContextCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 81 #endif 82 83 #ifdef __cplusplus 84 } 85 #endif 86 #endif 87