1 /*** Autogenerated by WIDL 6.4 from include/wbemprov.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 __wbemprov_h__
17 #define __wbemprov_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __WbemAdministrativeLocator_FWD_DEFINED__
22 #define __WbemAdministrativeLocator_FWD_DEFINED__
23 #ifdef __cplusplus
24 typedef class WbemAdministrativeLocator WbemAdministrativeLocator;
25 #else
26 typedef struct WbemAdministrativeLocator WbemAdministrativeLocator;
27 #endif /* defined __cplusplus */
28 #endif /* defined __WbemAdministrativeLocator_FWD_DEFINED__ */
29 
30 #ifndef __WbemAuthenticatedLocator_FWD_DEFINED__
31 #define __WbemAuthenticatedLocator_FWD_DEFINED__
32 #ifdef __cplusplus
33 typedef class WbemAuthenticatedLocator WbemAuthenticatedLocator;
34 #else
35 typedef struct WbemAuthenticatedLocator WbemAuthenticatedLocator;
36 #endif /* defined __cplusplus */
37 #endif /* defined __WbemAuthenticatedLocator_FWD_DEFINED__ */
38 
39 #ifndef __WbemUnauthenticatedLocator_FWD_DEFINED__
40 #define __WbemUnauthenticatedLocator_FWD_DEFINED__
41 #ifdef __cplusplus
42 typedef class WbemUnauthenticatedLocator WbemUnauthenticatedLocator;
43 #else
44 typedef struct WbemUnauthenticatedLocator WbemUnauthenticatedLocator;
45 #endif /* defined __cplusplus */
46 #endif /* defined __WbemUnauthenticatedLocator_FWD_DEFINED__ */
47 
48 #ifndef __WbemDecoupledRegistrar_FWD_DEFINED__
49 #define __WbemDecoupledRegistrar_FWD_DEFINED__
50 #ifdef __cplusplus
51 typedef class WbemDecoupledRegistrar WbemDecoupledRegistrar;
52 #else
53 typedef struct WbemDecoupledRegistrar WbemDecoupledRegistrar;
54 #endif /* defined __cplusplus */
55 #endif /* defined __WbemDecoupledRegistrar_FWD_DEFINED__ */
56 
57 #ifndef __WbemDecoupledBasicEventProvider_FWD_DEFINED__
58 #define __WbemDecoupledBasicEventProvider_FWD_DEFINED__
59 #ifdef __cplusplus
60 typedef class WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider;
61 #else
62 typedef struct WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider;
63 #endif /* defined __cplusplus */
64 #endif /* defined __WbemDecoupledBasicEventProvider_FWD_DEFINED__ */
65 
66 #ifndef __IWbemUnboundObjectSink_FWD_DEFINED__
67 #define __IWbemUnboundObjectSink_FWD_DEFINED__
68 typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink;
69 #ifdef __cplusplus
70 interface IWbemUnboundObjectSink;
71 #endif /* __cplusplus */
72 #endif
73 
74 #ifndef __IWbemPropertyProvider_FWD_DEFINED__
75 #define __IWbemPropertyProvider_FWD_DEFINED__
76 typedef interface IWbemPropertyProvider IWbemPropertyProvider;
77 #ifdef __cplusplus
78 interface IWbemPropertyProvider;
79 #endif /* __cplusplus */
80 #endif
81 
82 #ifndef __IWbemEventProvider_FWD_DEFINED__
83 #define __IWbemEventProvider_FWD_DEFINED__
84 typedef interface IWbemEventProvider IWbemEventProvider;
85 #ifdef __cplusplus
86 interface IWbemEventProvider;
87 #endif /* __cplusplus */
88 #endif
89 
90 #ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__
91 #define __IWbemEventProviderQuerySink_FWD_DEFINED__
92 typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink;
93 #ifdef __cplusplus
94 interface IWbemEventProviderQuerySink;
95 #endif /* __cplusplus */
96 #endif
97 
98 #ifndef __IWbemEventProviderSecurity_FWD_DEFINED__
99 #define __IWbemEventProviderSecurity_FWD_DEFINED__
100 typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity;
101 #ifdef __cplusplus
102 interface IWbemEventProviderSecurity;
103 #endif /* __cplusplus */
104 #endif
105 
106 #ifndef __IWbemProviderIdentity_FWD_DEFINED__
107 #define __IWbemProviderIdentity_FWD_DEFINED__
108 typedef interface IWbemProviderIdentity IWbemProviderIdentity;
109 #ifdef __cplusplus
110 interface IWbemProviderIdentity;
111 #endif /* __cplusplus */
112 #endif
113 
114 #ifndef __IWbemEventConsumerProvider_FWD_DEFINED__
115 #define __IWbemEventConsumerProvider_FWD_DEFINED__
116 typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider;
117 #ifdef __cplusplus
118 interface IWbemEventConsumerProvider;
119 #endif /* __cplusplus */
120 #endif
121 
122 #ifndef __IWbemProviderInitSink_FWD_DEFINED__
123 #define __IWbemProviderInitSink_FWD_DEFINED__
124 typedef interface IWbemProviderInitSink IWbemProviderInitSink;
125 #ifdef __cplusplus
126 interface IWbemProviderInitSink;
127 #endif /* __cplusplus */
128 #endif
129 
130 #ifndef __IWbemProviderInit_FWD_DEFINED__
131 #define __IWbemProviderInit_FWD_DEFINED__
132 typedef interface IWbemProviderInit IWbemProviderInit;
133 #ifdef __cplusplus
134 interface IWbemProviderInit;
135 #endif /* __cplusplus */
136 #endif
137 
138 #ifndef __IWbemHiPerfProvider_FWD_DEFINED__
139 #define __IWbemHiPerfProvider_FWD_DEFINED__
140 typedef interface IWbemHiPerfProvider IWbemHiPerfProvider;
141 #ifdef __cplusplus
142 interface IWbemHiPerfProvider;
143 #endif /* __cplusplus */
144 #endif
145 
146 #ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__
147 #define __IWbemDecoupledRegistrar_FWD_DEFINED__
148 typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar;
149 #ifdef __cplusplus
150 interface IWbemDecoupledRegistrar;
151 #endif /* __cplusplus */
152 #endif
153 
154 #ifndef __IWbemDecoupledBasicEventProvider_FWD_DEFINED__
155 #define __IWbemDecoupledBasicEventProvider_FWD_DEFINED__
156 typedef interface IWbemDecoupledBasicEventProvider IWbemDecoupledBasicEventProvider;
157 #ifdef __cplusplus
158 interface IWbemDecoupledBasicEventProvider;
159 #endif /* __cplusplus */
160 #endif
161 
162 #ifndef __IWbemEventSink_FWD_DEFINED__
163 #define __IWbemEventSink_FWD_DEFINED__
164 typedef interface IWbemEventSink IWbemEventSink;
165 #ifdef __cplusplus
166 interface IWbemEventSink;
167 #endif /* __cplusplus */
168 #endif
169 
170 /* Headers for imported files */
171 
172 #include <objidl.h>
173 #include <oleidl.h>
174 #include <oaidl.h>
175 #include <wbemcli.h>
176 
177 #ifdef __cplusplus
178 extern "C" {
179 #endif
180 
181 /**
182  * This file is part of the mingw-w64 runtime package.
183  * No warranty is given; refer to the file DISCLAIMER within this package.
184  */
185 
186 #include <winapifamily.h>
187 
188 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
189 typedef VARIANT WBEM_VARIANT;
190 typedef LPWSTR WBEM_WSTR;
191 typedef LPCWSTR WBEM_CWSTR;
192 typedef enum tag_WBEM_PROVIDER_REQUIREMENTS_TYPE {
193     WBEM_REQUIREMENTS_START_POSTFILTER = 0,
194     WBEM_REQUIREMENTS_STOP_POSTFILTER = 1,
195     WBEM_REQUIREMENTS_RECHECK_SUBSCRIPTIONS = 2
196 } WBEM_PROVIDER_REQUIREMENTS_TYPE;
197 #ifndef __IWbemPropertyProvider_FWD_DEFINED__
198 #define __IWbemPropertyProvider_FWD_DEFINED__
199 typedef interface IWbemPropertyProvider IWbemPropertyProvider;
200 #ifdef __cplusplus
201 interface IWbemPropertyProvider;
202 #endif /* __cplusplus */
203 #endif
204 
205 #ifndef __IWbemUnboundObjectSink_FWD_DEFINED__
206 #define __IWbemUnboundObjectSink_FWD_DEFINED__
207 typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink;
208 #ifdef __cplusplus
209 interface IWbemUnboundObjectSink;
210 #endif /* __cplusplus */
211 #endif
212 
213 #ifndef __IWbemEventProvider_FWD_DEFINED__
214 #define __IWbemEventProvider_FWD_DEFINED__
215 typedef interface IWbemEventProvider IWbemEventProvider;
216 #ifdef __cplusplus
217 interface IWbemEventProvider;
218 #endif /* __cplusplus */
219 #endif
220 
221 #ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__
222 #define __IWbemEventProviderQuerySink_FWD_DEFINED__
223 typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink;
224 #ifdef __cplusplus
225 interface IWbemEventProviderQuerySink;
226 #endif /* __cplusplus */
227 #endif
228 
229 #ifndef __IWbemEventProviderSecurity_FWD_DEFINED__
230 #define __IWbemEventProviderSecurity_FWD_DEFINED__
231 typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity;
232 #ifdef __cplusplus
233 interface IWbemEventProviderSecurity;
234 #endif /* __cplusplus */
235 #endif
236 
237 #ifndef __IWbemEventConsumerProvider_FWD_DEFINED__
238 #define __IWbemEventConsumerProvider_FWD_DEFINED__
239 typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider;
240 #ifdef __cplusplus
241 interface IWbemEventConsumerProvider;
242 #endif /* __cplusplus */
243 #endif
244 
245 #ifndef __IWbemProviderInitSink_FWD_DEFINED__
246 #define __IWbemProviderInitSink_FWD_DEFINED__
247 typedef interface IWbemProviderInitSink IWbemProviderInitSink;
248 #ifdef __cplusplus
249 interface IWbemProviderInitSink;
250 #endif /* __cplusplus */
251 #endif
252 
253 #ifndef __IWbemProviderInit_FWD_DEFINED__
254 #define __IWbemProviderInit_FWD_DEFINED__
255 typedef interface IWbemProviderInit IWbemProviderInit;
256 #ifdef __cplusplus
257 interface IWbemProviderInit;
258 #endif /* __cplusplus */
259 #endif
260 
261 #ifndef __IWbemHiPerfProvider_FWD_DEFINED__
262 #define __IWbemHiPerfProvider_FWD_DEFINED__
263 typedef interface IWbemHiPerfProvider IWbemHiPerfProvider;
264 #ifdef __cplusplus
265 interface IWbemHiPerfProvider;
266 #endif /* __cplusplus */
267 #endif
268 
269 #ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__
270 #define __IWbemDecoupledRegistrar_FWD_DEFINED__
271 typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar;
272 #ifdef __cplusplus
273 interface IWbemDecoupledRegistrar;
274 #endif /* __cplusplus */
275 #endif
276 
277 #ifndef __WbemProviders_v1_LIBRARY_DEFINED__
278 #define __WbemProviders_v1_LIBRARY_DEFINED__
279 
280 DEFINE_GUID(LIBID_WbemProviders_v1, 0x092df710, 0x7010, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
281 
282 /*****************************************************************************
283  * WbemAdministrativeLocator coclass
284  */
285 
286 DEFINE_GUID(CLSID_WbemAdministrativeLocator, 0xcb8555cc, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
287 
288 #ifdef __cplusplus
289 class DECLSPEC_UUID("cb8555cc-9128-11d1-ad9b-00c04fd8fdff") WbemAdministrativeLocator;
290 #ifdef __CRT_UUID_DECL
291 __CRT_UUID_DECL(WbemAdministrativeLocator, 0xcb8555cc, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
292 #endif
293 #endif
294 
295 /*****************************************************************************
296  * WbemAuthenticatedLocator coclass
297  */
298 
299 DEFINE_GUID(CLSID_WbemAuthenticatedLocator, 0xcd184336, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
300 
301 #ifdef __cplusplus
302 class DECLSPEC_UUID("cd184336-9128-11d1-ad9b-00c04fd8fdff") WbemAuthenticatedLocator;
303 #ifdef __CRT_UUID_DECL
304 __CRT_UUID_DECL(WbemAuthenticatedLocator, 0xcd184336, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
305 #endif
306 #endif
307 
308 /*****************************************************************************
309  * WbemUnauthenticatedLocator coclass
310  */
311 
312 DEFINE_GUID(CLSID_WbemUnauthenticatedLocator, 0x443e7b79, 0xde31, 0x11d2, 0xb3,0x40, 0x00,0x10,0x4b,0xcc,0x4b,0x4a);
313 
314 #ifdef __cplusplus
315 class DECLSPEC_UUID("443e7b79-de31-11d2-b340-00104bcc4b4a") WbemUnauthenticatedLocator;
316 #ifdef __CRT_UUID_DECL
317 __CRT_UUID_DECL(WbemUnauthenticatedLocator, 0x443e7b79, 0xde31, 0x11d2, 0xb3,0x40, 0x00,0x10,0x4b,0xcc,0x4b,0x4a)
318 #endif
319 #endif
320 
321 /*****************************************************************************
322  * WbemDecoupledRegistrar coclass
323  */
324 
325 DEFINE_GUID(CLSID_WbemDecoupledRegistrar, 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c,0x32, 0x8e,0xa2,0xa6,0xb5,0x6f,0xcb);
326 
327 #ifdef __cplusplus
328 class DECLSPEC_UUID("4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb") WbemDecoupledRegistrar;
329 #ifdef __CRT_UUID_DECL
330 __CRT_UUID_DECL(WbemDecoupledRegistrar, 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c,0x32, 0x8e,0xa2,0xa6,0xb5,0x6f,0xcb)
331 #endif
332 #endif
333 
334 /*****************************************************************************
335  * WbemDecoupledBasicEventProvider coclass
336  */
337 
338 DEFINE_GUID(CLSID_WbemDecoupledBasicEventProvider, 0xf5f75737, 0x2843, 0x4f22, 0x93,0x3d, 0xc7,0x6a,0x97,0xcd,0xa6,0x2f);
339 
340 #ifdef __cplusplus
341 class DECLSPEC_UUID("f5f75737-2843-4f22-933d-c76a97cda62f") WbemDecoupledBasicEventProvider;
342 #ifdef __CRT_UUID_DECL
343 __CRT_UUID_DECL(WbemDecoupledBasicEventProvider, 0xf5f75737, 0x2843, 0x4f22, 0x93,0x3d, 0xc7,0x6a,0x97,0xcd,0xa6,0x2f)
344 #endif
345 #endif
346 
347 #endif /* __WbemProviders_v1_LIBRARY_DEFINED__ */
348 typedef enum tag_WBEM_BATCH_TYPE {
349     WBEM_FLAG_BATCH_IF_NEEDED = 0,
350     WBEM_FLAG_MUST_BATCH = 0x1,
351     WBEM_FLAG_MUST_NOT_BATCH = 0x2
352 } WBEM_BATCH_TYPE;
353 typedef enum tag_WBEM_PROVIDER_FLAGS {
354     WBEM_FLAG_OWNER_UPDATE = 0x10000
355 } WBEM_PROVIDER_FLAGS;
356 typedef enum tag_WBEM_EXTRA_RETURN_CODES {
357     WBEM_S_INITIALIZED = 0,
358     WBEM_S_LIMITED_SERVICE = 0x43001,
359     WBEM_S_INDIRECTLY_UPDATED = 0x43002,
360     WBEM_S_SUBJECT_TO_SDS = 0x43003,
361     WBEM_E_RETRY_LATER = 0x80043001,
362     WBEM_E_RESOURCE_CONTENTION = 0x80043002
363 } WBEM_EXTRA_RETURN_CODES;
364 /*****************************************************************************
365  * IWbemUnboundObjectSink interface
366  */
367 #ifndef __IWbemUnboundObjectSink_INTERFACE_DEFINED__
368 #define __IWbemUnboundObjectSink_INTERFACE_DEFINED__
369 
370 DEFINE_GUID(IID_IWbemUnboundObjectSink, 0xe246107b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
371 #if defined(__cplusplus) && !defined(CINTERFACE)
372 MIDL_INTERFACE("e246107b-b06e-11d0-ad61-00c04fd8fdff")
373 IWbemUnboundObjectSink : public IUnknown
374 {
375     virtual HRESULT STDMETHODCALLTYPE IndicateToConsumer(
376         IWbemClassObject *pLogicalConsumer,
377         LONG lNumObjects,
378         IWbemClassObject **apObjects) = 0;
379 
380 };
381 #ifdef __CRT_UUID_DECL
382 __CRT_UUID_DECL(IWbemUnboundObjectSink, 0xe246107b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
383 #endif
384 #else
385 typedef struct IWbemUnboundObjectSinkVtbl {
386     BEGIN_INTERFACE
387 
388     /*** IUnknown methods ***/
389     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
390         IWbemUnboundObjectSink *This,
391         REFIID riid,
392         void **ppvObject);
393 
394     ULONG (STDMETHODCALLTYPE *AddRef)(
395         IWbemUnboundObjectSink *This);
396 
397     ULONG (STDMETHODCALLTYPE *Release)(
398         IWbemUnboundObjectSink *This);
399 
400     /*** IWbemUnboundObjectSink methods ***/
401     HRESULT (STDMETHODCALLTYPE *IndicateToConsumer)(
402         IWbemUnboundObjectSink *This,
403         IWbemClassObject *pLogicalConsumer,
404         LONG lNumObjects,
405         IWbemClassObject **apObjects);
406 
407     END_INTERFACE
408 } IWbemUnboundObjectSinkVtbl;
409 
410 interface IWbemUnboundObjectSink {
411     CONST_VTBL IWbemUnboundObjectSinkVtbl* lpVtbl;
412 };
413 
414 #ifdef COBJMACROS
415 #ifndef WIDL_C_INLINE_WRAPPERS
416 /*** IUnknown methods ***/
417 #define IWbemUnboundObjectSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
418 #define IWbemUnboundObjectSink_AddRef(This) (This)->lpVtbl->AddRef(This)
419 #define IWbemUnboundObjectSink_Release(This) (This)->lpVtbl->Release(This)
420 /*** IWbemUnboundObjectSink methods ***/
421 #define IWbemUnboundObjectSink_IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects) (This)->lpVtbl->IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects)
422 #else
423 /*** IUnknown methods ***/
424 static FORCEINLINE HRESULT IWbemUnboundObjectSink_QueryInterface(IWbemUnboundObjectSink* This,REFIID riid,void **ppvObject) {
425     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
426 }
427 static FORCEINLINE ULONG IWbemUnboundObjectSink_AddRef(IWbemUnboundObjectSink* This) {
428     return This->lpVtbl->AddRef(This);
429 }
430 static FORCEINLINE ULONG IWbemUnboundObjectSink_Release(IWbemUnboundObjectSink* This) {
431     return This->lpVtbl->Release(This);
432 }
433 /*** IWbemUnboundObjectSink methods ***/
434 static FORCEINLINE HRESULT IWbemUnboundObjectSink_IndicateToConsumer(IWbemUnboundObjectSink* This,IWbemClassObject *pLogicalConsumer,LONG lNumObjects,IWbemClassObject **apObjects) {
435     return This->lpVtbl->IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects);
436 }
437 #endif
438 #endif
439 
440 #endif
441 
442 
443 #endif  /* __IWbemUnboundObjectSink_INTERFACE_DEFINED__ */
444 
445 /*****************************************************************************
446  * IWbemPropertyProvider interface
447  */
448 #ifndef __IWbemPropertyProvider_INTERFACE_DEFINED__
449 #define __IWbemPropertyProvider_INTERFACE_DEFINED__
450 
451 DEFINE_GUID(IID_IWbemPropertyProvider, 0xce61e841, 0x65bc, 0x11d0, 0xb6,0xbd, 0x00,0xaa,0x00,0x32,0x40,0xc7);
452 #if defined(__cplusplus) && !defined(CINTERFACE)
453 MIDL_INTERFACE("ce61e841-65bc-11d0-b6bd-00aa003240c7")
454 IWbemPropertyProvider : public IUnknown
455 {
456     virtual HRESULT STDMETHODCALLTYPE GetProperty(
457         LONG lFlags,
458         const BSTR strLocale,
459         const BSTR strClassMapping,
460         const BSTR strInstMapping,
461         const BSTR strPropMapping,
462         VARIANT *pvValue) = 0;
463 
464     virtual HRESULT STDMETHODCALLTYPE PutProperty(
465         LONG lFlags,
466         const BSTR strLocale,
467         const BSTR strClassMapping,
468         const BSTR strInstMapping,
469         const BSTR strPropMapping,
470         const VARIANT *pvValue) = 0;
471 
472 };
473 #ifdef __CRT_UUID_DECL
474 __CRT_UUID_DECL(IWbemPropertyProvider, 0xce61e841, 0x65bc, 0x11d0, 0xb6,0xbd, 0x00,0xaa,0x00,0x32,0x40,0xc7)
475 #endif
476 #else
477 typedef struct IWbemPropertyProviderVtbl {
478     BEGIN_INTERFACE
479 
480     /*** IUnknown methods ***/
481     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
482         IWbemPropertyProvider *This,
483         REFIID riid,
484         void **ppvObject);
485 
486     ULONG (STDMETHODCALLTYPE *AddRef)(
487         IWbemPropertyProvider *This);
488 
489     ULONG (STDMETHODCALLTYPE *Release)(
490         IWbemPropertyProvider *This);
491 
492     /*** IWbemPropertyProvider methods ***/
493     HRESULT (STDMETHODCALLTYPE *GetProperty)(
494         IWbemPropertyProvider *This,
495         LONG lFlags,
496         const BSTR strLocale,
497         const BSTR strClassMapping,
498         const BSTR strInstMapping,
499         const BSTR strPropMapping,
500         VARIANT *pvValue);
501 
502     HRESULT (STDMETHODCALLTYPE *PutProperty)(
503         IWbemPropertyProvider *This,
504         LONG lFlags,
505         const BSTR strLocale,
506         const BSTR strClassMapping,
507         const BSTR strInstMapping,
508         const BSTR strPropMapping,
509         const VARIANT *pvValue);
510 
511     END_INTERFACE
512 } IWbemPropertyProviderVtbl;
513 
514 interface IWbemPropertyProvider {
515     CONST_VTBL IWbemPropertyProviderVtbl* lpVtbl;
516 };
517 
518 #ifdef COBJMACROS
519 #ifndef WIDL_C_INLINE_WRAPPERS
520 /*** IUnknown methods ***/
521 #define IWbemPropertyProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
522 #define IWbemPropertyProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
523 #define IWbemPropertyProvider_Release(This) (This)->lpVtbl->Release(This)
524 /*** IWbemPropertyProvider methods ***/
525 #define IWbemPropertyProvider_GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) (This)->lpVtbl->GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
526 #define IWbemPropertyProvider_PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) (This)->lpVtbl->PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
527 #else
528 /*** IUnknown methods ***/
529 static FORCEINLINE HRESULT IWbemPropertyProvider_QueryInterface(IWbemPropertyProvider* This,REFIID riid,void **ppvObject) {
530     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
531 }
532 static FORCEINLINE ULONG IWbemPropertyProvider_AddRef(IWbemPropertyProvider* This) {
533     return This->lpVtbl->AddRef(This);
534 }
535 static FORCEINLINE ULONG IWbemPropertyProvider_Release(IWbemPropertyProvider* This) {
536     return This->lpVtbl->Release(This);
537 }
538 /*** IWbemPropertyProvider methods ***/
539 static FORCEINLINE HRESULT IWbemPropertyProvider_GetProperty(IWbemPropertyProvider* This,LONG lFlags,const BSTR strLocale,const BSTR strClassMapping,const BSTR strInstMapping,const BSTR strPropMapping,VARIANT *pvValue) {
540     return This->lpVtbl->GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue);
541 }
542 static FORCEINLINE HRESULT IWbemPropertyProvider_PutProperty(IWbemPropertyProvider* This,LONG lFlags,const BSTR strLocale,const BSTR strClassMapping,const BSTR strInstMapping,const BSTR strPropMapping,const VARIANT *pvValue) {
543     return This->lpVtbl->PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue);
544 }
545 #endif
546 #endif
547 
548 #endif
549 
550 
551 #endif  /* __IWbemPropertyProvider_INTERFACE_DEFINED__ */
552 
553 /*****************************************************************************
554  * IWbemEventProvider interface
555  */
556 #ifndef __IWbemEventProvider_INTERFACE_DEFINED__
557 #define __IWbemEventProvider_INTERFACE_DEFINED__
558 
559 DEFINE_GUID(IID_IWbemEventProvider, 0xe245105b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
560 #if defined(__cplusplus) && !defined(CINTERFACE)
561 MIDL_INTERFACE("e245105b-b06e-11d0-ad61-00c04fd8fdff")
562 IWbemEventProvider : public IUnknown
563 {
564     virtual HRESULT STDMETHODCALLTYPE ProvideEvents(
565         IWbemObjectSink *pSink,
566         LONG lFlags) = 0;
567 
568 };
569 #ifdef __CRT_UUID_DECL
570 __CRT_UUID_DECL(IWbemEventProvider, 0xe245105b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
571 #endif
572 #else
573 typedef struct IWbemEventProviderVtbl {
574     BEGIN_INTERFACE
575 
576     /*** IUnknown methods ***/
577     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
578         IWbemEventProvider *This,
579         REFIID riid,
580         void **ppvObject);
581 
582     ULONG (STDMETHODCALLTYPE *AddRef)(
583         IWbemEventProvider *This);
584 
585     ULONG (STDMETHODCALLTYPE *Release)(
586         IWbemEventProvider *This);
587 
588     /*** IWbemEventProvider methods ***/
589     HRESULT (STDMETHODCALLTYPE *ProvideEvents)(
590         IWbemEventProvider *This,
591         IWbemObjectSink *pSink,
592         LONG lFlags);
593 
594     END_INTERFACE
595 } IWbemEventProviderVtbl;
596 
597 interface IWbemEventProvider {
598     CONST_VTBL IWbemEventProviderVtbl* lpVtbl;
599 };
600 
601 #ifdef COBJMACROS
602 #ifndef WIDL_C_INLINE_WRAPPERS
603 /*** IUnknown methods ***/
604 #define IWbemEventProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
605 #define IWbemEventProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
606 #define IWbemEventProvider_Release(This) (This)->lpVtbl->Release(This)
607 /*** IWbemEventProvider methods ***/
608 #define IWbemEventProvider_ProvideEvents(This,pSink,lFlags) (This)->lpVtbl->ProvideEvents(This,pSink,lFlags)
609 #else
610 /*** IUnknown methods ***/
611 static FORCEINLINE HRESULT IWbemEventProvider_QueryInterface(IWbemEventProvider* This,REFIID riid,void **ppvObject) {
612     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
613 }
614 static FORCEINLINE ULONG IWbemEventProvider_AddRef(IWbemEventProvider* This) {
615     return This->lpVtbl->AddRef(This);
616 }
617 static FORCEINLINE ULONG IWbemEventProvider_Release(IWbemEventProvider* This) {
618     return This->lpVtbl->Release(This);
619 }
620 /*** IWbemEventProvider methods ***/
621 static FORCEINLINE HRESULT IWbemEventProvider_ProvideEvents(IWbemEventProvider* This,IWbemObjectSink *pSink,LONG lFlags) {
622     return This->lpVtbl->ProvideEvents(This,pSink,lFlags);
623 }
624 #endif
625 #endif
626 
627 #endif
628 
629 
630 #endif  /* __IWbemEventProvider_INTERFACE_DEFINED__ */
631 
632 /*****************************************************************************
633  * IWbemEventProviderQuerySink interface
634  */
635 #ifndef __IWbemEventProviderQuerySink_INTERFACE_DEFINED__
636 #define __IWbemEventProviderQuerySink_INTERFACE_DEFINED__
637 
638 DEFINE_GUID(IID_IWbemEventProviderQuerySink, 0x580acaf8, 0xfa1c, 0x11d0, 0xad,0x72, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
639 #if defined(__cplusplus) && !defined(CINTERFACE)
640 MIDL_INTERFACE("580acaf8-fa1c-11d0-ad72-00c04fd8fdff")
641 IWbemEventProviderQuerySink : public IUnknown
642 {
643     virtual HRESULT STDMETHODCALLTYPE NewQuery(
644         ULONG dwId,
645         WBEM_WSTR wszQueryLanguage,
646         WBEM_WSTR wszQuery) = 0;
647 
648     virtual HRESULT STDMETHODCALLTYPE CancelQuery(
649         ULONG dwId) = 0;
650 
651 };
652 #ifdef __CRT_UUID_DECL
653 __CRT_UUID_DECL(IWbemEventProviderQuerySink, 0x580acaf8, 0xfa1c, 0x11d0, 0xad,0x72, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
654 #endif
655 #else
656 typedef struct IWbemEventProviderQuerySinkVtbl {
657     BEGIN_INTERFACE
658 
659     /*** IUnknown methods ***/
660     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
661         IWbemEventProviderQuerySink *This,
662         REFIID riid,
663         void **ppvObject);
664 
665     ULONG (STDMETHODCALLTYPE *AddRef)(
666         IWbemEventProviderQuerySink *This);
667 
668     ULONG (STDMETHODCALLTYPE *Release)(
669         IWbemEventProviderQuerySink *This);
670 
671     /*** IWbemEventProviderQuerySink methods ***/
672     HRESULT (STDMETHODCALLTYPE *NewQuery)(
673         IWbemEventProviderQuerySink *This,
674         ULONG dwId,
675         WBEM_WSTR wszQueryLanguage,
676         WBEM_WSTR wszQuery);
677 
678     HRESULT (STDMETHODCALLTYPE *CancelQuery)(
679         IWbemEventProviderQuerySink *This,
680         ULONG dwId);
681 
682     END_INTERFACE
683 } IWbemEventProviderQuerySinkVtbl;
684 
685 interface IWbemEventProviderQuerySink {
686     CONST_VTBL IWbemEventProviderQuerySinkVtbl* lpVtbl;
687 };
688 
689 #ifdef COBJMACROS
690 #ifndef WIDL_C_INLINE_WRAPPERS
691 /*** IUnknown methods ***/
692 #define IWbemEventProviderQuerySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
693 #define IWbemEventProviderQuerySink_AddRef(This) (This)->lpVtbl->AddRef(This)
694 #define IWbemEventProviderQuerySink_Release(This) (This)->lpVtbl->Release(This)
695 /*** IWbemEventProviderQuerySink methods ***/
696 #define IWbemEventProviderQuerySink_NewQuery(This,dwId,wszQueryLanguage,wszQuery) (This)->lpVtbl->NewQuery(This,dwId,wszQueryLanguage,wszQuery)
697 #define IWbemEventProviderQuerySink_CancelQuery(This,dwId) (This)->lpVtbl->CancelQuery(This,dwId)
698 #else
699 /*** IUnknown methods ***/
700 static FORCEINLINE HRESULT IWbemEventProviderQuerySink_QueryInterface(IWbemEventProviderQuerySink* This,REFIID riid,void **ppvObject) {
701     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
702 }
703 static FORCEINLINE ULONG IWbemEventProviderQuerySink_AddRef(IWbemEventProviderQuerySink* This) {
704     return This->lpVtbl->AddRef(This);
705 }
706 static FORCEINLINE ULONG IWbemEventProviderQuerySink_Release(IWbemEventProviderQuerySink* This) {
707     return This->lpVtbl->Release(This);
708 }
709 /*** IWbemEventProviderQuerySink methods ***/
710 static FORCEINLINE HRESULT IWbemEventProviderQuerySink_NewQuery(IWbemEventProviderQuerySink* This,ULONG dwId,WBEM_WSTR wszQueryLanguage,WBEM_WSTR wszQuery) {
711     return This->lpVtbl->NewQuery(This,dwId,wszQueryLanguage,wszQuery);
712 }
713 static FORCEINLINE HRESULT IWbemEventProviderQuerySink_CancelQuery(IWbemEventProviderQuerySink* This,ULONG dwId) {
714     return This->lpVtbl->CancelQuery(This,dwId);
715 }
716 #endif
717 #endif
718 
719 #endif
720 
721 
722 #endif  /* __IWbemEventProviderQuerySink_INTERFACE_DEFINED__ */
723 
724 /*****************************************************************************
725  * IWbemEventProviderSecurity interface
726  */
727 #ifndef __IWbemEventProviderSecurity_INTERFACE_DEFINED__
728 #define __IWbemEventProviderSecurity_INTERFACE_DEFINED__
729 
730 DEFINE_GUID(IID_IWbemEventProviderSecurity, 0x631f7d96, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf);
731 #if defined(__cplusplus) && !defined(CINTERFACE)
732 MIDL_INTERFACE("631f7d96-d993-11d2-b339-00105a1f4aaf")
733 IWbemEventProviderSecurity : public IUnknown
734 {
735     virtual HRESULT STDMETHODCALLTYPE AccessCheck(
736         WBEM_CWSTR wszQueryLanguage,
737         WBEM_CWSTR wszQuery,
738         LONG lSidLength,
739         const BYTE *pSid) = 0;
740 
741 };
742 #ifdef __CRT_UUID_DECL
743 __CRT_UUID_DECL(IWbemEventProviderSecurity, 0x631f7d96, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf)
744 #endif
745 #else
746 typedef struct IWbemEventProviderSecurityVtbl {
747     BEGIN_INTERFACE
748 
749     /*** IUnknown methods ***/
750     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
751         IWbemEventProviderSecurity *This,
752         REFIID riid,
753         void **ppvObject);
754 
755     ULONG (STDMETHODCALLTYPE *AddRef)(
756         IWbemEventProviderSecurity *This);
757 
758     ULONG (STDMETHODCALLTYPE *Release)(
759         IWbemEventProviderSecurity *This);
760 
761     /*** IWbemEventProviderSecurity methods ***/
762     HRESULT (STDMETHODCALLTYPE *AccessCheck)(
763         IWbemEventProviderSecurity *This,
764         WBEM_CWSTR wszQueryLanguage,
765         WBEM_CWSTR wszQuery,
766         LONG lSidLength,
767         const BYTE *pSid);
768 
769     END_INTERFACE
770 } IWbemEventProviderSecurityVtbl;
771 
772 interface IWbemEventProviderSecurity {
773     CONST_VTBL IWbemEventProviderSecurityVtbl* lpVtbl;
774 };
775 
776 #ifdef COBJMACROS
777 #ifndef WIDL_C_INLINE_WRAPPERS
778 /*** IUnknown methods ***/
779 #define IWbemEventProviderSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
780 #define IWbemEventProviderSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
781 #define IWbemEventProviderSecurity_Release(This) (This)->lpVtbl->Release(This)
782 /*** IWbemEventProviderSecurity methods ***/
783 #define IWbemEventProviderSecurity_AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid) (This)->lpVtbl->AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid)
784 #else
785 /*** IUnknown methods ***/
786 static FORCEINLINE HRESULT IWbemEventProviderSecurity_QueryInterface(IWbemEventProviderSecurity* This,REFIID riid,void **ppvObject) {
787     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
788 }
789 static FORCEINLINE ULONG IWbemEventProviderSecurity_AddRef(IWbemEventProviderSecurity* This) {
790     return This->lpVtbl->AddRef(This);
791 }
792 static FORCEINLINE ULONG IWbemEventProviderSecurity_Release(IWbemEventProviderSecurity* This) {
793     return This->lpVtbl->Release(This);
794 }
795 /*** IWbemEventProviderSecurity methods ***/
796 static FORCEINLINE HRESULT IWbemEventProviderSecurity_AccessCheck(IWbemEventProviderSecurity* This,WBEM_CWSTR wszQueryLanguage,WBEM_CWSTR wszQuery,LONG lSidLength,const BYTE *pSid) {
797     return This->lpVtbl->AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid);
798 }
799 #endif
800 #endif
801 
802 #endif
803 
804 
805 #endif  /* __IWbemEventProviderSecurity_INTERFACE_DEFINED__ */
806 
807 /*****************************************************************************
808  * IWbemProviderIdentity interface
809  */
810 #ifndef __IWbemProviderIdentity_INTERFACE_DEFINED__
811 #define __IWbemProviderIdentity_INTERFACE_DEFINED__
812 
813 DEFINE_GUID(IID_IWbemProviderIdentity, 0x631f7d97, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf);
814 #if defined(__cplusplus) && !defined(CINTERFACE)
815 MIDL_INTERFACE("631f7d97-d993-11d2-b339-00105a1f4aaf")
816 IWbemProviderIdentity : public IUnknown
817 {
818     virtual HRESULT STDMETHODCALLTYPE SetRegistrationObject(
819         LONG lFlags,
820         IWbemClassObject *pProvReg) = 0;
821 
822 };
823 #ifdef __CRT_UUID_DECL
824 __CRT_UUID_DECL(IWbemProviderIdentity, 0x631f7d97, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf)
825 #endif
826 #else
827 typedef struct IWbemProviderIdentityVtbl {
828     BEGIN_INTERFACE
829 
830     /*** IUnknown methods ***/
831     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
832         IWbemProviderIdentity *This,
833         REFIID riid,
834         void **ppvObject);
835 
836     ULONG (STDMETHODCALLTYPE *AddRef)(
837         IWbemProviderIdentity *This);
838 
839     ULONG (STDMETHODCALLTYPE *Release)(
840         IWbemProviderIdentity *This);
841 
842     /*** IWbemProviderIdentity methods ***/
843     HRESULT (STDMETHODCALLTYPE *SetRegistrationObject)(
844         IWbemProviderIdentity *This,
845         LONG lFlags,
846         IWbemClassObject *pProvReg);
847 
848     END_INTERFACE
849 } IWbemProviderIdentityVtbl;
850 
851 interface IWbemProviderIdentity {
852     CONST_VTBL IWbemProviderIdentityVtbl* lpVtbl;
853 };
854 
855 #ifdef COBJMACROS
856 #ifndef WIDL_C_INLINE_WRAPPERS
857 /*** IUnknown methods ***/
858 #define IWbemProviderIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
859 #define IWbemProviderIdentity_AddRef(This) (This)->lpVtbl->AddRef(This)
860 #define IWbemProviderIdentity_Release(This) (This)->lpVtbl->Release(This)
861 /*** IWbemProviderIdentity methods ***/
862 #define IWbemProviderIdentity_SetRegistrationObject(This,lFlags,pProvReg) (This)->lpVtbl->SetRegistrationObject(This,lFlags,pProvReg)
863 #else
864 /*** IUnknown methods ***/
865 static FORCEINLINE HRESULT IWbemProviderIdentity_QueryInterface(IWbemProviderIdentity* This,REFIID riid,void **ppvObject) {
866     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
867 }
868 static FORCEINLINE ULONG IWbemProviderIdentity_AddRef(IWbemProviderIdentity* This) {
869     return This->lpVtbl->AddRef(This);
870 }
871 static FORCEINLINE ULONG IWbemProviderIdentity_Release(IWbemProviderIdentity* This) {
872     return This->lpVtbl->Release(This);
873 }
874 /*** IWbemProviderIdentity methods ***/
875 static FORCEINLINE HRESULT IWbemProviderIdentity_SetRegistrationObject(IWbemProviderIdentity* This,LONG lFlags,IWbemClassObject *pProvReg) {
876     return This->lpVtbl->SetRegistrationObject(This,lFlags,pProvReg);
877 }
878 #endif
879 #endif
880 
881 #endif
882 
883 
884 #endif  /* __IWbemProviderIdentity_INTERFACE_DEFINED__ */
885 
886 /*****************************************************************************
887  * IWbemEventConsumerProvider interface
888  */
889 #ifndef __IWbemEventConsumerProvider_INTERFACE_DEFINED__
890 #define __IWbemEventConsumerProvider_INTERFACE_DEFINED__
891 
892 DEFINE_GUID(IID_IWbemEventConsumerProvider, 0xe246107a, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
893 #if defined(__cplusplus) && !defined(CINTERFACE)
894 MIDL_INTERFACE("e246107a-b06e-11d0-ad61-00c04fd8fdff")
895 IWbemEventConsumerProvider : public IUnknown
896 {
897     virtual HRESULT STDMETHODCALLTYPE FindConsumer(
898         IWbemClassObject *pLogicalConsumer,
899         IWbemUnboundObjectSink **ppConsumer) = 0;
900 
901 };
902 #ifdef __CRT_UUID_DECL
903 __CRT_UUID_DECL(IWbemEventConsumerProvider, 0xe246107a, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
904 #endif
905 #else
906 typedef struct IWbemEventConsumerProviderVtbl {
907     BEGIN_INTERFACE
908 
909     /*** IUnknown methods ***/
910     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
911         IWbemEventConsumerProvider *This,
912         REFIID riid,
913         void **ppvObject);
914 
915     ULONG (STDMETHODCALLTYPE *AddRef)(
916         IWbemEventConsumerProvider *This);
917 
918     ULONG (STDMETHODCALLTYPE *Release)(
919         IWbemEventConsumerProvider *This);
920 
921     /*** IWbemEventConsumerProvider methods ***/
922     HRESULT (STDMETHODCALLTYPE *FindConsumer)(
923         IWbemEventConsumerProvider *This,
924         IWbemClassObject *pLogicalConsumer,
925         IWbemUnboundObjectSink **ppConsumer);
926 
927     END_INTERFACE
928 } IWbemEventConsumerProviderVtbl;
929 
930 interface IWbemEventConsumerProvider {
931     CONST_VTBL IWbemEventConsumerProviderVtbl* lpVtbl;
932 };
933 
934 #ifdef COBJMACROS
935 #ifndef WIDL_C_INLINE_WRAPPERS
936 /*** IUnknown methods ***/
937 #define IWbemEventConsumerProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
938 #define IWbemEventConsumerProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
939 #define IWbemEventConsumerProvider_Release(This) (This)->lpVtbl->Release(This)
940 /*** IWbemEventConsumerProvider methods ***/
941 #define IWbemEventConsumerProvider_FindConsumer(This,pLogicalConsumer,ppConsumer) (This)->lpVtbl->FindConsumer(This,pLogicalConsumer,ppConsumer)
942 #else
943 /*** IUnknown methods ***/
944 static FORCEINLINE HRESULT IWbemEventConsumerProvider_QueryInterface(IWbemEventConsumerProvider* This,REFIID riid,void **ppvObject) {
945     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
946 }
947 static FORCEINLINE ULONG IWbemEventConsumerProvider_AddRef(IWbemEventConsumerProvider* This) {
948     return This->lpVtbl->AddRef(This);
949 }
950 static FORCEINLINE ULONG IWbemEventConsumerProvider_Release(IWbemEventConsumerProvider* This) {
951     return This->lpVtbl->Release(This);
952 }
953 /*** IWbemEventConsumerProvider methods ***/
954 static FORCEINLINE HRESULT IWbemEventConsumerProvider_FindConsumer(IWbemEventConsumerProvider* This,IWbemClassObject *pLogicalConsumer,IWbemUnboundObjectSink **ppConsumer) {
955     return This->lpVtbl->FindConsumer(This,pLogicalConsumer,ppConsumer);
956 }
957 #endif
958 #endif
959 
960 #endif
961 
962 
963 #endif  /* __IWbemEventConsumerProvider_INTERFACE_DEFINED__ */
964 
965 /*****************************************************************************
966  * IWbemProviderInitSink interface
967  */
968 #ifndef __IWbemProviderInitSink_INTERFACE_DEFINED__
969 #define __IWbemProviderInitSink_INTERFACE_DEFINED__
970 
971 DEFINE_GUID(IID_IWbemProviderInitSink, 0x1be41571, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
972 #if defined(__cplusplus) && !defined(CINTERFACE)
973 MIDL_INTERFACE("1be41571-91dd-11d1-aeb2-00c04fb68820")
974 IWbemProviderInitSink : public IUnknown
975 {
976     virtual HRESULT STDMETHODCALLTYPE SetStatus(
977         LONG lStatus,
978         LONG lFlags) = 0;
979 
980 };
981 #ifdef __CRT_UUID_DECL
982 __CRT_UUID_DECL(IWbemProviderInitSink, 0x1be41571, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
983 #endif
984 #else
985 typedef struct IWbemProviderInitSinkVtbl {
986     BEGIN_INTERFACE
987 
988     /*** IUnknown methods ***/
989     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
990         IWbemProviderInitSink *This,
991         REFIID riid,
992         void **ppvObject);
993 
994     ULONG (STDMETHODCALLTYPE *AddRef)(
995         IWbemProviderInitSink *This);
996 
997     ULONG (STDMETHODCALLTYPE *Release)(
998         IWbemProviderInitSink *This);
999 
1000     /*** IWbemProviderInitSink methods ***/
1001     HRESULT (STDMETHODCALLTYPE *SetStatus)(
1002         IWbemProviderInitSink *This,
1003         LONG lStatus,
1004         LONG lFlags);
1005 
1006     END_INTERFACE
1007 } IWbemProviderInitSinkVtbl;
1008 
1009 interface IWbemProviderInitSink {
1010     CONST_VTBL IWbemProviderInitSinkVtbl* lpVtbl;
1011 };
1012 
1013 #ifdef COBJMACROS
1014 #ifndef WIDL_C_INLINE_WRAPPERS
1015 /*** IUnknown methods ***/
1016 #define IWbemProviderInitSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1017 #define IWbemProviderInitSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1018 #define IWbemProviderInitSink_Release(This) (This)->lpVtbl->Release(This)
1019 /*** IWbemProviderInitSink methods ***/
1020 #define IWbemProviderInitSink_SetStatus(This,lStatus,lFlags) (This)->lpVtbl->SetStatus(This,lStatus,lFlags)
1021 #else
1022 /*** IUnknown methods ***/
1023 static FORCEINLINE HRESULT IWbemProviderInitSink_QueryInterface(IWbemProviderInitSink* This,REFIID riid,void **ppvObject) {
1024     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1025 }
1026 static FORCEINLINE ULONG IWbemProviderInitSink_AddRef(IWbemProviderInitSink* This) {
1027     return This->lpVtbl->AddRef(This);
1028 }
1029 static FORCEINLINE ULONG IWbemProviderInitSink_Release(IWbemProviderInitSink* This) {
1030     return This->lpVtbl->Release(This);
1031 }
1032 /*** IWbemProviderInitSink methods ***/
1033 static FORCEINLINE HRESULT IWbemProviderInitSink_SetStatus(IWbemProviderInitSink* This,LONG lStatus,LONG lFlags) {
1034     return This->lpVtbl->SetStatus(This,lStatus,lFlags);
1035 }
1036 #endif
1037 #endif
1038 
1039 #endif
1040 
1041 
1042 #endif  /* __IWbemProviderInitSink_INTERFACE_DEFINED__ */
1043 
1044 /*****************************************************************************
1045  * IWbemProviderInit interface
1046  */
1047 #ifndef __IWbemProviderInit_INTERFACE_DEFINED__
1048 #define __IWbemProviderInit_INTERFACE_DEFINED__
1049 
1050 DEFINE_GUID(IID_IWbemProviderInit, 0x1be41572, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
1051 #if defined(__cplusplus) && !defined(CINTERFACE)
1052 MIDL_INTERFACE("1be41572-91dd-11d1-aeb2-00c04fb68820")
1053 IWbemProviderInit : public IUnknown
1054 {
1055     virtual HRESULT STDMETHODCALLTYPE Initialize(
1056         LPWSTR wszUser,
1057         LONG lFlags,
1058         LPWSTR wszNamespace,
1059         LPWSTR wszLocale,
1060         IWbemServices *pNamespace,
1061         IWbemContext *pCtx,
1062         IWbemProviderInitSink *pInitSink) = 0;
1063 
1064 };
1065 #ifdef __CRT_UUID_DECL
1066 __CRT_UUID_DECL(IWbemProviderInit, 0x1be41572, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
1067 #endif
1068 #else
1069 typedef struct IWbemProviderInitVtbl {
1070     BEGIN_INTERFACE
1071 
1072     /*** IUnknown methods ***/
1073     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1074         IWbemProviderInit *This,
1075         REFIID riid,
1076         void **ppvObject);
1077 
1078     ULONG (STDMETHODCALLTYPE *AddRef)(
1079         IWbemProviderInit *This);
1080 
1081     ULONG (STDMETHODCALLTYPE *Release)(
1082         IWbemProviderInit *This);
1083 
1084     /*** IWbemProviderInit methods ***/
1085     HRESULT (STDMETHODCALLTYPE *Initialize)(
1086         IWbemProviderInit *This,
1087         LPWSTR wszUser,
1088         LONG lFlags,
1089         LPWSTR wszNamespace,
1090         LPWSTR wszLocale,
1091         IWbemServices *pNamespace,
1092         IWbemContext *pCtx,
1093         IWbemProviderInitSink *pInitSink);
1094 
1095     END_INTERFACE
1096 } IWbemProviderInitVtbl;
1097 
1098 interface IWbemProviderInit {
1099     CONST_VTBL IWbemProviderInitVtbl* lpVtbl;
1100 };
1101 
1102 #ifdef COBJMACROS
1103 #ifndef WIDL_C_INLINE_WRAPPERS
1104 /*** IUnknown methods ***/
1105 #define IWbemProviderInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1106 #define IWbemProviderInit_AddRef(This) (This)->lpVtbl->AddRef(This)
1107 #define IWbemProviderInit_Release(This) (This)->lpVtbl->Release(This)
1108 /*** IWbemProviderInit methods ***/
1109 #define IWbemProviderInit_Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink) (This)->lpVtbl->Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink)
1110 #else
1111 /*** IUnknown methods ***/
1112 static FORCEINLINE HRESULT IWbemProviderInit_QueryInterface(IWbemProviderInit* This,REFIID riid,void **ppvObject) {
1113     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1114 }
1115 static FORCEINLINE ULONG IWbemProviderInit_AddRef(IWbemProviderInit* This) {
1116     return This->lpVtbl->AddRef(This);
1117 }
1118 static FORCEINLINE ULONG IWbemProviderInit_Release(IWbemProviderInit* This) {
1119     return This->lpVtbl->Release(This);
1120 }
1121 /*** IWbemProviderInit methods ***/
1122 static FORCEINLINE HRESULT IWbemProviderInit_Initialize(IWbemProviderInit* This,LPWSTR wszUser,LONG lFlags,LPWSTR wszNamespace,LPWSTR wszLocale,IWbemServices *pNamespace,IWbemContext *pCtx,IWbemProviderInitSink *pInitSink) {
1123     return This->lpVtbl->Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink);
1124 }
1125 #endif
1126 #endif
1127 
1128 #endif
1129 
1130 
1131 #endif  /* __IWbemProviderInit_INTERFACE_DEFINED__ */
1132 
1133 /*****************************************************************************
1134  * IWbemHiPerfProvider interface
1135  */
1136 #ifndef __IWbemHiPerfProvider_INTERFACE_DEFINED__
1137 #define __IWbemHiPerfProvider_INTERFACE_DEFINED__
1138 
1139 DEFINE_GUID(IID_IWbemHiPerfProvider, 0x49353c93, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
1140 #if defined(__cplusplus) && !defined(CINTERFACE)
1141 MIDL_INTERFACE("49353c93-516b-11d1-aea6-00c04fb68820")
1142 IWbemHiPerfProvider : public IUnknown
1143 {
1144     virtual HRESULT STDMETHODCALLTYPE QueryInstances(
1145         IWbemServices *pNamespace,
1146         WCHAR *wszClass,
1147         LONG lFlags,
1148         IWbemContext *pCtx,
1149         IWbemObjectSink *pSink) = 0;
1150 
1151     virtual HRESULT STDMETHODCALLTYPE CreateRefresher(
1152         IWbemServices *pNamespace,
1153         LONG lFlags,
1154         IWbemRefresher **ppRefresher) = 0;
1155 
1156     virtual HRESULT STDMETHODCALLTYPE CreateRefreshableObject(
1157         IWbemServices *pNamespace,
1158         IWbemObjectAccess *pTemplate,
1159         IWbemRefresher *pRefresher,
1160         LONG lFlags,
1161         IWbemContext *pContext,
1162         IWbemObjectAccess **ppRefreshable,
1163         LONG *plId) = 0;
1164 
1165     virtual HRESULT STDMETHODCALLTYPE StopRefreshing(
1166         IWbemRefresher *pRefresher,
1167         LONG lId,
1168         LONG lFlags) = 0;
1169 
1170     virtual HRESULT STDMETHODCALLTYPE CreateRefreshableEnum(
1171         IWbemServices *pNamespace,
1172         LPCWSTR wszClass,
1173         IWbemRefresher *pRefresher,
1174         LONG lFlags,
1175         IWbemContext *pContext,
1176         IWbemHiPerfEnum *pHiPerfEnum,
1177         LONG *plId) = 0;
1178 
1179     virtual HRESULT STDMETHODCALLTYPE GetObjects(
1180         IWbemServices *pNamespace,
1181         LONG lNumObjects,
1182         IWbemObjectAccess **apObj,
1183         LONG lFlags,
1184         IWbemContext *pContext) = 0;
1185 
1186 };
1187 #ifdef __CRT_UUID_DECL
1188 __CRT_UUID_DECL(IWbemHiPerfProvider, 0x49353c93, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
1189 #endif
1190 #else
1191 typedef struct IWbemHiPerfProviderVtbl {
1192     BEGIN_INTERFACE
1193 
1194     /*** IUnknown methods ***/
1195     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1196         IWbemHiPerfProvider *This,
1197         REFIID riid,
1198         void **ppvObject);
1199 
1200     ULONG (STDMETHODCALLTYPE *AddRef)(
1201         IWbemHiPerfProvider *This);
1202 
1203     ULONG (STDMETHODCALLTYPE *Release)(
1204         IWbemHiPerfProvider *This);
1205 
1206     /*** IWbemHiPerfProvider methods ***/
1207     HRESULT (STDMETHODCALLTYPE *QueryInstances)(
1208         IWbemHiPerfProvider *This,
1209         IWbemServices *pNamespace,
1210         WCHAR *wszClass,
1211         LONG lFlags,
1212         IWbemContext *pCtx,
1213         IWbemObjectSink *pSink);
1214 
1215     HRESULT (STDMETHODCALLTYPE *CreateRefresher)(
1216         IWbemHiPerfProvider *This,
1217         IWbemServices *pNamespace,
1218         LONG lFlags,
1219         IWbemRefresher **ppRefresher);
1220 
1221     HRESULT (STDMETHODCALLTYPE *CreateRefreshableObject)(
1222         IWbemHiPerfProvider *This,
1223         IWbemServices *pNamespace,
1224         IWbemObjectAccess *pTemplate,
1225         IWbemRefresher *pRefresher,
1226         LONG lFlags,
1227         IWbemContext *pContext,
1228         IWbemObjectAccess **ppRefreshable,
1229         LONG *plId);
1230 
1231     HRESULT (STDMETHODCALLTYPE *StopRefreshing)(
1232         IWbemHiPerfProvider *This,
1233         IWbemRefresher *pRefresher,
1234         LONG lId,
1235         LONG lFlags);
1236 
1237     HRESULT (STDMETHODCALLTYPE *CreateRefreshableEnum)(
1238         IWbemHiPerfProvider *This,
1239         IWbemServices *pNamespace,
1240         LPCWSTR wszClass,
1241         IWbemRefresher *pRefresher,
1242         LONG lFlags,
1243         IWbemContext *pContext,
1244         IWbemHiPerfEnum *pHiPerfEnum,
1245         LONG *plId);
1246 
1247     HRESULT (STDMETHODCALLTYPE *GetObjects)(
1248         IWbemHiPerfProvider *This,
1249         IWbemServices *pNamespace,
1250         LONG lNumObjects,
1251         IWbemObjectAccess **apObj,
1252         LONG lFlags,
1253         IWbemContext *pContext);
1254 
1255     END_INTERFACE
1256 } IWbemHiPerfProviderVtbl;
1257 
1258 interface IWbemHiPerfProvider {
1259     CONST_VTBL IWbemHiPerfProviderVtbl* lpVtbl;
1260 };
1261 
1262 #ifdef COBJMACROS
1263 #ifndef WIDL_C_INLINE_WRAPPERS
1264 /*** IUnknown methods ***/
1265 #define IWbemHiPerfProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1266 #define IWbemHiPerfProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1267 #define IWbemHiPerfProvider_Release(This) (This)->lpVtbl->Release(This)
1268 /*** IWbemHiPerfProvider methods ***/
1269 #define IWbemHiPerfProvider_QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink) (This)->lpVtbl->QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink)
1270 #define IWbemHiPerfProvider_CreateRefresher(This,pNamespace,lFlags,ppRefresher) (This)->lpVtbl->CreateRefresher(This,pNamespace,lFlags,ppRefresher)
1271 #define IWbemHiPerfProvider_CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId)
1272 #define IWbemHiPerfProvider_StopRefreshing(This,pRefresher,lId,lFlags) (This)->lpVtbl->StopRefreshing(This,pRefresher,lId,lFlags)
1273 #define IWbemHiPerfProvider_CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId) (This)->lpVtbl->CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId)
1274 #define IWbemHiPerfProvider_GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext) (This)->lpVtbl->GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext)
1275 #else
1276 /*** IUnknown methods ***/
1277 static FORCEINLINE HRESULT IWbemHiPerfProvider_QueryInterface(IWbemHiPerfProvider* This,REFIID riid,void **ppvObject) {
1278     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1279 }
1280 static FORCEINLINE ULONG IWbemHiPerfProvider_AddRef(IWbemHiPerfProvider* This) {
1281     return This->lpVtbl->AddRef(This);
1282 }
1283 static FORCEINLINE ULONG IWbemHiPerfProvider_Release(IWbemHiPerfProvider* This) {
1284     return This->lpVtbl->Release(This);
1285 }
1286 /*** IWbemHiPerfProvider methods ***/
1287 static FORCEINLINE HRESULT IWbemHiPerfProvider_QueryInstances(IWbemHiPerfProvider* This,IWbemServices *pNamespace,WCHAR *wszClass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pSink) {
1288     return This->lpVtbl->QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink);
1289 }
1290 static FORCEINLINE HRESULT IWbemHiPerfProvider_CreateRefresher(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LONG lFlags,IWbemRefresher **ppRefresher) {
1291     return This->lpVtbl->CreateRefresher(This,pNamespace,lFlags,ppRefresher);
1292 }
1293 static FORCEINLINE HRESULT IWbemHiPerfProvider_CreateRefreshableObject(IWbemHiPerfProvider* This,IWbemServices *pNamespace,IWbemObjectAccess *pTemplate,IWbemRefresher *pRefresher,LONG lFlags,IWbemContext *pContext,IWbemObjectAccess **ppRefreshable,LONG *plId) {
1294     return This->lpVtbl->CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId);
1295 }
1296 static FORCEINLINE HRESULT IWbemHiPerfProvider_StopRefreshing(IWbemHiPerfProvider* This,IWbemRefresher *pRefresher,LONG lId,LONG lFlags) {
1297     return This->lpVtbl->StopRefreshing(This,pRefresher,lId,lFlags);
1298 }
1299 static FORCEINLINE HRESULT IWbemHiPerfProvider_CreateRefreshableEnum(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LPCWSTR wszClass,IWbemRefresher *pRefresher,LONG lFlags,IWbemContext *pContext,IWbemHiPerfEnum *pHiPerfEnum,LONG *plId) {
1300     return This->lpVtbl->CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId);
1301 }
1302 static FORCEINLINE HRESULT IWbemHiPerfProvider_GetObjects(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LONG lNumObjects,IWbemObjectAccess **apObj,LONG lFlags,IWbemContext *pContext) {
1303     return This->lpVtbl->GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext);
1304 }
1305 #endif
1306 #endif
1307 
1308 #endif
1309 
1310 
1311 #endif  /* __IWbemHiPerfProvider_INTERFACE_DEFINED__ */
1312 
1313 /*****************************************************************************
1314  * IWbemDecoupledRegistrar interface
1315  */
1316 #ifndef __IWbemDecoupledRegistrar_INTERFACE_DEFINED__
1317 #define __IWbemDecoupledRegistrar_INTERFACE_DEFINED__
1318 
1319 DEFINE_GUID(IID_IWbemDecoupledRegistrar, 0x1005cbcf, 0xe64f, 0x4646, 0xbc,0xd3, 0x3a,0x08,0x9d,0x8a,0x84,0xb4);
1320 #if defined(__cplusplus) && !defined(CINTERFACE)
1321 MIDL_INTERFACE("1005cbcf-e64f-4646-bcd3-3a089d8a84b4")
1322 IWbemDecoupledRegistrar : public IUnknown
1323 {
1324     virtual HRESULT STDMETHODCALLTYPE Register(
1325         LONG a_Flags,
1326         IWbemContext *a_Context,
1327         LPCWSTR a_User,
1328         LPCWSTR a_Locale,
1329         LPCWSTR a_Scope,
1330         LPCWSTR a_Registration,
1331         IUnknown *pIUnknown) = 0;
1332 
1333     virtual HRESULT STDMETHODCALLTYPE UnRegister(
1334         ) = 0;
1335 
1336 };
1337 #ifdef __CRT_UUID_DECL
1338 __CRT_UUID_DECL(IWbemDecoupledRegistrar, 0x1005cbcf, 0xe64f, 0x4646, 0xbc,0xd3, 0x3a,0x08,0x9d,0x8a,0x84,0xb4)
1339 #endif
1340 #else
1341 typedef struct IWbemDecoupledRegistrarVtbl {
1342     BEGIN_INTERFACE
1343 
1344     /*** IUnknown methods ***/
1345     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1346         IWbemDecoupledRegistrar *This,
1347         REFIID riid,
1348         void **ppvObject);
1349 
1350     ULONG (STDMETHODCALLTYPE *AddRef)(
1351         IWbemDecoupledRegistrar *This);
1352 
1353     ULONG (STDMETHODCALLTYPE *Release)(
1354         IWbemDecoupledRegistrar *This);
1355 
1356     /*** IWbemDecoupledRegistrar methods ***/
1357     HRESULT (STDMETHODCALLTYPE *Register)(
1358         IWbemDecoupledRegistrar *This,
1359         LONG a_Flags,
1360         IWbemContext *a_Context,
1361         LPCWSTR a_User,
1362         LPCWSTR a_Locale,
1363         LPCWSTR a_Scope,
1364         LPCWSTR a_Registration,
1365         IUnknown *pIUnknown);
1366 
1367     HRESULT (STDMETHODCALLTYPE *UnRegister)(
1368         IWbemDecoupledRegistrar *This);
1369 
1370     END_INTERFACE
1371 } IWbemDecoupledRegistrarVtbl;
1372 
1373 interface IWbemDecoupledRegistrar {
1374     CONST_VTBL IWbemDecoupledRegistrarVtbl* lpVtbl;
1375 };
1376 
1377 #ifdef COBJMACROS
1378 #ifndef WIDL_C_INLINE_WRAPPERS
1379 /*** IUnknown methods ***/
1380 #define IWbemDecoupledRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1381 #define IWbemDecoupledRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This)
1382 #define IWbemDecoupledRegistrar_Release(This) (This)->lpVtbl->Release(This)
1383 /*** IWbemDecoupledRegistrar methods ***/
1384 #define IWbemDecoupledRegistrar_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) (This)->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown)
1385 #define IWbemDecoupledRegistrar_UnRegister(This) (This)->lpVtbl->UnRegister(This)
1386 #else
1387 /*** IUnknown methods ***/
1388 static FORCEINLINE HRESULT IWbemDecoupledRegistrar_QueryInterface(IWbemDecoupledRegistrar* This,REFIID riid,void **ppvObject) {
1389     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1390 }
1391 static FORCEINLINE ULONG IWbemDecoupledRegistrar_AddRef(IWbemDecoupledRegistrar* This) {
1392     return This->lpVtbl->AddRef(This);
1393 }
1394 static FORCEINLINE ULONG IWbemDecoupledRegistrar_Release(IWbemDecoupledRegistrar* This) {
1395     return This->lpVtbl->Release(This);
1396 }
1397 /*** IWbemDecoupledRegistrar methods ***/
1398 static FORCEINLINE HRESULT IWbemDecoupledRegistrar_Register(IWbemDecoupledRegistrar* This,LONG a_Flags,IWbemContext *a_Context,LPCWSTR a_User,LPCWSTR a_Locale,LPCWSTR a_Scope,LPCWSTR a_Registration,IUnknown *pIUnknown) {
1399     return This->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown);
1400 }
1401 static FORCEINLINE HRESULT IWbemDecoupledRegistrar_UnRegister(IWbemDecoupledRegistrar* This) {
1402     return This->lpVtbl->UnRegister(This);
1403 }
1404 #endif
1405 #endif
1406 
1407 #endif
1408 
1409 
1410 #endif  /* __IWbemDecoupledRegistrar_INTERFACE_DEFINED__ */
1411 
1412 /*****************************************************************************
1413  * IWbemDecoupledBasicEventProvider interface
1414  */
1415 #ifndef __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__
1416 #define __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__
1417 
1418 DEFINE_GUID(IID_IWbemDecoupledBasicEventProvider, 0x86336d20, 0xca11, 0x4786, 0x9e,0xf1, 0xbc,0x8a,0x94,0x6b,0x42,0xfc);
1419 #if defined(__cplusplus) && !defined(CINTERFACE)
1420 MIDL_INTERFACE("86336d20-ca11-4786-9ef1-bc8a946b42fc")
1421 IWbemDecoupledBasicEventProvider : public IWbemDecoupledRegistrar
1422 {
1423     virtual HRESULT STDMETHODCALLTYPE GetSink(
1424         LONG a_Flags,
1425         IWbemContext *a_Context,
1426         IWbemObjectSink **a_Sink) = 0;
1427 
1428     virtual HRESULT STDMETHODCALLTYPE GetService(
1429         LONG a_Flags,
1430         IWbemContext *a_Context,
1431         IWbemServices **a_Service) = 0;
1432 
1433 };
1434 #ifdef __CRT_UUID_DECL
1435 __CRT_UUID_DECL(IWbemDecoupledBasicEventProvider, 0x86336d20, 0xca11, 0x4786, 0x9e,0xf1, 0xbc,0x8a,0x94,0x6b,0x42,0xfc)
1436 #endif
1437 #else
1438 typedef struct IWbemDecoupledBasicEventProviderVtbl {
1439     BEGIN_INTERFACE
1440 
1441     /*** IUnknown methods ***/
1442     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1443         IWbemDecoupledBasicEventProvider *This,
1444         REFIID riid,
1445         void **ppvObject);
1446 
1447     ULONG (STDMETHODCALLTYPE *AddRef)(
1448         IWbemDecoupledBasicEventProvider *This);
1449 
1450     ULONG (STDMETHODCALLTYPE *Release)(
1451         IWbemDecoupledBasicEventProvider *This);
1452 
1453     /*** IWbemDecoupledRegistrar methods ***/
1454     HRESULT (STDMETHODCALLTYPE *Register)(
1455         IWbemDecoupledBasicEventProvider *This,
1456         LONG a_Flags,
1457         IWbemContext *a_Context,
1458         LPCWSTR a_User,
1459         LPCWSTR a_Locale,
1460         LPCWSTR a_Scope,
1461         LPCWSTR a_Registration,
1462         IUnknown *pIUnknown);
1463 
1464     HRESULT (STDMETHODCALLTYPE *UnRegister)(
1465         IWbemDecoupledBasicEventProvider *This);
1466 
1467     /*** IWbemDecoupledBasicEventProvider methods ***/
1468     HRESULT (STDMETHODCALLTYPE *GetSink)(
1469         IWbemDecoupledBasicEventProvider *This,
1470         LONG a_Flags,
1471         IWbemContext *a_Context,
1472         IWbemObjectSink **a_Sink);
1473 
1474     HRESULT (STDMETHODCALLTYPE *GetService)(
1475         IWbemDecoupledBasicEventProvider *This,
1476         LONG a_Flags,
1477         IWbemContext *a_Context,
1478         IWbemServices **a_Service);
1479 
1480     END_INTERFACE
1481 } IWbemDecoupledBasicEventProviderVtbl;
1482 
1483 interface IWbemDecoupledBasicEventProvider {
1484     CONST_VTBL IWbemDecoupledBasicEventProviderVtbl* lpVtbl;
1485 };
1486 
1487 #ifdef COBJMACROS
1488 #ifndef WIDL_C_INLINE_WRAPPERS
1489 /*** IUnknown methods ***/
1490 #define IWbemDecoupledBasicEventProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1491 #define IWbemDecoupledBasicEventProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1492 #define IWbemDecoupledBasicEventProvider_Release(This) (This)->lpVtbl->Release(This)
1493 /*** IWbemDecoupledRegistrar methods ***/
1494 #define IWbemDecoupledBasicEventProvider_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) (This)->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown)
1495 #define IWbemDecoupledBasicEventProvider_UnRegister(This) (This)->lpVtbl->UnRegister(This)
1496 /*** IWbemDecoupledBasicEventProvider methods ***/
1497 #define IWbemDecoupledBasicEventProvider_GetSink(This,a_Flags,a_Context,a_Sink) (This)->lpVtbl->GetSink(This,a_Flags,a_Context,a_Sink)
1498 #define IWbemDecoupledBasicEventProvider_GetService(This,a_Flags,a_Context,a_Service) (This)->lpVtbl->GetService(This,a_Flags,a_Context,a_Service)
1499 #else
1500 /*** IUnknown methods ***/
1501 static FORCEINLINE HRESULT IWbemDecoupledBasicEventProvider_QueryInterface(IWbemDecoupledBasicEventProvider* This,REFIID riid,void **ppvObject) {
1502     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1503 }
1504 static FORCEINLINE ULONG IWbemDecoupledBasicEventProvider_AddRef(IWbemDecoupledBasicEventProvider* This) {
1505     return This->lpVtbl->AddRef(This);
1506 }
1507 static FORCEINLINE ULONG IWbemDecoupledBasicEventProvider_Release(IWbemDecoupledBasicEventProvider* This) {
1508     return This->lpVtbl->Release(This);
1509 }
1510 /*** IWbemDecoupledRegistrar methods ***/
1511 static FORCEINLINE HRESULT IWbemDecoupledBasicEventProvider_Register(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,LPCWSTR a_User,LPCWSTR a_Locale,LPCWSTR a_Scope,LPCWSTR a_Registration,IUnknown *pIUnknown) {
1512     return This->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown);
1513 }
1514 static FORCEINLINE HRESULT IWbemDecoupledBasicEventProvider_UnRegister(IWbemDecoupledBasicEventProvider* This) {
1515     return This->lpVtbl->UnRegister(This);
1516 }
1517 /*** IWbemDecoupledBasicEventProvider methods ***/
1518 static FORCEINLINE HRESULT IWbemDecoupledBasicEventProvider_GetSink(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,IWbemObjectSink **a_Sink) {
1519     return This->lpVtbl->GetSink(This,a_Flags,a_Context,a_Sink);
1520 }
1521 static FORCEINLINE HRESULT IWbemDecoupledBasicEventProvider_GetService(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,IWbemServices **a_Service) {
1522     return This->lpVtbl->GetService(This,a_Flags,a_Context,a_Service);
1523 }
1524 #endif
1525 #endif
1526 
1527 #endif
1528 
1529 
1530 #endif  /* __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__ */
1531 
1532 /*****************************************************************************
1533  * IWbemEventSink interface
1534  */
1535 #ifndef __IWbemEventSink_INTERFACE_DEFINED__
1536 #define __IWbemEventSink_INTERFACE_DEFINED__
1537 
1538 DEFINE_GUID(IID_IWbemEventSink, 0x3ae0080a, 0x7e3a, 0x4366, 0xbf,0x89, 0x0f,0xee,0xdc,0x93,0x16,0x59);
1539 #if defined(__cplusplus) && !defined(CINTERFACE)
1540 MIDL_INTERFACE("3ae0080a-7e3a-4366-bf89-0feedc931659")
1541 IWbemEventSink : public IWbemObjectSink
1542 {
1543     virtual HRESULT STDMETHODCALLTYPE SetSinkSecurity(
1544         LONG lSDLength,
1545         BYTE *pSD) = 0;
1546 
1547     virtual HRESULT STDMETHODCALLTYPE IsActive(
1548         ) = 0;
1549 
1550     virtual HRESULT STDMETHODCALLTYPE GetRestrictedSink(
1551         LONG lNumQueries,
1552         const LPCWSTR *awszQueries,
1553         IUnknown *pCallback,
1554         IWbemEventSink **ppSink) = 0;
1555 
1556     virtual HRESULT STDMETHODCALLTYPE SetBatchingParameters(
1557         LONG lFlags,
1558         DWORD dwMaxBufferSize,
1559         DWORD dwMaxSendLatency) = 0;
1560 
1561 };
1562 #ifdef __CRT_UUID_DECL
1563 __CRT_UUID_DECL(IWbemEventSink, 0x3ae0080a, 0x7e3a, 0x4366, 0xbf,0x89, 0x0f,0xee,0xdc,0x93,0x16,0x59)
1564 #endif
1565 #else
1566 typedef struct IWbemEventSinkVtbl {
1567     BEGIN_INTERFACE
1568 
1569     /*** IUnknown methods ***/
1570     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1571         IWbemEventSink *This,
1572         REFIID riid,
1573         void **ppvObject);
1574 
1575     ULONG (STDMETHODCALLTYPE *AddRef)(
1576         IWbemEventSink *This);
1577 
1578     ULONG (STDMETHODCALLTYPE *Release)(
1579         IWbemEventSink *This);
1580 
1581     /*** IWbemObjectSink methods ***/
1582     HRESULT (STDMETHODCALLTYPE *Indicate)(
1583         IWbemEventSink *This,
1584         LONG lObjectCount,
1585         IWbemClassObject **apObjArray);
1586 
1587     HRESULT (STDMETHODCALLTYPE *SetStatus)(
1588         IWbemEventSink *This,
1589         LONG lFlags,
1590         HRESULT hResult,
1591         BSTR strParam,
1592         IWbemClassObject *pObjParam);
1593 
1594     /*** IWbemEventSink methods ***/
1595     HRESULT (STDMETHODCALLTYPE *SetSinkSecurity)(
1596         IWbemEventSink *This,
1597         LONG lSDLength,
1598         BYTE *pSD);
1599 
1600     HRESULT (STDMETHODCALLTYPE *IsActive)(
1601         IWbemEventSink *This);
1602 
1603     HRESULT (STDMETHODCALLTYPE *GetRestrictedSink)(
1604         IWbemEventSink *This,
1605         LONG lNumQueries,
1606         const LPCWSTR *awszQueries,
1607         IUnknown *pCallback,
1608         IWbemEventSink **ppSink);
1609 
1610     HRESULT (STDMETHODCALLTYPE *SetBatchingParameters)(
1611         IWbemEventSink *This,
1612         LONG lFlags,
1613         DWORD dwMaxBufferSize,
1614         DWORD dwMaxSendLatency);
1615 
1616     END_INTERFACE
1617 } IWbemEventSinkVtbl;
1618 
1619 interface IWbemEventSink {
1620     CONST_VTBL IWbemEventSinkVtbl* lpVtbl;
1621 };
1622 
1623 #ifdef COBJMACROS
1624 #ifndef WIDL_C_INLINE_WRAPPERS
1625 /*** IUnknown methods ***/
1626 #define IWbemEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1627 #define IWbemEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1628 #define IWbemEventSink_Release(This) (This)->lpVtbl->Release(This)
1629 /*** IWbemObjectSink methods ***/
1630 #define IWbemEventSink_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray)
1631 #define IWbemEventSink_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam)
1632 /*** IWbemEventSink methods ***/
1633 #define IWbemEventSink_SetSinkSecurity(This,lSDLength,pSD) (This)->lpVtbl->SetSinkSecurity(This,lSDLength,pSD)
1634 #define IWbemEventSink_IsActive(This) (This)->lpVtbl->IsActive(This)
1635 #define IWbemEventSink_GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink) (This)->lpVtbl->GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink)
1636 #define IWbemEventSink_SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency) (This)->lpVtbl->SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency)
1637 #else
1638 /*** IUnknown methods ***/
1639 static FORCEINLINE HRESULT IWbemEventSink_QueryInterface(IWbemEventSink* This,REFIID riid,void **ppvObject) {
1640     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1641 }
1642 static FORCEINLINE ULONG IWbemEventSink_AddRef(IWbemEventSink* This) {
1643     return This->lpVtbl->AddRef(This);
1644 }
1645 static FORCEINLINE ULONG IWbemEventSink_Release(IWbemEventSink* This) {
1646     return This->lpVtbl->Release(This);
1647 }
1648 /*** IWbemObjectSink methods ***/
1649 static FORCEINLINE HRESULT IWbemEventSink_Indicate(IWbemEventSink* This,LONG lObjectCount,IWbemClassObject **apObjArray) {
1650     return This->lpVtbl->Indicate(This,lObjectCount,apObjArray);
1651 }
1652 static FORCEINLINE HRESULT IWbemEventSink_SetStatus(IWbemEventSink* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) {
1653     return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam);
1654 }
1655 /*** IWbemEventSink methods ***/
1656 static FORCEINLINE HRESULT IWbemEventSink_SetSinkSecurity(IWbemEventSink* This,LONG lSDLength,BYTE *pSD) {
1657     return This->lpVtbl->SetSinkSecurity(This,lSDLength,pSD);
1658 }
1659 static FORCEINLINE HRESULT IWbemEventSink_IsActive(IWbemEventSink* This) {
1660     return This->lpVtbl->IsActive(This);
1661 }
1662 static FORCEINLINE HRESULT IWbemEventSink_GetRestrictedSink(IWbemEventSink* This,LONG lNumQueries,const LPCWSTR *awszQueries,IUnknown *pCallback,IWbemEventSink **ppSink) {
1663     return This->lpVtbl->GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink);
1664 }
1665 static FORCEINLINE HRESULT IWbemEventSink_SetBatchingParameters(IWbemEventSink* This,LONG lFlags,DWORD dwMaxBufferSize,DWORD dwMaxSendLatency) {
1666     return This->lpVtbl->SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency);
1667 }
1668 #endif
1669 #endif
1670 
1671 #endif
1672 
1673 
1674 #endif  /* __IWbemEventSink_INTERFACE_DEFINED__ */
1675 
1676 #endif
1677 /* Begin additional prototypes for all interfaces */
1678 
1679 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1680 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1681 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1682 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1683 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
1684 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
1685 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
1686 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
1687 
1688 /* End additional prototypes */
1689 
1690 #ifdef __cplusplus
1691 }
1692 #endif
1693 
1694 #endif /* __wbemprov_h__ */
1695