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__ 440 8 #endif 9 10 #include <_mingw.h> 11 #include "rpc.h" 12 #include "rpcndr.h" 13 14 #ifndef __RPCNDR_H_VERSION__ 15 #error This stub requires an updated version of <rpcndr.h> 16 #endif 17 18 #ifndef COM_NO_WINDOWS_H 19 #include "windows.h" 20 #include "ole2.h" 21 #endif 22 23 #ifndef __servprov_h__ 24 #define __servprov_h__ 25 26 #ifndef __IServiceProvider_FWD_DEFINED__ 27 #define __IServiceProvider_FWD_DEFINED__ 28 typedef struct IServiceProvider IServiceProvider; 29 #endif 30 31 #include "objidl.h" 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 #ifndef __MIDL_user_allocate_free_DEFINED__ 38 #define __MIDL_user_allocate_free_DEFINED__ 39 void *__RPC_API MIDL_user_allocate(size_t); 40 void __RPC_API MIDL_user_free(void *); 41 #endif 42 43 extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_c_ifspec; 44 extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_s_ifspec; 45 46 #ifndef __IServiceProvider_INTERFACE_DEFINED__ 47 #define __IServiceProvider_INTERFACE_DEFINED__ 48 typedef IServiceProvider *LPSERVICEPROVIDER; 49 50 #if defined(__cplusplus) && !defined(CINTERFACE) 51 EXTERN_C const IID IID_IServiceProvider; 52 extern "C++" { 53 struct IServiceProvider : public IUnknown { 54 public: 55 virtual HRESULT WINAPI QueryService(REFGUID guidService,REFIID riid,void **ppvObject) = 0; 56 #ifndef __STRICT_ANSI__ 57 template <class Q> HRESULT WINAPI QueryService(REFGUID guidService,Q **pp) { return QueryService(guidService,__uuidof(*pp),(void **)pp); } 58 #endif 59 }; 60 } 61 HRESULT WINAPI IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject); 62 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 63 #else 64 EXTERN_C const IID IID_IServiceProvider; 65 #if defined(__cplusplus) && !defined(CINTERFACE) 66 struct IServiceProvider : public IUnknown { 67 public: 68 virtual HRESULT WINAPI QueryService(REFGUID guidService,REFIID riid,void **ppvObject) = 0; 69 }; 70 #else 71 typedef struct IServiceProviderVtbl { 72 BEGIN_INTERFACE 73 HRESULT (WINAPI *QueryInterface)(IServiceProvider *This,REFIID riid,void **ppvObject); 74 ULONG (WINAPI *AddRef)(IServiceProvider *This); 75 ULONG (WINAPI *Release)(IServiceProvider *This); 76 HRESULT (WINAPI *QueryService)(IServiceProvider *This,REFGUID guidService,REFIID riid,void **ppvObject); 77 END_INTERFACE 78 } IServiceProviderVtbl; 79 struct IServiceProvider { 80 CONST_VTBL struct IServiceProviderVtbl *lpVtbl; 81 }; 82 #ifdef COBJMACROS 83 #define IServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 84 #define IServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 85 #define IServiceProvider_Release(This) (This)->lpVtbl->Release(This) 86 #define IServiceProvider_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject) 87 #endif 88 #endif 89 HRESULT WINAPI IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject); 90 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 91 #endif 92 #endif 93 94 extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_c_ifspec; 95 extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_s_ifspec; 96 97 HRESULT WINAPI IServiceProvider_QueryService_Proxy(IServiceProvider *This,REFGUID guidService,REFIID riid,void **ppvObject); 98 HRESULT WINAPI IServiceProvider_QueryService_Stub(IServiceProvider *This,REFGUID guidService,REFIID riid,IUnknown **ppvObject); 99 100 #ifdef __cplusplus 101 } 102 #endif 103 #endif 104