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