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