1 /*** Autogenerated by WIDL 1.6 from include/servprov.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __servprov_h__ 16 #define __servprov_h__ 17 18 /* Forward declarations */ 19 20 #ifndef __IServiceProvider_FWD_DEFINED__ 21 #define __IServiceProvider_FWD_DEFINED__ 22 typedef interface IServiceProvider IServiceProvider; 23 #endif 24 25 /* Headers for imported files */ 26 27 #include <objidl.h> 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 /** 34 * This file is part of the mingw-w64 runtime package. 35 * No warranty is given; refer to the file DISCLAIMER within this package. 36 */ 37 38 #include <winapifamily.h> 39 40 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 41 42 43 #ifndef __IServiceProvider_FWD_DEFINED__ 44 #define __IServiceProvider_FWD_DEFINED__ 45 typedef interface IServiceProvider IServiceProvider; 46 #endif 47 48 49 /***************************************************************************** 50 * IServiceProvider interface 51 */ 52 #ifndef __IServiceProvider_INTERFACE_DEFINED__ 53 #define __IServiceProvider_INTERFACE_DEFINED__ 54 55 typedef IServiceProvider *LPSERVICEPROVIDER; 56 #if defined(__cplusplus) && !defined(CINTERFACE) 57 EXTERN_C const IID IID_IServiceProvider; 58 extern "C++" { 59 MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa") 60 IServiceProvider : public IUnknown { 61 public: 62 virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject) = 0; 63 64 template <class Q> 65 HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, Q **pp) { 66 return QueryService(guidService, __uuidof(Q), (void **)pp); 67 } 68 }; 69 } 70 71 HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This, REFGUID guidService, REFIID riid, IUnknown **ppvObject); 72 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); 73 #ifdef __CRT_UUID_DECL 74 __CRT_UUID_DECL(IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa) 75 #endif 76 #else 77 DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa); 78 #if defined(__cplusplus) && !defined(CINTERFACE) 79 MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa") 80 IServiceProvider : public IUnknown 81 { 82 virtual HRESULT STDMETHODCALLTYPE QueryService( 83 REFGUID guidService, 84 REFIID riid, 85 void **ppvObject) = 0; 86 87 }; 88 #ifdef __CRT_UUID_DECL 89 __CRT_UUID_DECL(IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa) 90 #endif 91 #else 92 typedef struct IServiceProviderVtbl { 93 BEGIN_INTERFACE 94 95 /*** IUnknown methods ***/ 96 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 97 IServiceProvider* This, 98 REFIID riid, 99 void **ppvObject); 100 101 ULONG (STDMETHODCALLTYPE *AddRef)( 102 IServiceProvider* This); 103 104 ULONG (STDMETHODCALLTYPE *Release)( 105 IServiceProvider* This); 106 107 /*** IServiceProvider methods ***/ 108 HRESULT (STDMETHODCALLTYPE *QueryService)( 109 IServiceProvider* This, 110 REFGUID guidService, 111 REFIID riid, 112 void **ppvObject); 113 114 END_INTERFACE 115 } IServiceProviderVtbl; 116 interface IServiceProvider { 117 CONST_VTBL IServiceProviderVtbl* lpVtbl; 118 }; 119 120 #ifdef COBJMACROS 121 #ifndef WIDL_C_INLINE_WRAPPERS 122 /*** IUnknown methods ***/ 123 #define IServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 124 #define IServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 125 #define IServiceProvider_Release(This) (This)->lpVtbl->Release(This) 126 /*** IServiceProvider methods ***/ 127 #define IServiceProvider_QueryService(This,guidService,riid,ppvObject) (This)->lpVtbl->QueryService(This,guidService,riid,ppvObject) 128 #else 129 /*** IUnknown methods ***/ 130 static FORCEINLINE HRESULT IServiceProvider_QueryInterface(IServiceProvider* This,REFIID riid,void **ppvObject) { 131 return This->lpVtbl->QueryInterface(This,riid,ppvObject); 132 } 133 static FORCEINLINE ULONG IServiceProvider_AddRef(IServiceProvider* This) { 134 return This->lpVtbl->AddRef(This); 135 } 136 static FORCEINLINE ULONG IServiceProvider_Release(IServiceProvider* This) { 137 return This->lpVtbl->Release(This); 138 } 139 /*** IServiceProvider methods ***/ 140 static FORCEINLINE HRESULT IServiceProvider_QueryService(IServiceProvider* This,REFGUID guidService,REFIID riid,void **ppvObject) { 141 return This->lpVtbl->QueryService(This,guidService,riid,ppvObject); 142 } 143 #endif 144 #endif 145 146 #endif 147 148 HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy( 149 IServiceProvider* This, 150 REFGUID guidService, 151 REFIID riid, 152 IUnknown **ppvObject); 153 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub( 154 IRpcStubBuffer* This, 155 IRpcChannelBuffer* pRpcChannelBuffer, 156 PRPC_MESSAGE pRpcMessage, 157 DWORD* pdwStubPhase); 158 HRESULT CALLBACK IServiceProvider_QueryService_Proxy( 159 IServiceProvider* This, 160 REFGUID guidService, 161 REFIID riid, 162 void **ppvObject); 163 HRESULT __RPC_STUB IServiceProvider_QueryService_Stub( 164 IServiceProvider* This, 165 REFGUID guidService, 166 REFIID riid, 167 IUnknown **ppvObject); 168 169 #endif /* __IServiceProvider_INTERFACE_DEFINED__ */ 170 171 #endif 172 173 #endif 174 /* Begin additional prototypes for all interfaces */ 175 176 177 /* End additional prototypes */ 178 179 #ifdef __cplusplus 180 } 181 #endif 182 183 #endif /* __servprov_h__ */ 184