|  | /*** Autogenerated by WIDL 0.1 from servprov.idl - Do not edit ***/ | 
|  | #include <rpc.h> | 
|  | #include <rpcndr.h> | 
|  |  | 
|  | #ifndef __WIDL_SERVPROV_H | 
|  | #define __WIDL_SERVPROV_H | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  | #include <objidl.h> | 
|  | #ifndef __IServiceProvider_FWD_DEFINED__ | 
|  | #define __IServiceProvider_FWD_DEFINED__ | 
|  | typedef struct IServiceProvider IServiceProvider; | 
|  | #endif | 
|  |  | 
|  | typedef IServiceProvider *LPSERVICEPROVIDER; | 
|  |  | 
|  | /***************************************************************************** | 
|  | * IServiceProvider interface | 
|  | */ | 
|  | #ifndef __IServiceProvider_INTERFACE_DEFINED__ | 
|  | #define __IServiceProvider_INTERFACE_DEFINED__ | 
|  |  | 
|  | DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa); | 
|  | #if defined(__cplusplus) && !defined(CINTERFACE) | 
|  | struct IServiceProvider : public IUnknown | 
|  | { | 
|  | virtual HRESULT STDMETHODCALLTYPE QueryService( | 
|  | REFGUID guidService, | 
|  | REFIID riid, | 
|  | void** ppvObject) = 0; | 
|  |  | 
|  | }; | 
|  | #else | 
|  | typedef struct IServiceProviderVtbl IServiceProviderVtbl; | 
|  | struct IServiceProvider { | 
|  | const IServiceProviderVtbl* lpVtbl; | 
|  | }; | 
|  | struct IServiceProviderVtbl { | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryInterface)( | 
|  | IServiceProvider* This, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *AddRef)( | 
|  | IServiceProvider* This); | 
|  |  | 
|  | ULONG (STDMETHODCALLTYPE *Release)( | 
|  | IServiceProvider* This); | 
|  |  | 
|  | /*** IServiceProvider methods ***/ | 
|  | HRESULT (STDMETHODCALLTYPE *QueryService)( | 
|  | IServiceProvider* This, | 
|  | REFGUID guidService, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  |  | 
|  | }; | 
|  |  | 
|  | /*** IUnknown methods ***/ | 
|  | #define IServiceProvider_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) | 
|  | #define IServiceProvider_AddRef(p) (p)->lpVtbl->AddRef(p) | 
|  | #define IServiceProvider_Release(p) (p)->lpVtbl->Release(p) | 
|  | /*** IServiceProvider methods ***/ | 
|  | #define IServiceProvider_QueryService(p,a,b,c) (p)->lpVtbl->QueryService(p,a,b,c) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #define IServiceProvider_METHODS \ | 
|  | ICOM_MSVTABLE_COMPAT_FIELDS \ | 
|  | /*** IUnknown methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ | 
|  | STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ | 
|  | STDMETHOD_(ULONG,Release)(THIS) PURE; \ | 
|  | /*** IServiceProvider methods ***/ \ | 
|  | STDMETHOD_(HRESULT,QueryService)(THIS_ REFGUID guidService, REFIID riid, void** ppvObject) PURE; | 
|  |  | 
|  | HRESULT CALLBACK IServiceProvider_RemoteQueryService_Proxy( | 
|  | IServiceProvider* This, | 
|  | REFGUID guidService, | 
|  | REFIID riid, | 
|  | IUnknown** ppvObject); | 
|  | void __RPC_STUB IServiceProvider_RemoteQueryService_Stub( | 
|  | struct IRpcStubBuffer* This, | 
|  | struct IRpcChannelBuffer* pRpcChannelBuffer, | 
|  | PRPC_MESSAGE pRpcMessage, | 
|  | DWORD* pdwStubPhase); | 
|  | HRESULT CALLBACK IServiceProvider_QueryService_Proxy( | 
|  | IServiceProvider* This, | 
|  | REFGUID guidService, | 
|  | REFIID riid, | 
|  | void** ppvObject); | 
|  | HRESULT __RPC_STUB IServiceProvider_QueryService_Stub( | 
|  | IServiceProvider* This, | 
|  | REFGUID guidService, | 
|  | REFIID riid, | 
|  | IUnknown** ppvObject); | 
|  |  | 
|  | #endif  /* __IServiceProvider_INTERFACE_DEFINED__ */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif /* __WIDL_SERVPROV_H */ |