1 /*** Autogenerated by WIDL 6.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__
23 typedef interface IServiceProvider IServiceProvider;
24 #ifdef __cplusplus
25 interface IServiceProvider;
26 #endif /* __cplusplus */
27 #endif
28 
29 /* Headers for imported files */
30 
31 #include <objidl.h>
32 
33 #ifdef __cplusplus
34 extern "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__
49 typedef interface IServiceProvider IServiceProvider;
50 #ifdef __cplusplus
51 interface IServiceProvider;
52 #endif /* __cplusplus */
53 #endif
54 
55 
56 /*****************************************************************************
57  * IServiceProvider interface
58  */
59 #ifndef __IServiceProvider_INTERFACE_DEFINED__
60 #define __IServiceProvider_INTERFACE_DEFINED__
61 
62 typedef IServiceProvider *LPSERVICEPROVIDER;
63 #if defined(__cplusplus) && !defined(CINTERFACE)
64 EXTERN_C const IID IID_IServiceProvider;
65 extern "C++" {
66 MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa")
67 IServiceProvider : public IUnknown {
68 public:
69 virtual  HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject) = 0;
70 
71 template <class Q>
QueryService(REFGUID guidService,Q ** pp)72 HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, Q **pp) {
73   return QueryService(guidService, __uuidof(Q), (void **)pp);
74 }
75 };
76 }
77 
78 HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy(IServiceProvider *This, REFGUID guidService, REFIID riid, IUnknown **ppvObject);
79 void __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
84 DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80,0x34, 0x00,0xaa,0x00,0x60,0x09,0xfa);
85 #if defined(__cplusplus) && !defined(CINTERFACE)
86 MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa")
87 IServiceProvider : 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
99 typedef 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 
124 interface 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 ***/
138 static FORCEINLINE HRESULT IServiceProvider_QueryInterface(IServiceProvider* This,REFIID riid,void **ppvObject) {
139     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
140 }
141 static FORCEINLINE ULONG IServiceProvider_AddRef(IServiceProvider* This) {
142     return This->lpVtbl->AddRef(This);
143 }
144 static FORCEINLINE ULONG IServiceProvider_Release(IServiceProvider* This) {
145     return This->lpVtbl->Release(This);
146 }
147 /*** IServiceProvider methods ***/
148 static FORCEINLINE 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 
156 HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy(
157     IServiceProvider* This,
158     REFGUID guidService,
159     REFIID riid,
160     IUnknown **ppvObject);
161 void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(
162     IRpcStubBuffer* This,
163     IRpcChannelBuffer* pRpcChannelBuffer,
164     PRPC_MESSAGE pRpcMessage,
165     DWORD* pdwStubPhase);
166 HRESULT CALLBACK IServiceProvider_QueryService_Proxy(
167     IServiceProvider* This,
168     REFGUID guidService,
169     REFIID riid,
170     void **ppvObject);
171 HRESULT __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__ */
192