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__ 28typedef struct IServiceProvider IServiceProvider; 29#endif 30 31#include "objidl.h" 32 33#ifdef __cplusplus 34extern "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