1 /*** Autogenerated by WIDL 6.4 from include/wbemcli.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 __wbemcli_h__
17 #define __wbemcli_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __WbemBackupRestore_FWD_DEFINED__
22 #define __WbemBackupRestore_FWD_DEFINED__
23 #ifdef __cplusplus
24 typedef class WbemBackupRestore WbemBackupRestore;
25 #else
26 typedef struct WbemBackupRestore WbemBackupRestore;
27 #endif /* defined __cplusplus */
28 #endif /* defined __WbemBackupRestore_FWD_DEFINED__ */
29 
30 #ifndef __WbemClassObject_FWD_DEFINED__
31 #define __WbemClassObject_FWD_DEFINED__
32 #ifdef __cplusplus
33 typedef class WbemClassObject WbemClassObject;
34 #else
35 typedef struct WbemClassObject WbemClassObject;
36 #endif /* defined __cplusplus */
37 #endif /* defined __WbemClassObject_FWD_DEFINED__ */
38 
39 #ifndef __WbemContext_FWD_DEFINED__
40 #define __WbemContext_FWD_DEFINED__
41 #ifdef __cplusplus
42 typedef class WbemContext WbemContext;
43 #else
44 typedef struct WbemContext WbemContext;
45 #endif /* defined __cplusplus */
46 #endif /* defined __WbemContext_FWD_DEFINED__ */
47 
48 #ifndef __WbemLocator_FWD_DEFINED__
49 #define __WbemLocator_FWD_DEFINED__
50 #ifdef __cplusplus
51 typedef class WbemLocator WbemLocator;
52 #else
53 typedef struct WbemLocator WbemLocator;
54 #endif /* defined __cplusplus */
55 #endif /* defined __WbemLocator_FWD_DEFINED__ */
56 
57 #ifndef __WbemStatusCodeText_FWD_DEFINED__
58 #define __WbemStatusCodeText_FWD_DEFINED__
59 #ifdef __cplusplus
60 typedef class WbemStatusCodeText WbemStatusCodeText;
61 #else
62 typedef struct WbemStatusCodeText WbemStatusCodeText;
63 #endif /* defined __cplusplus */
64 #endif /* defined __WbemStatusCodeText_FWD_DEFINED__ */
65 
66 #ifndef __UnsecuredApartment_FWD_DEFINED__
67 #define __UnsecuredApartment_FWD_DEFINED__
68 #ifdef __cplusplus
69 typedef class UnsecuredApartment UnsecuredApartment;
70 #else
71 typedef struct UnsecuredApartment UnsecuredApartment;
72 #endif /* defined __cplusplus */
73 #endif /* defined __UnsecuredApartment_FWD_DEFINED__ */
74 
75 #ifndef __MofCompiler_FWD_DEFINED__
76 #define __MofCompiler_FWD_DEFINED__
77 #ifdef __cplusplus
78 typedef class MofCompiler MofCompiler;
79 #else
80 typedef struct MofCompiler MofCompiler;
81 #endif /* defined __cplusplus */
82 #endif /* defined __MofCompiler_FWD_DEFINED__ */
83 
84 #ifndef __WbemObjectTextSrc_FWD_DEFINED__
85 #define __WbemObjectTextSrc_FWD_DEFINED__
86 #ifdef __cplusplus
87 typedef class WbemObjectTextSrc WbemObjectTextSrc;
88 #else
89 typedef struct WbemObjectTextSrc WbemObjectTextSrc;
90 #endif /* defined __cplusplus */
91 #endif /* defined __WbemObjectTextSrc_FWD_DEFINED__ */
92 
93 #ifndef __WbemRefresher_FWD_DEFINED__
94 #define __WbemRefresher_FWD_DEFINED__
95 #ifdef __cplusplus
96 typedef class WbemRefresher WbemRefresher;
97 #else
98 typedef struct WbemRefresher WbemRefresher;
99 #endif /* defined __cplusplus */
100 #endif /* defined __WbemRefresher_FWD_DEFINED__ */
101 
102 #ifndef __IWbemClassObject_FWD_DEFINED__
103 #define __IWbemClassObject_FWD_DEFINED__
104 typedef interface IWbemClassObject IWbemClassObject;
105 #ifdef __cplusplus
106 interface IWbemClassObject;
107 #endif /* __cplusplus */
108 #endif
109 
110 #ifndef __IWbemQualifierSet_FWD_DEFINED__
111 #define __IWbemQualifierSet_FWD_DEFINED__
112 typedef interface IWbemQualifierSet IWbemQualifierSet;
113 #ifdef __cplusplus
114 interface IWbemQualifierSet;
115 #endif /* __cplusplus */
116 #endif
117 
118 #ifndef __IWbemLocator_FWD_DEFINED__
119 #define __IWbemLocator_FWD_DEFINED__
120 typedef interface IWbemLocator IWbemLocator;
121 #ifdef __cplusplus
122 interface IWbemLocator;
123 #endif /* __cplusplus */
124 #endif
125 
126 #ifndef __IWbemObjectSink_FWD_DEFINED__
127 #define __IWbemObjectSink_FWD_DEFINED__
128 typedef interface IWbemObjectSink IWbemObjectSink;
129 #ifdef __cplusplus
130 interface IWbemObjectSink;
131 #endif /* __cplusplus */
132 #endif
133 
134 #ifndef __IWbemObjectSinkEx_FWD_DEFINED__
135 #define __IWbemObjectSinkEx_FWD_DEFINED__
136 typedef interface IWbemObjectSinkEx IWbemObjectSinkEx;
137 #ifdef __cplusplus
138 interface IWbemObjectSinkEx;
139 #endif /* __cplusplus */
140 #endif
141 
142 #ifndef __IEnumWbemClassObject_FWD_DEFINED__
143 #define __IEnumWbemClassObject_FWD_DEFINED__
144 typedef interface IEnumWbemClassObject IEnumWbemClassObject;
145 #ifdef __cplusplus
146 interface IEnumWbemClassObject;
147 #endif /* __cplusplus */
148 #endif
149 
150 #ifndef __IWbemContext_FWD_DEFINED__
151 #define __IWbemContext_FWD_DEFINED__
152 typedef interface IWbemContext IWbemContext;
153 #ifdef __cplusplus
154 interface IWbemContext;
155 #endif /* __cplusplus */
156 #endif
157 
158 #ifndef __IWbemCallResult_FWD_DEFINED__
159 #define __IWbemCallResult_FWD_DEFINED__
160 typedef interface IWbemCallResult IWbemCallResult;
161 #ifdef __cplusplus
162 interface IWbemCallResult;
163 #endif /* __cplusplus */
164 #endif
165 
166 #ifndef __IWbemServices_FWD_DEFINED__
167 #define __IWbemServices_FWD_DEFINED__
168 typedef interface IWbemServices IWbemServices;
169 #ifdef __cplusplus
170 interface IWbemServices;
171 #endif /* __cplusplus */
172 #endif
173 
174 #ifndef __IWbemShutdown_FWD_DEFINED__
175 #define __IWbemShutdown_FWD_DEFINED__
176 typedef interface IWbemShutdown IWbemShutdown;
177 #ifdef __cplusplus
178 interface IWbemShutdown;
179 #endif /* __cplusplus */
180 #endif
181 
182 #ifndef __IWbemObjectTextSrc_FWD_DEFINED__
183 #define __IWbemObjectTextSrc_FWD_DEFINED__
184 typedef interface IWbemObjectTextSrc IWbemObjectTextSrc;
185 #ifdef __cplusplus
186 interface IWbemObjectTextSrc;
187 #endif /* __cplusplus */
188 #endif
189 
190 #ifndef __IWbemObjectAccess_FWD_DEFINED__
191 #define __IWbemObjectAccess_FWD_DEFINED__
192 typedef interface IWbemObjectAccess IWbemObjectAccess;
193 #ifdef __cplusplus
194 interface IWbemObjectAccess;
195 #endif /* __cplusplus */
196 #endif
197 
198 #ifndef __IMofCompiler_FWD_DEFINED__
199 #define __IMofCompiler_FWD_DEFINED__
200 typedef interface IMofCompiler IMofCompiler;
201 #ifdef __cplusplus
202 interface IMofCompiler;
203 #endif /* __cplusplus */
204 #endif
205 
206 #ifndef __IUnsecuredApartment_FWD_DEFINED__
207 #define __IUnsecuredApartment_FWD_DEFINED__
208 typedef interface IUnsecuredApartment IUnsecuredApartment;
209 #ifdef __cplusplus
210 interface IUnsecuredApartment;
211 #endif /* __cplusplus */
212 #endif
213 
214 #ifndef __IWbemUnsecuredApartment_FWD_DEFINED__
215 #define __IWbemUnsecuredApartment_FWD_DEFINED__
216 typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment;
217 #ifdef __cplusplus
218 interface IWbemUnsecuredApartment;
219 #endif /* __cplusplus */
220 #endif
221 
222 #ifndef __IWbemStatusCodeText_FWD_DEFINED__
223 #define __IWbemStatusCodeText_FWD_DEFINED__
224 typedef interface IWbemStatusCodeText IWbemStatusCodeText;
225 #ifdef __cplusplus
226 interface IWbemStatusCodeText;
227 #endif /* __cplusplus */
228 #endif
229 
230 #ifndef __IWbemBackupRestore_FWD_DEFINED__
231 #define __IWbemBackupRestore_FWD_DEFINED__
232 typedef interface IWbemBackupRestore IWbemBackupRestore;
233 #ifdef __cplusplus
234 interface IWbemBackupRestore;
235 #endif /* __cplusplus */
236 #endif
237 
238 #ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
239 #define __IWbemBackupRestoreEx_FWD_DEFINED__
240 typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
241 #ifdef __cplusplus
242 interface IWbemBackupRestoreEx;
243 #endif /* __cplusplus */
244 #endif
245 
246 #ifndef __IWbemRefresher_FWD_DEFINED__
247 #define __IWbemRefresher_FWD_DEFINED__
248 typedef interface IWbemRefresher IWbemRefresher;
249 #ifdef __cplusplus
250 interface IWbemRefresher;
251 #endif /* __cplusplus */
252 #endif
253 
254 #ifndef __IWbemHiPerfEnum_FWD_DEFINED__
255 #define __IWbemHiPerfEnum_FWD_DEFINED__
256 typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
257 #ifdef __cplusplus
258 interface IWbemHiPerfEnum;
259 #endif /* __cplusplus */
260 #endif
261 
262 #ifndef __IWbemConfigureRefresher_FWD_DEFINED__
263 #define __IWbemConfigureRefresher_FWD_DEFINED__
264 typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
265 #ifdef __cplusplus
266 interface IWbemConfigureRefresher;
267 #endif /* __cplusplus */
268 #endif
269 
270 /* Headers for imported files */
271 
272 #include <ocidl.h>
273 #include <oleidl.h>
274 #include <oaidl.h>
275 #include <servprov.h>
276 
277 #ifdef __cplusplus
278 extern "C" {
279 #endif
280 
281 /**
282  * This file is part of the mingw-w64 runtime package.
283  * No warranty is given; refer to the file DISCLAIMER within this package.
284  */
285 
286 #ifndef __IEnumWbemClassObject_FWD_DEFINED__
287 #define __IEnumWbemClassObject_FWD_DEFINED__
288 typedef interface IEnumWbemClassObject IEnumWbemClassObject;
289 #ifdef __cplusplus
290 interface IEnumWbemClassObject;
291 #endif /* __cplusplus */
292 #endif
293 
294 #ifndef __IUnsecuredApartment_FWD_DEFINED__
295 #define __IUnsecuredApartment_FWD_DEFINED__
296 typedef interface IUnsecuredApartment IUnsecuredApartment;
297 #ifdef __cplusplus
298 interface IUnsecuredApartment;
299 #endif /* __cplusplus */
300 #endif
301 
302 #ifndef __IWbemBackupRestore_FWD_DEFINED__
303 #define __IWbemBackupRestore_FWD_DEFINED__
304 typedef interface IWbemBackupRestore IWbemBackupRestore;
305 #ifdef __cplusplus
306 interface IWbemBackupRestore;
307 #endif /* __cplusplus */
308 #endif
309 
310 #ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
311 #define __IWbemBackupRestoreEx_FWD_DEFINED__
312 typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
313 #ifdef __cplusplus
314 interface IWbemBackupRestoreEx;
315 #endif /* __cplusplus */
316 #endif
317 
318 #ifndef __IWbemCallResult_FWD_DEFINED__
319 #define __IWbemCallResult_FWD_DEFINED__
320 typedef interface IWbemCallResult IWbemCallResult;
321 #ifdef __cplusplus
322 interface IWbemCallResult;
323 #endif /* __cplusplus */
324 #endif
325 
326 #ifndef __IWbemClassObject_FWD_DEFINED__
327 #define __IWbemClassObject_FWD_DEFINED__
328 typedef interface IWbemClassObject IWbemClassObject;
329 #ifdef __cplusplus
330 interface IWbemClassObject;
331 #endif /* __cplusplus */
332 #endif
333 
334 #ifndef __IWbemConfigureRefresher_FWD_DEFINED__
335 #define __IWbemConfigureRefresher_FWD_DEFINED__
336 typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
337 #ifdef __cplusplus
338 interface IWbemConfigureRefresher;
339 #endif /* __cplusplus */
340 #endif
341 
342 #ifndef __IWbemConnection_FWD_DEFINED__
343 #define __IWbemConnection_FWD_DEFINED__
344 typedef interface IWbemConnection IWbemConnection;
345 #ifdef __cplusplus
346 interface IWbemConnection;
347 #endif /* __cplusplus */
348 #endif
349 
350 #ifndef __IWbemContext_FWD_DEFINED__
351 #define __IWbemContext_FWD_DEFINED__
352 typedef interface IWbemContext IWbemContext;
353 #ifdef __cplusplus
354 interface IWbemContext;
355 #endif /* __cplusplus */
356 #endif
357 
358 #ifndef __IWbemEventSink_FWD_DEFINED__
359 #define __IWbemEventSink_FWD_DEFINED__
360 typedef interface IWbemEventSink IWbemEventSink;
361 #ifdef __cplusplus
362 interface IWbemEventSink;
363 #endif /* __cplusplus */
364 #endif
365 
366 #ifndef __IWbemHiPerfEnum_FWD_DEFINED__
367 #define __IWbemHiPerfEnum_FWD_DEFINED__
368 typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
369 #ifdef __cplusplus
370 interface IWbemHiPerfEnum;
371 #endif /* __cplusplus */
372 #endif
373 
374 #ifndef __IWbemLocator_FWD_DEFINED__
375 #define __IWbemLocator_FWD_DEFINED__
376 typedef interface IWbemLocator IWbemLocator;
377 #ifdef __cplusplus
378 interface IWbemLocator;
379 #endif /* __cplusplus */
380 #endif
381 
382 #ifndef __IWbemObjectAccess_FWD_DEFINED__
383 #define __IWbemObjectAccess_FWD_DEFINED__
384 typedef interface IWbemObjectAccess IWbemObjectAccess;
385 #ifdef __cplusplus
386 interface IWbemObjectAccess;
387 #endif /* __cplusplus */
388 #endif
389 
390 #ifndef __IWbemObjectSink_FWD_DEFINED__
391 #define __IWbemObjectSink_FWD_DEFINED__
392 typedef interface IWbemObjectSink IWbemObjectSink;
393 #ifdef __cplusplus
394 interface IWbemObjectSink;
395 #endif /* __cplusplus */
396 #endif
397 
398 #ifndef __IWbemQualifierSet_FWD_DEFINED__
399 #define __IWbemQualifierSet_FWD_DEFINED__
400 typedef interface IWbemQualifierSet IWbemQualifierSet;
401 #ifdef __cplusplus
402 interface IWbemQualifierSet;
403 #endif /* __cplusplus */
404 #endif
405 
406 #ifndef __IWbemRefresher_FWD_DEFINED__
407 #define __IWbemRefresher_FWD_DEFINED__
408 typedef interface IWbemRefresher IWbemRefresher;
409 #ifdef __cplusplus
410 interface IWbemRefresher;
411 #endif /* __cplusplus */
412 #endif
413 
414 #ifndef __IWbemSecureObjectSink_FWD_DEFINED__
415 #define __IWbemSecureObjectSink_FWD_DEFINED__
416 typedef interface IWbemSecureObjectSink IWbemSecureObjectSink;
417 #ifdef __cplusplus
418 interface IWbemSecureObjectSink;
419 #endif /* __cplusplus */
420 #endif
421 
422 #ifndef __IWbemServices_FWD_DEFINED__
423 #define __IWbemServices_FWD_DEFINED__
424 typedef interface IWbemServices IWbemServices;
425 #ifdef __cplusplus
426 interface IWbemServices;
427 #endif /* __cplusplus */
428 #endif
429 
430 #ifndef __IWbemStatusCodeText_FWD_DEFINED__
431 #define __IWbemStatusCodeText_FWD_DEFINED__
432 typedef interface IWbemStatusCodeText IWbemStatusCodeText;
433 #ifdef __cplusplus
434 interface IWbemStatusCodeText;
435 #endif /* __cplusplus */
436 #endif
437 
438 #ifndef __IWbemUnsecuredApartment_FWD_DEFINED__
439 #define __IWbemUnsecuredApartment_FWD_DEFINED__
440 typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment;
441 #ifdef __cplusplus
442 interface IWbemUnsecuredApartment;
443 #endif /* __cplusplus */
444 #endif
445 
446 #include <winapifamily.h>
447 
448 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
449 #ifndef __WbemClient_v1_LIBRARY_DEFINED__
450 #define __WbemClient_v1_LIBRARY_DEFINED__
451 
452 DEFINE_GUID(LIBID_WbemClient_v1, 0x7ec196fe, 0x7005, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
453 
454 typedef enum tag_WBEM_GENUS_TYPE {
455     WBEM_GENUS_CLASS = 1,
456     WBEM_GENUS_INSTANCE = 2
457 } WBEM_GENUS_TYPE;
458 typedef enum tag_WBEM_CHANGE_FLAG_TYPE {
459     WBEM_FLAG_CREATE_OR_UPDATE = 0,
460     WBEM_FLAG_UPDATE_ONLY = 0x1,
461     WBEM_FLAG_CREATE_ONLY = 0x2,
462     WBEM_FLAG_UPDATE_COMPATIBLE = 0x0,
463     WBEM_FLAG_UPDATE_SAFE_MODE = 0x20,
464     WBEM_FLAG_UPDATE_FORCE_MODE = 0x40,
465     WBEM_MASK_UPDATE_MODE = 0x60,
466     WBEM_FLAG_ADVISORY = 0x10000
467 } WBEM_CHANGE_FLAG_TYPE;
468 typedef enum tag_WBEM_GENERIC_FLAG_TYPE {
469     WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,
470     WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
471     WBEM_FLAG_BIDIRECTIONAL = 0,
472     WBEM_FLAG_FORWARD_ONLY = 0x20,
473     WBEM_FLAG_NO_ERROR_OBJECT = 0x40,
474     WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
475     WBEM_FLAG_SEND_STATUS = 0x80,
476     WBEM_FLAG_DONT_SEND_STATUS = 0,
477     WBEM_FLAG_ENSURE_LOCATABLE = 0x100,
478     WBEM_FLAG_DIRECT_READ = 0x200,
479     WBEM_FLAG_SEND_ONLY_SELECTED = 0,
480     WBEM_RETURN_WHEN_COMPLETE = 0,
481     WBEM_RETURN_IMMEDIATELY = 0x10,
482     WBEM_MASK_RESERVED_FLAGS = 0x1f000,
483     WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
484     WBEM_FLAG_STRONG_VALIDATION = 0x100000
485 } WBEM_GENERIC_FLAG_TYPE;
486 typedef enum tag_WBEM_STATUS_TYPE {
487     WBEM_STATUS_COMPLETE = 0,
488     WBEM_STATUS_REQUIREMENTS = 1,
489     WBEM_STATUS_PROGRESS = 2,
490     WBEM_STATUS_LOGGING_INFORMATION = 0x100,
491     WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 0x200,
492     WBEM_STATUS_LOGGING_INFORMATION_HOST = 0x400,
493     WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 0x800,
494     WBEM_STATUS_LOGGING_INFORMATION_ESS = 0x1000
495 } WBEM_STATUS_TYPE;
496 typedef enum tag_WBEM_TIMEOUT_TYPE {
497     WBEM_NO_WAIT = 0,
498     WBEM_INFINITE = 0xffffffff
499 } WBEM_TIMEOUT_TYPE;
500 typedef enum tag_WBEM_CONDITION_FLAG_TYPE {
501     WBEM_FLAG_ALWAYS = 0,
502     WBEM_FLAG_ONLY_IF_TRUE = 0x1,
503     WBEM_FLAG_ONLY_IF_FALSE = 0x2,
504     WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3,
505     WBEM_MASK_PRIMARY_CONDITION = 0x3,
506     WBEM_FLAG_KEYS_ONLY = 0x4,
507     WBEM_FLAG_REFS_ONLY = 0x8,
508     WBEM_FLAG_LOCAL_ONLY = 0x10,
509     WBEM_FLAG_PROPAGATED_ONLY = 0x20,
510     WBEM_FLAG_SYSTEM_ONLY = 0x30,
511     WBEM_FLAG_NONSYSTEM_ONLY = 0x40,
512     WBEM_MASK_CONDITION_ORIGIN = 0x70,
513     WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100,
514     WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200,
515     WBEM_MASK_CLASS_CONDITION = 0x300
516 } WBEM_CONDITION_FLAG_TYPE;
517 typedef enum tag_WBEM_FLAVOR_TYPE {
518     WBEM_FLAVOR_DONT_PROPAGATE = 0,
519     WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1,
520     WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2,
521     WBEM_FLAVOR_MASK_PROPAGATION = 0xf,
522     WBEM_FLAVOR_OVERRIDABLE = 0,
523     WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10,
524     WBEM_FLAVOR_MASK_PERMISSIONS = 0x10,
525     WBEM_FLAVOR_ORIGIN_LOCAL = 0,
526     WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20,
527     WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40,
528     WBEM_FLAVOR_MASK_ORIGIN = 0x60,
529     WBEM_FLAVOR_NOT_AMENDED = 0,
530     WBEM_FLAVOR_AMENDED = 0x80,
531     WBEM_FLAVOR_MASK_AMENDED = 0x80
532 } WBEM_FLAVOR_TYPE;
533 typedef enum tag_WBEM_QUERY_FLAG_TYPE {
534     WBEM_FLAG_DEEP = 0,
535     WBEM_FLAG_SHALLOW = 1,
536     WBEM_FLAG_PROTOTYPE = 2
537 } WBEM_QUERY_FLAG_TYPE;
538 typedef enum tag_WBEM_SECURITY_FLAGS {
539     WBEM_ENABLE = 1,
540     WBEM_METHOD_EXECUTE = 2,
541     WBEM_FULL_WRITE_REP = 4,
542     WBEM_PARTIAL_WRITE_REP = 8,
543     WBEM_WRITE_PROVIDER = 0x10,
544     WBEM_REMOTE_ACCESS = 0x20,
545     WBEM_RIGHT_SUBSCRIBE = 0x40,
546     WBEM_RIGHT_PUBLISH = 0x80
547 } WBEM_SECURITY_FLAGS;
548 typedef enum tag_WBEM_LIMITATION_FLAG_TYPE {
549     WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10,
550     WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20
551 } WBEM_LIMITATION_FLAG_TYPE;
552 typedef enum tag_WBEM_TEXT_FLAG_TYPE {
553     WBEM_FLAG_NO_FLAVORS = 0x1
554 } WBEM_TEXT_FLAG_TYPE;
555 typedef enum tag_WBEM_COMPARISON_FLAG {
556     WBEM_COMPARISON_INCLUDE_ALL = 0,
557     WBEM_FLAG_IGNORE_QUALIFIERS = 0x1,
558     WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2,
559     WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4,
560     WBEM_FLAG_IGNORE_CLASS = 0x8,
561     WBEM_FLAG_IGNORE_CASE = 0x10,
562     WBEM_FLAG_IGNORE_FLAVOR = 0x20
563 } WBEM_COMPARISON_FLAG;
564 typedef enum tag_WBEM_LOCKING {
565     WBEM_FLAG_ALLOW_READ = 0x1
566 } WBEM_LOCKING_FLAG_TYPE;
567 typedef enum tag_CIMTYPE_ENUMERATION {
568     CIM_ILLEGAL = 0xfff,
569     CIM_EMPTY = 0,
570     CIM_SINT8 = 16,
571     CIM_UINT8 = 17,
572     CIM_SINT16 = 2,
573     CIM_UINT16 = 18,
574     CIM_SINT32 = 3,
575     CIM_UINT32 = 19,
576     CIM_SINT64 = 20,
577     CIM_UINT64 = 21,
578     CIM_REAL32 = 4,
579     CIM_REAL64 = 5,
580     CIM_BOOLEAN = 11,
581     CIM_STRING = 8,
582     CIM_DATETIME = 101,
583     CIM_REFERENCE = 102,
584     CIM_CHAR16 = 103,
585     CIM_OBJECT = 13,
586     CIM_FLAG_ARRAY = 0x2000
587 } CIMTYPE_ENUMERATION;
588 typedef enum tag_WBEM_BACKUP_RESTORE_FLAGS {
589     WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0,
590     WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1
591 } WBEM_BACKUP_RESTORE_FLAGS;
592 typedef enum tag_WBEM_REFRESHER_FLAGS {
593     WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
594     WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1
595 } WBEM_REFRESHER_FLAGS;
596 typedef enum tag_WBEM_SHUTDOWN_FLAGS {
597     WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1,
598     WBEM_SHUTDOWN_WMI = 2,
599     WBEM_SHUTDOWN_OS = 3
600 } WBEM_SHUTDOWN_FLAGS;
601 typedef enum tag_WBEMSTATUS_FORMAT {
602     WBEMSTATUS_FORMAT_NEWLINE = 0,
603     WBEMSTATUS_FORMAT_NO_NEWLINE = 1
604 } WBEMSTATUS_FORMAT;
605 typedef enum tag_WBEM_LIMITS {
606     WBEM_MAX_IDENTIFIER = 0x1000,
607     WBEM_MAX_QUERY = 0x4000,
608     WBEM_MAX_PATH = 0x2000,
609     WBEM_MAX_OBJECT_NESTING = 64,
610     WBEM_MAX_USER_PROPERTIES = 1024
611 } WBEM_LIMITS;
612 typedef enum tag_WBEMSTATUS {
613     WBEM_NO_ERROR = 0,
614     WBEM_S_NO_ERROR = 0,
615     WBEM_S_SAME = 0,
616     WBEM_S_FALSE = 1,
617     WBEM_S_ALREADY_EXISTS = 0x40001,
618     WBEM_S_RESET_TO_DEFAULT = 0x40002,
619     WBEM_S_DIFFERENT = 0x40003,
620     WBEM_S_TIMEDOUT = 0x40004,
621     WBEM_S_NO_MORE_DATA = 0x40005,
622     WBEM_S_OPERATION_CANCELLED = 0x40006,
623     WBEM_S_PENDING = 0x40007,
624     WBEM_S_DUPLICATE_OBJECTS = 0x40008,
625     WBEM_S_ACCESS_DENIED = 0x40009,
626     WBEM_S_PARTIAL_RESULTS = 0x40010,
627     WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
628     WBEM_E_FAILED = 0x80041001,
629     WBEM_E_NOT_FOUND = 0x80041002,
630     WBEM_E_ACCESS_DENIED = 0x80041003,
631     WBEM_E_PROVIDER_FAILURE = 0x80041004,
632     WBEM_E_TYPE_MISMATCH = 0x80041005,
633     WBEM_E_OUT_OF_MEMORY = 0x80041006,
634     WBEM_E_INVALID_CONTEXT = 0x80041007,
635     WBEM_E_INVALID_PARAMETER = 0x80041008,
636     WBEM_E_NOT_AVAILABLE = 0x80041009,
637     WBEM_E_CRITICAL_ERROR = 0x8004100a,
638     WBEM_E_INVALID_STREAM = 0x8004100b,
639     WBEM_E_NOT_SUPPORTED = 0x8004100c,
640     WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
641     WBEM_E_INVALID_NAMESPACE = 0x8004100e,
642     WBEM_E_INVALID_OBJECT = 0x8004100f,
643     WBEM_E_INVALID_CLASS = 0x80041010,
644     WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
645     WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
646     WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
647     WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
648     WBEM_E_TRANSPORT_FAILURE = 0x80041015,
649     WBEM_E_INVALID_OPERATION = 0x80041016,
650     WBEM_E_INVALID_QUERY = 0x80041017,
651     WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
652     WBEM_E_ALREADY_EXISTS = 0x80041019,
653     WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
654     WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
655     WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
656     WBEM_E_UNEXPECTED = 0x8004101d,
657     WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
658     WBEM_E_CANNOT_BE_KEY = 0x8004101f,
659     WBEM_E_INCOMPLETE_CLASS = 0x80041020,
660     WBEM_E_INVALID_SYNTAX = 0x80041021,
661     WBEM_E_NONDECORATED_OBJECT = 0x80041022,
662     WBEM_E_READ_ONLY = 0x80041023,
663     WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
664     WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
665     WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
666     WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
667     WBEM_E_ILLEGAL_NULL = 0x80041028,
668     WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
669     WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
670     WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
671     WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
672     WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
673     WBEM_E_INVALID_METHOD = 0x8004102e,
674     WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
675     WBEM_E_SYSTEM_PROPERTY = 0x80041030,
676     WBEM_E_INVALID_PROPERTY = 0x80041031,
677     WBEM_E_CALL_CANCELLED = 0x80041032,
678     WBEM_E_SHUTTING_DOWN = 0x80041033,
679     WBEM_E_PROPAGATED_METHOD = 0x80041034,
680     WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
681     WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
682     WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
683     WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
684     WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
685     WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
686     WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
687     WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
688     WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
689     WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
690     WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
691     WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
692     WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
693     WBEM_E_INVALID_QUALIFIER = 0x80041042,
694     WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
695     WBEM_E_TOO_MUCH_DATA = 0x80041044,
696     WBEM_E_SERVER_TOO_BUSY = 0x80041045,
697     WBEM_E_INVALID_FLAVOR = 0x80041046,
698     WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
699     WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
700     WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
701     WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
702     WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
703     WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
704     WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
705     WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
706     WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
707     WBEM_E_METHOD_DISABLED = 0x80041056,
708     WBEM_E_REFRESHER_BUSY = 0x80041057,
709     WBEM_E_UNPARSABLE_QUERY = 0x80041058,
710     WBEM_E_NOT_EVENT_CLASS = 0x80041059,
711     WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
712     WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
713     WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
714     WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
715     WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
716     WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
717     WBEM_E_QUEUE_OVERFLOW = 0x80041061,
718     WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
719     WBEM_E_INVALID_OPERATOR = 0x80041063,
720     WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
721     WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
722     WBEM_E_AMENDED_OBJECT = 0x80041066,
723     WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
724     WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
725     WBEM_E_TIMED_OUT = 0x80041069,
726     WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
727     WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
728     WBEM_E_QUOTA_VIOLATION = 0x8004106c,
729     WBEM_E_RESERVED_001 = 0x8004106d,
730     WBEM_E_RESERVED_002 = 0x8004106e,
731     WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
732     WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
733     WBEM_E_CONNECTION_FAILED = 0x80041071,
734     WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
735     WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
736     WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
737     WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
738     WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
739     WBEM_E_RERUN_COMMAND = 0x80041077,
740     WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
741     WBEM_E_VETO_DELETE = 0x80041079,
742     WBEM_E_VETO_PUT = 0x8004107a,
743     WBEM_E_INVALID_LOCALE = 0x80041080,
744     WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
745     WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
746     WBEM_E_NO_SCHEMA = 0x80041083,
747     WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
748     WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
749     WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
750     WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
751     WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
752     WBEM_E_NO_KEY = 0x80041089,
753     WBEM_E_PROVIDER_DISABLED = 0x8004108a,
754     WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
755     WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
756     WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003,
757     WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
758     WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
759     WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
760     WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
761     WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
762     WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
763     WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
764     WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
765     WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
766     WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
767     WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
768     WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
769     WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
770     WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
771     WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
772     WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
773     WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
774     WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
775     WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
776     WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
777     WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
778     WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
779     WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
780     WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
781     WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
782     WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
783     WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
784     WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
785     WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
786     WBEMMOF_E_INVALID_FILE = 0x8004401e,
787     WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
788     WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
789     WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
790     WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
791     WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
792     WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
793     WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
794     WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
795     WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
796     WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
797     WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
798     WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
799     WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
800     WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
801     WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
802     WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
803     WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
804     WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
805     WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031
806 } WBEMSTATUS;
807 typedef enum tag_WMI_OBJ_TEXT {
808     WMI_OBJ_TEXT_CIM_DTD_2_0 = 1,
809     WMI_OBJ_TEXT_WMI_DTD_2_0 = 2,
810     WMI_OBJ_TEXT_WMI_EXT1 = 3,
811     WMI_OBJ_TEXT_WMI_EXT2 = 4,
812     WMI_OBJ_TEXT_WMI_EXT3 = 5,
813     WMI_OBJ_TEXT_WMI_EXT4 = 6,
814     WMI_OBJ_TEXT_WMI_EXT5 = 7,
815     WMI_OBJ_TEXT_WMI_EXT6 = 8,
816     WMI_OBJ_TEXT_WMI_EXT7 = 9,
817     WMI_OBJ_TEXT_WMI_EXT8 = 10,
818     WMI_OBJ_TEXT_WMI_EXT9 = 11,
819     WMI_OBJ_TEXT_WMI_EXT10 = 12,
820     WMI_OBJ_TEXT_LAST = 13
821 } WMI_OBJ_TEXT;
822 typedef enum tag_WBEM_COMPILER_OPTIONS {
823     WBEM_FLAG_CHECK_ONLY = 0x1,
824     WBEM_FLAG_AUTORECOVER = 0x2,
825     WBEM_FLAG_WMI_CHECK = 0x4,
826     WBEM_FLAG_CONSOLE_PRINT = 0x8,
827     WBEM_FLAG_DONT_ADD_TO_LIST = 0x10,
828     WBEM_FLAG_SPLIT_FILES = 0x20,
829     WBEM_FLAG_STORE_FILE = 0x100
830 } WBEM_COMPILER_OPTIONS;
831 typedef enum tag_WBEM_CONNECT_OPTIONS {
832     WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40,
833     WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80,
834     WBEM_FLAG_CONNECT_PROVIDERS = 0x100
835 } WBEM_CONNECT_OPTIONS;
836 typedef enum tag_WBEM_UNSECAPP_FLAG_TYPE {
837     WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0,
838     WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1,
839     WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2
840 } WBEM_UNSECAPP_FLAG_TYPE;
841 typedef enum tag_WBEM_INFORMATION_FLAG_TYPE {
842     WBEM_FLAG_SHORT_NAME = 0x1,
843     WBEM_FLAG_LONG_NAME = 0x2
844 } WBEM_INFORMATION_FLAG_TYPE;
845 typedef struct tag_CompileStatusInfo {
846     LONG lPhaseError;
847     HRESULT hRes;
848     LONG ObjectNum;
849     LONG FirstLine;
850     LONG LastLine;
851     DWORD dwOutFlags;
852 } WBEM_COMPILE_STATUS_INFO;
853 typedef LONG CIMTYPE;
854 /*****************************************************************************
855  * WbemBackupRestore coclass
856  */
857 
858 DEFINE_GUID(CLSID_WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04);
859 
860 #ifdef __cplusplus
861 class DECLSPEC_UUID("c49e32c6-bc8b-11d2-85d4-00105a1f8304") WbemBackupRestore;
862 #ifdef __CRT_UUID_DECL
863 __CRT_UUID_DECL(WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04)
864 #endif
865 #endif
866 
867 /*****************************************************************************
868  * WbemClassObject coclass
869  */
870 
871 DEFINE_GUID(CLSID_WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd);
872 
873 #ifdef __cplusplus
874 class DECLSPEC_UUID("9a653086-174f-11d2-b5f9-00104b703efd") WbemClassObject;
875 #ifdef __CRT_UUID_DECL
876 __CRT_UUID_DECL(WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd)
877 #endif
878 #endif
879 
880 /*****************************************************************************
881  * WbemContext coclass
882  */
883 
884 DEFINE_GUID(CLSID_WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
885 
886 #ifdef __cplusplus
887 class DECLSPEC_UUID("674b6698-ee92-11d0-ad71-00c04fd8fdff") WbemContext;
888 #ifdef __CRT_UUID_DECL
889 __CRT_UUID_DECL(WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
890 #endif
891 #endif
892 
893 /*****************************************************************************
894  * WbemLocator coclass
895  */
896 
897 DEFINE_GUID(CLSID_WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
898 
899 #ifdef __cplusplus
900 class DECLSPEC_UUID("4590f811-1d3a-11d0-891f-00aa004b2e24") WbemLocator;
901 #ifdef __CRT_UUID_DECL
902 __CRT_UUID_DECL(WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
903 #endif
904 #endif
905 
906 /*****************************************************************************
907  * WbemStatusCodeText coclass
908  */
909 
910 DEFINE_GUID(CLSID_WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
911 
912 #ifdef __cplusplus
913 class DECLSPEC_UUID("eb87e1bd-3233-11d2-aec9-00c04fb68820") WbemStatusCodeText;
914 #ifdef __CRT_UUID_DECL
915 __CRT_UUID_DECL(WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
916 #endif
917 #endif
918 
919 /*****************************************************************************
920  * UnsecuredApartment coclass
921  */
922 
923 DEFINE_GUID(CLSID_UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
924 
925 #ifdef __cplusplus
926 class DECLSPEC_UUID("49bd2028-1523-11d1-ad79-00c04fd8fdff") UnsecuredApartment;
927 #ifdef __CRT_UUID_DECL
928 __CRT_UUID_DECL(UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
929 #endif
930 #endif
931 
932 /*****************************************************************************
933  * MofCompiler coclass
934  */
935 
936 DEFINE_GUID(CLSID_MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
937 
938 #ifdef __cplusplus
939 class DECLSPEC_UUID("6daf9757-2e37-11d2-aec9-00c04fb68820") MofCompiler;
940 #ifdef __CRT_UUID_DECL
941 __CRT_UUID_DECL(MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
942 #endif
943 #endif
944 
945 /*****************************************************************************
946  * WbemObjectTextSrc coclass
947  */
948 
949 DEFINE_GUID(CLSID_WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6);
950 
951 #ifdef __cplusplus
952 class DECLSPEC_UUID("8d1c559d-84f0-4bb3-a7d5-56a7435a9ba6") WbemObjectTextSrc;
953 #ifdef __CRT_UUID_DECL
954 __CRT_UUID_DECL(WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6)
955 #endif
956 #endif
957 
958 /*****************************************************************************
959  * WbemRefresher coclass
960  */
961 
962 DEFINE_GUID(CLSID_WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
963 
964 #ifdef __cplusplus
965 class DECLSPEC_UUID("c71566f2-561e-11d1-ad87-00c04fd8fdff") WbemRefresher;
966 #ifdef __CRT_UUID_DECL
967 __CRT_UUID_DECL(WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
968 #endif
969 #endif
970 
971 #endif /* __WbemClient_v1_LIBRARY_DEFINED__ */
972 /*****************************************************************************
973  * IWbemClassObject interface
974  */
975 #ifndef __IWbemClassObject_INTERFACE_DEFINED__
976 #define __IWbemClassObject_INTERFACE_DEFINED__
977 
978 DEFINE_GUID(IID_IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
979 #if defined(__cplusplus) && !defined(CINTERFACE)
980 MIDL_INTERFACE("dc12a681-737f-11cf-884d-00aa004b2e24")
981 IWbemClassObject : public IUnknown
982 {
983     virtual HRESULT STDMETHODCALLTYPE GetQualifierSet(
984         IWbemQualifierSet **ppQualSet) = 0;
985 
986     virtual HRESULT STDMETHODCALLTYPE Get(
987         LPCWSTR wszName,
988         LONG lFlags,
989         VARIANT *pVal,
990         CIMTYPE *pType,
991         LONG *plFlavor) = 0;
992 
993     virtual HRESULT STDMETHODCALLTYPE Put(
994         LPCWSTR wszName,
995         LONG lFlags,
996         VARIANT *pVal,
997         CIMTYPE Type) = 0;
998 
999     virtual HRESULT STDMETHODCALLTYPE Delete(
1000         LPCWSTR wszName) = 0;
1001 
1002     virtual HRESULT STDMETHODCALLTYPE GetNames(
1003         LPCWSTR wszQualifierName,
1004         LONG lFlags,
1005         VARIANT *pQualifierVal,
1006         SAFEARRAY **pNames) = 0;
1007 
1008     virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
1009         LONG lEnumFlags) = 0;
1010 
1011     virtual HRESULT STDMETHODCALLTYPE Next(
1012         LONG lFlags,
1013         BSTR *strName,
1014         VARIANT *pVal,
1015         CIMTYPE *pType,
1016         LONG *plFlavor) = 0;
1017 
1018     virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
1019         ) = 0;
1020 
1021     virtual HRESULT STDMETHODCALLTYPE GetPropertyQualifierSet(
1022         LPCWSTR wszProperty,
1023         IWbemQualifierSet **ppQualSet) = 0;
1024 
1025     virtual HRESULT STDMETHODCALLTYPE Clone(
1026         IWbemClassObject **ppCopy) = 0;
1027 
1028     virtual HRESULT STDMETHODCALLTYPE GetObjectText(
1029         LONG lFlags,
1030         BSTR *pstrObjectText) = 0;
1031 
1032     virtual HRESULT STDMETHODCALLTYPE SpawnDerivedClass(
1033         LONG lFlags,
1034         IWbemClassObject **ppNewClass) = 0;
1035 
1036     virtual HRESULT STDMETHODCALLTYPE SpawnInstance(
1037         LONG lFlags,
1038         IWbemClassObject **ppNewInstance) = 0;
1039 
1040     virtual HRESULT STDMETHODCALLTYPE CompareTo(
1041         LONG lFlags,
1042         IWbemClassObject *pCompareTo) = 0;
1043 
1044     virtual HRESULT STDMETHODCALLTYPE GetPropertyOrigin(
1045         LPCWSTR wszName,
1046         BSTR *pstrClassName) = 0;
1047 
1048     virtual HRESULT STDMETHODCALLTYPE InheritsFrom(
1049         LPCWSTR strAncestor) = 0;
1050 
1051     virtual HRESULT STDMETHODCALLTYPE GetMethod(
1052         LPCWSTR wszName,
1053         LONG lFlags,
1054         IWbemClassObject **ppInSignature,
1055         IWbemClassObject **ppOutSignature) = 0;
1056 
1057     virtual HRESULT STDMETHODCALLTYPE PutMethod(
1058         LPCWSTR wszName,
1059         LONG lFlags,
1060         IWbemClassObject *pInSignature,
1061         IWbemClassObject *pOutSignature) = 0;
1062 
1063     virtual HRESULT STDMETHODCALLTYPE DeleteMethod(
1064         LPCWSTR wszName) = 0;
1065 
1066     virtual HRESULT STDMETHODCALLTYPE BeginMethodEnumeration(
1067         LONG lEnumFlags) = 0;
1068 
1069     virtual HRESULT STDMETHODCALLTYPE NextMethod(
1070         LONG lFlags,
1071         BSTR *pstrName,
1072         IWbemClassObject **ppInSignature,
1073         IWbemClassObject **ppOutSignature) = 0;
1074 
1075     virtual HRESULT STDMETHODCALLTYPE EndMethodEnumeration(
1076         ) = 0;
1077 
1078     virtual HRESULT STDMETHODCALLTYPE GetMethodQualifierSet(
1079         LPCWSTR wszMethod,
1080         IWbemQualifierSet **ppQualSet) = 0;
1081 
1082     virtual HRESULT STDMETHODCALLTYPE GetMethodOrigin(
1083         LPCWSTR wszMethodName,
1084         BSTR *pstrClassName) = 0;
1085 
1086 };
1087 #ifdef __CRT_UUID_DECL
1088 __CRT_UUID_DECL(IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1089 #endif
1090 #else
1091 typedef struct IWbemClassObjectVtbl {
1092     BEGIN_INTERFACE
1093 
1094     /*** IUnknown methods ***/
1095     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1096         IWbemClassObject *This,
1097         REFIID riid,
1098         void **ppvObject);
1099 
1100     ULONG (STDMETHODCALLTYPE *AddRef)(
1101         IWbemClassObject *This);
1102 
1103     ULONG (STDMETHODCALLTYPE *Release)(
1104         IWbemClassObject *This);
1105 
1106     /*** IWbemClassObject methods ***/
1107     HRESULT (STDMETHODCALLTYPE *GetQualifierSet)(
1108         IWbemClassObject *This,
1109         IWbemQualifierSet **ppQualSet);
1110 
1111     HRESULT (STDMETHODCALLTYPE *Get)(
1112         IWbemClassObject *This,
1113         LPCWSTR wszName,
1114         LONG lFlags,
1115         VARIANT *pVal,
1116         CIMTYPE *pType,
1117         LONG *plFlavor);
1118 
1119     HRESULT (STDMETHODCALLTYPE *Put)(
1120         IWbemClassObject *This,
1121         LPCWSTR wszName,
1122         LONG lFlags,
1123         VARIANT *pVal,
1124         CIMTYPE Type);
1125 
1126     HRESULT (STDMETHODCALLTYPE *Delete)(
1127         IWbemClassObject *This,
1128         LPCWSTR wszName);
1129 
1130     HRESULT (STDMETHODCALLTYPE *GetNames)(
1131         IWbemClassObject *This,
1132         LPCWSTR wszQualifierName,
1133         LONG lFlags,
1134         VARIANT *pQualifierVal,
1135         SAFEARRAY **pNames);
1136 
1137     HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
1138         IWbemClassObject *This,
1139         LONG lEnumFlags);
1140 
1141     HRESULT (STDMETHODCALLTYPE *Next)(
1142         IWbemClassObject *This,
1143         LONG lFlags,
1144         BSTR *strName,
1145         VARIANT *pVal,
1146         CIMTYPE *pType,
1147         LONG *plFlavor);
1148 
1149     HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
1150         IWbemClassObject *This);
1151 
1152     HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)(
1153         IWbemClassObject *This,
1154         LPCWSTR wszProperty,
1155         IWbemQualifierSet **ppQualSet);
1156 
1157     HRESULT (STDMETHODCALLTYPE *Clone)(
1158         IWbemClassObject *This,
1159         IWbemClassObject **ppCopy);
1160 
1161     HRESULT (STDMETHODCALLTYPE *GetObjectText)(
1162         IWbemClassObject *This,
1163         LONG lFlags,
1164         BSTR *pstrObjectText);
1165 
1166     HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)(
1167         IWbemClassObject *This,
1168         LONG lFlags,
1169         IWbemClassObject **ppNewClass);
1170 
1171     HRESULT (STDMETHODCALLTYPE *SpawnInstance)(
1172         IWbemClassObject *This,
1173         LONG lFlags,
1174         IWbemClassObject **ppNewInstance);
1175 
1176     HRESULT (STDMETHODCALLTYPE *CompareTo)(
1177         IWbemClassObject *This,
1178         LONG lFlags,
1179         IWbemClassObject *pCompareTo);
1180 
1181     HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)(
1182         IWbemClassObject *This,
1183         LPCWSTR wszName,
1184         BSTR *pstrClassName);
1185 
1186     HRESULT (STDMETHODCALLTYPE *InheritsFrom)(
1187         IWbemClassObject *This,
1188         LPCWSTR strAncestor);
1189 
1190     HRESULT (STDMETHODCALLTYPE *GetMethod)(
1191         IWbemClassObject *This,
1192         LPCWSTR wszName,
1193         LONG lFlags,
1194         IWbemClassObject **ppInSignature,
1195         IWbemClassObject **ppOutSignature);
1196 
1197     HRESULT (STDMETHODCALLTYPE *PutMethod)(
1198         IWbemClassObject *This,
1199         LPCWSTR wszName,
1200         LONG lFlags,
1201         IWbemClassObject *pInSignature,
1202         IWbemClassObject *pOutSignature);
1203 
1204     HRESULT (STDMETHODCALLTYPE *DeleteMethod)(
1205         IWbemClassObject *This,
1206         LPCWSTR wszName);
1207 
1208     HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)(
1209         IWbemClassObject *This,
1210         LONG lEnumFlags);
1211 
1212     HRESULT (STDMETHODCALLTYPE *NextMethod)(
1213         IWbemClassObject *This,
1214         LONG lFlags,
1215         BSTR *pstrName,
1216         IWbemClassObject **ppInSignature,
1217         IWbemClassObject **ppOutSignature);
1218 
1219     HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)(
1220         IWbemClassObject *This);
1221 
1222     HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)(
1223         IWbemClassObject *This,
1224         LPCWSTR wszMethod,
1225         IWbemQualifierSet **ppQualSet);
1226 
1227     HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)(
1228         IWbemClassObject *This,
1229         LPCWSTR wszMethodName,
1230         BSTR *pstrClassName);
1231 
1232     END_INTERFACE
1233 } IWbemClassObjectVtbl;
1234 
1235 interface IWbemClassObject {
1236     CONST_VTBL IWbemClassObjectVtbl* lpVtbl;
1237 };
1238 
1239 #ifdef COBJMACROS
1240 #ifndef WIDL_C_INLINE_WRAPPERS
1241 /*** IUnknown methods ***/
1242 #define IWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1243 #define IWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1244 #define IWbemClassObject_Release(This) (This)->lpVtbl->Release(This)
1245 /*** IWbemClassObject methods ***/
1246 #define IWbemClassObject_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet)
1247 #define IWbemClassObject_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor)
1248 #define IWbemClassObject_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type)
1249 #define IWbemClassObject_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
1250 #define IWbemClassObject_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
1251 #define IWbemClassObject_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags)
1252 #define IWbemClassObject_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor)
1253 #define IWbemClassObject_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
1254 #define IWbemClassObject_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet)
1255 #define IWbemClassObject_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy)
1256 #define IWbemClassObject_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText)
1257 #define IWbemClassObject_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass)
1258 #define IWbemClassObject_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance)
1259 #define IWbemClassObject_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo)
1260 #define IWbemClassObject_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName)
1261 #define IWbemClassObject_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor)
1262 #define IWbemClassObject_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
1263 #define IWbemClassObject_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
1264 #define IWbemClassObject_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName)
1265 #define IWbemClassObject_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags)
1266 #define IWbemClassObject_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
1267 #define IWbemClassObject_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This)
1268 #define IWbemClassObject_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet)
1269 #define IWbemClassObject_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName)
1270 #else
1271 /*** IUnknown methods ***/
1272 static FORCEINLINE HRESULT IWbemClassObject_QueryInterface(IWbemClassObject* This,REFIID riid,void **ppvObject) {
1273     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1274 }
1275 static FORCEINLINE ULONG IWbemClassObject_AddRef(IWbemClassObject* This) {
1276     return This->lpVtbl->AddRef(This);
1277 }
1278 static FORCEINLINE ULONG IWbemClassObject_Release(IWbemClassObject* This) {
1279     return This->lpVtbl->Release(This);
1280 }
1281 /*** IWbemClassObject methods ***/
1282 static FORCEINLINE HRESULT IWbemClassObject_GetQualifierSet(IWbemClassObject* This,IWbemQualifierSet **ppQualSet) {
1283     return This->lpVtbl->GetQualifierSet(This,ppQualSet);
1284 }
1285 static FORCEINLINE HRESULT IWbemClassObject_Get(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
1286     return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor);
1287 }
1288 static FORCEINLINE HRESULT IWbemClassObject_Put(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) {
1289     return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type);
1290 }
1291 static FORCEINLINE HRESULT IWbemClassObject_Delete(IWbemClassObject* This,LPCWSTR wszName) {
1292     return This->lpVtbl->Delete(This,wszName);
1293 }
1294 static FORCEINLINE HRESULT IWbemClassObject_GetNames(IWbemClassObject* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) {
1295     return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames);
1296 }
1297 static FORCEINLINE HRESULT IWbemClassObject_BeginEnumeration(IWbemClassObject* This,LONG lEnumFlags) {
1298     return This->lpVtbl->BeginEnumeration(This,lEnumFlags);
1299 }
1300 static FORCEINLINE HRESULT IWbemClassObject_Next(IWbemClassObject* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
1301     return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor);
1302 }
1303 static FORCEINLINE HRESULT IWbemClassObject_EndEnumeration(IWbemClassObject* This) {
1304     return This->lpVtbl->EndEnumeration(This);
1305 }
1306 static FORCEINLINE HRESULT IWbemClassObject_GetPropertyQualifierSet(IWbemClassObject* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) {
1307     return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet);
1308 }
1309 static FORCEINLINE HRESULT IWbemClassObject_Clone(IWbemClassObject* This,IWbemClassObject **ppCopy) {
1310     return This->lpVtbl->Clone(This,ppCopy);
1311 }
1312 static FORCEINLINE HRESULT IWbemClassObject_GetObjectText(IWbemClassObject* This,LONG lFlags,BSTR *pstrObjectText) {
1313     return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText);
1314 }
1315 static FORCEINLINE HRESULT IWbemClassObject_SpawnDerivedClass(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewClass) {
1316     return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass);
1317 }
1318 static FORCEINLINE HRESULT IWbemClassObject_SpawnInstance(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewInstance) {
1319     return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance);
1320 }
1321 static FORCEINLINE HRESULT IWbemClassObject_CompareTo(IWbemClassObject* This,LONG lFlags,IWbemClassObject *pCompareTo) {
1322     return This->lpVtbl->CompareTo(This,lFlags,pCompareTo);
1323 }
1324 static FORCEINLINE HRESULT IWbemClassObject_GetPropertyOrigin(IWbemClassObject* This,LPCWSTR wszName,BSTR *pstrClassName) {
1325     return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName);
1326 }
1327 static FORCEINLINE HRESULT IWbemClassObject_InheritsFrom(IWbemClassObject* This,LPCWSTR strAncestor) {
1328     return This->lpVtbl->InheritsFrom(This,strAncestor);
1329 }
1330 static FORCEINLINE HRESULT IWbemClassObject_GetMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
1331     return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature);
1332 }
1333 static FORCEINLINE HRESULT IWbemClassObject_PutMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) {
1334     return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature);
1335 }
1336 static FORCEINLINE HRESULT IWbemClassObject_DeleteMethod(IWbemClassObject* This,LPCWSTR wszName) {
1337     return This->lpVtbl->DeleteMethod(This,wszName);
1338 }
1339 static FORCEINLINE HRESULT IWbemClassObject_BeginMethodEnumeration(IWbemClassObject* This,LONG lEnumFlags) {
1340     return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags);
1341 }
1342 static FORCEINLINE HRESULT IWbemClassObject_NextMethod(IWbemClassObject* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
1343     return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature);
1344 }
1345 static FORCEINLINE HRESULT IWbemClassObject_EndMethodEnumeration(IWbemClassObject* This) {
1346     return This->lpVtbl->EndMethodEnumeration(This);
1347 }
1348 static FORCEINLINE HRESULT IWbemClassObject_GetMethodQualifierSet(IWbemClassObject* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) {
1349     return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet);
1350 }
1351 static FORCEINLINE HRESULT IWbemClassObject_GetMethodOrigin(IWbemClassObject* This,LPCWSTR wszMethodName,BSTR *pstrClassName) {
1352     return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName);
1353 }
1354 #endif
1355 #endif
1356 
1357 #endif
1358 
1359 
1360 #endif  /* __IWbemClassObject_INTERFACE_DEFINED__ */
1361 
1362 /*****************************************************************************
1363  * IWbemQualifierSet interface
1364  */
1365 #ifndef __IWbemQualifierSet_INTERFACE_DEFINED__
1366 #define __IWbemQualifierSet_INTERFACE_DEFINED__
1367 
1368 DEFINE_GUID(IID_IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1369 #if defined(__cplusplus) && !defined(CINTERFACE)
1370 MIDL_INTERFACE("dc12a680-737f-11cf-884d-00aa004b2e24")
1371 IWbemQualifierSet : public IUnknown
1372 {
1373     virtual HRESULT STDMETHODCALLTYPE Get(
1374         LPCWSTR wszName,
1375         LONG lFlags,
1376         VARIANT *pVal,
1377         LONG *plFlavor) = 0;
1378 
1379     virtual HRESULT STDMETHODCALLTYPE Put(
1380         LPCWSTR wszName,
1381         VARIANT *pVal,
1382         LONG lFlavor) = 0;
1383 
1384     virtual HRESULT STDMETHODCALLTYPE Delete(
1385         LPCWSTR wszName) = 0;
1386 
1387     virtual HRESULT STDMETHODCALLTYPE GetNames(
1388         LONG lFlags,
1389         SAFEARRAY **pNames) = 0;
1390 
1391     virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
1392         LONG lFlags) = 0;
1393 
1394     virtual HRESULT STDMETHODCALLTYPE Next(
1395         LONG lFlags,
1396         BSTR *pstrName,
1397         VARIANT *pVal,
1398         LONG *plFlavor) = 0;
1399 
1400     virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
1401         ) = 0;
1402 
1403 };
1404 #ifdef __CRT_UUID_DECL
1405 __CRT_UUID_DECL(IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1406 #endif
1407 #else
1408 typedef struct IWbemQualifierSetVtbl {
1409     BEGIN_INTERFACE
1410 
1411     /*** IUnknown methods ***/
1412     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1413         IWbemQualifierSet *This,
1414         REFIID riid,
1415         void **ppvObject);
1416 
1417     ULONG (STDMETHODCALLTYPE *AddRef)(
1418         IWbemQualifierSet *This);
1419 
1420     ULONG (STDMETHODCALLTYPE *Release)(
1421         IWbemQualifierSet *This);
1422 
1423     /*** IWbemQualifierSet methods ***/
1424     HRESULT (STDMETHODCALLTYPE *Get)(
1425         IWbemQualifierSet *This,
1426         LPCWSTR wszName,
1427         LONG lFlags,
1428         VARIANT *pVal,
1429         LONG *plFlavor);
1430 
1431     HRESULT (STDMETHODCALLTYPE *Put)(
1432         IWbemQualifierSet *This,
1433         LPCWSTR wszName,
1434         VARIANT *pVal,
1435         LONG lFlavor);
1436 
1437     HRESULT (STDMETHODCALLTYPE *Delete)(
1438         IWbemQualifierSet *This,
1439         LPCWSTR wszName);
1440 
1441     HRESULT (STDMETHODCALLTYPE *GetNames)(
1442         IWbemQualifierSet *This,
1443         LONG lFlags,
1444         SAFEARRAY **pNames);
1445 
1446     HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
1447         IWbemQualifierSet *This,
1448         LONG lFlags);
1449 
1450     HRESULT (STDMETHODCALLTYPE *Next)(
1451         IWbemQualifierSet *This,
1452         LONG lFlags,
1453         BSTR *pstrName,
1454         VARIANT *pVal,
1455         LONG *plFlavor);
1456 
1457     HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
1458         IWbemQualifierSet *This);
1459 
1460     END_INTERFACE
1461 } IWbemQualifierSetVtbl;
1462 
1463 interface IWbemQualifierSet {
1464     CONST_VTBL IWbemQualifierSetVtbl* lpVtbl;
1465 };
1466 
1467 #ifdef COBJMACROS
1468 #ifndef WIDL_C_INLINE_WRAPPERS
1469 /*** IUnknown methods ***/
1470 #define IWbemQualifierSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1471 #define IWbemQualifierSet_AddRef(This) (This)->lpVtbl->AddRef(This)
1472 #define IWbemQualifierSet_Release(This) (This)->lpVtbl->Release(This)
1473 /*** IWbemQualifierSet methods ***/
1474 #define IWbemQualifierSet_Get(This,wszName,lFlags,pVal,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor)
1475 #define IWbemQualifierSet_Put(This,wszName,pVal,lFlavor) (This)->lpVtbl->Put(This,wszName,pVal,lFlavor)
1476 #define IWbemQualifierSet_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
1477 #define IWbemQualifierSet_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames)
1478 #define IWbemQualifierSet_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags)
1479 #define IWbemQualifierSet_Next(This,lFlags,pstrName,pVal,plFlavor) (This)->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor)
1480 #define IWbemQualifierSet_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
1481 #else
1482 /*** IUnknown methods ***/
1483 static FORCEINLINE HRESULT IWbemQualifierSet_QueryInterface(IWbemQualifierSet* This,REFIID riid,void **ppvObject) {
1484     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1485 }
1486 static FORCEINLINE ULONG IWbemQualifierSet_AddRef(IWbemQualifierSet* This) {
1487     return This->lpVtbl->AddRef(This);
1488 }
1489 static FORCEINLINE ULONG IWbemQualifierSet_Release(IWbemQualifierSet* This) {
1490     return This->lpVtbl->Release(This);
1491 }
1492 /*** IWbemQualifierSet methods ***/
1493 static FORCEINLINE HRESULT IWbemQualifierSet_Get(IWbemQualifierSet* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,LONG *plFlavor) {
1494     return This->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor);
1495 }
1496 static FORCEINLINE HRESULT IWbemQualifierSet_Put(IWbemQualifierSet* This,LPCWSTR wszName,VARIANT *pVal,LONG lFlavor) {
1497     return This->lpVtbl->Put(This,wszName,pVal,lFlavor);
1498 }
1499 static FORCEINLINE HRESULT IWbemQualifierSet_Delete(IWbemQualifierSet* This,LPCWSTR wszName) {
1500     return This->lpVtbl->Delete(This,wszName);
1501 }
1502 static FORCEINLINE HRESULT IWbemQualifierSet_GetNames(IWbemQualifierSet* This,LONG lFlags,SAFEARRAY **pNames) {
1503     return This->lpVtbl->GetNames(This,lFlags,pNames);
1504 }
1505 static FORCEINLINE HRESULT IWbemQualifierSet_BeginEnumeration(IWbemQualifierSet* This,LONG lFlags) {
1506     return This->lpVtbl->BeginEnumeration(This,lFlags);
1507 }
1508 static FORCEINLINE HRESULT IWbemQualifierSet_Next(IWbemQualifierSet* This,LONG lFlags,BSTR *pstrName,VARIANT *pVal,LONG *plFlavor) {
1509     return This->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor);
1510 }
1511 static FORCEINLINE HRESULT IWbemQualifierSet_EndEnumeration(IWbemQualifierSet* This) {
1512     return This->lpVtbl->EndEnumeration(This);
1513 }
1514 #endif
1515 #endif
1516 
1517 #endif
1518 
1519 
1520 #endif  /* __IWbemQualifierSet_INTERFACE_DEFINED__ */
1521 
1522 /*****************************************************************************
1523  * IWbemLocator interface
1524  */
1525 #ifndef __IWbemLocator_INTERFACE_DEFINED__
1526 #define __IWbemLocator_INTERFACE_DEFINED__
1527 
1528 DEFINE_GUID(IID_IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1529 #if defined(__cplusplus) && !defined(CINTERFACE)
1530 MIDL_INTERFACE("dc12a687-737f-11cf-884d-00aa004b2e24")
1531 IWbemLocator : public IUnknown
1532 {
1533     virtual HRESULT STDMETHODCALLTYPE ConnectServer(
1534         const BSTR strNetworkResource,
1535         const BSTR strUser,
1536         const BSTR strPassword,
1537         const BSTR strLocale,
1538         LONG lSecurityFlags,
1539         const BSTR strAuthority,
1540         IWbemContext *pCtx,
1541         IWbemServices **ppNamespace) = 0;
1542 
1543 };
1544 #ifdef __CRT_UUID_DECL
1545 __CRT_UUID_DECL(IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1546 #endif
1547 #else
1548 typedef struct IWbemLocatorVtbl {
1549     BEGIN_INTERFACE
1550 
1551     /*** IUnknown methods ***/
1552     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1553         IWbemLocator *This,
1554         REFIID riid,
1555         void **ppvObject);
1556 
1557     ULONG (STDMETHODCALLTYPE *AddRef)(
1558         IWbemLocator *This);
1559 
1560     ULONG (STDMETHODCALLTYPE *Release)(
1561         IWbemLocator *This);
1562 
1563     /*** IWbemLocator methods ***/
1564     HRESULT (STDMETHODCALLTYPE *ConnectServer)(
1565         IWbemLocator *This,
1566         const BSTR strNetworkResource,
1567         const BSTR strUser,
1568         const BSTR strPassword,
1569         const BSTR strLocale,
1570         LONG lSecurityFlags,
1571         const BSTR strAuthority,
1572         IWbemContext *pCtx,
1573         IWbemServices **ppNamespace);
1574 
1575     END_INTERFACE
1576 } IWbemLocatorVtbl;
1577 
1578 interface IWbemLocator {
1579     CONST_VTBL IWbemLocatorVtbl* lpVtbl;
1580 };
1581 
1582 #ifdef COBJMACROS
1583 #ifndef WIDL_C_INLINE_WRAPPERS
1584 /*** IUnknown methods ***/
1585 #define IWbemLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1586 #define IWbemLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
1587 #define IWbemLocator_Release(This) (This)->lpVtbl->Release(This)
1588 /*** IWbemLocator methods ***/
1589 #define IWbemLocator_ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) (This)->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace)
1590 #else
1591 /*** IUnknown methods ***/
1592 static FORCEINLINE HRESULT IWbemLocator_QueryInterface(IWbemLocator* This,REFIID riid,void **ppvObject) {
1593     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1594 }
1595 static FORCEINLINE ULONG IWbemLocator_AddRef(IWbemLocator* This) {
1596     return This->lpVtbl->AddRef(This);
1597 }
1598 static FORCEINLINE ULONG IWbemLocator_Release(IWbemLocator* This) {
1599     return This->lpVtbl->Release(This);
1600 }
1601 /*** IWbemLocator methods ***/
1602 static FORCEINLINE HRESULT IWbemLocator_ConnectServer(IWbemLocator* This,const BSTR strNetworkResource,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,LONG lSecurityFlags,const BSTR strAuthority,IWbemContext *pCtx,IWbemServices **ppNamespace) {
1603     return This->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace);
1604 }
1605 #endif
1606 #endif
1607 
1608 #endif
1609 
1610 
1611 #endif  /* __IWbemLocator_INTERFACE_DEFINED__ */
1612 
1613 /*****************************************************************************
1614  * IWbemObjectSink interface
1615  */
1616 #ifndef __IWbemObjectSink_INTERFACE_DEFINED__
1617 #define __IWbemObjectSink_INTERFACE_DEFINED__
1618 
1619 DEFINE_GUID(IID_IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1620 #if defined(__cplusplus) && !defined(CINTERFACE)
1621 MIDL_INTERFACE("7c857801-7381-11cf-884d-00aa004b2e24")
1622 IWbemObjectSink : public IUnknown
1623 {
1624     virtual HRESULT STDMETHODCALLTYPE Indicate(
1625         LONG lObjectCount,
1626         IWbemClassObject **apObjArray) = 0;
1627 
1628     virtual HRESULT STDMETHODCALLTYPE SetStatus(
1629         LONG lFlags,
1630         HRESULT hResult,
1631         BSTR strParam,
1632         IWbemClassObject *pObjParam) = 0;
1633 
1634 };
1635 #ifdef __CRT_UUID_DECL
1636 __CRT_UUID_DECL(IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1637 #endif
1638 #else
1639 typedef struct IWbemObjectSinkVtbl {
1640     BEGIN_INTERFACE
1641 
1642     /*** IUnknown methods ***/
1643     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1644         IWbemObjectSink *This,
1645         REFIID riid,
1646         void **ppvObject);
1647 
1648     ULONG (STDMETHODCALLTYPE *AddRef)(
1649         IWbemObjectSink *This);
1650 
1651     ULONG (STDMETHODCALLTYPE *Release)(
1652         IWbemObjectSink *This);
1653 
1654     /*** IWbemObjectSink methods ***/
1655     HRESULT (STDMETHODCALLTYPE *Indicate)(
1656         IWbemObjectSink *This,
1657         LONG lObjectCount,
1658         IWbemClassObject **apObjArray);
1659 
1660     HRESULT (STDMETHODCALLTYPE *SetStatus)(
1661         IWbemObjectSink *This,
1662         LONG lFlags,
1663         HRESULT hResult,
1664         BSTR strParam,
1665         IWbemClassObject *pObjParam);
1666 
1667     END_INTERFACE
1668 } IWbemObjectSinkVtbl;
1669 
1670 interface IWbemObjectSink {
1671     CONST_VTBL IWbemObjectSinkVtbl* lpVtbl;
1672 };
1673 
1674 #ifdef COBJMACROS
1675 #ifndef WIDL_C_INLINE_WRAPPERS
1676 /*** IUnknown methods ***/
1677 #define IWbemObjectSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1678 #define IWbemObjectSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1679 #define IWbemObjectSink_Release(This) (This)->lpVtbl->Release(This)
1680 /*** IWbemObjectSink methods ***/
1681 #define IWbemObjectSink_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray)
1682 #define IWbemObjectSink_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam)
1683 #else
1684 /*** IUnknown methods ***/
1685 static FORCEINLINE HRESULT IWbemObjectSink_QueryInterface(IWbemObjectSink* This,REFIID riid,void **ppvObject) {
1686     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1687 }
1688 static FORCEINLINE ULONG IWbemObjectSink_AddRef(IWbemObjectSink* This) {
1689     return This->lpVtbl->AddRef(This);
1690 }
1691 static FORCEINLINE ULONG IWbemObjectSink_Release(IWbemObjectSink* This) {
1692     return This->lpVtbl->Release(This);
1693 }
1694 /*** IWbemObjectSink methods ***/
1695 static FORCEINLINE HRESULT IWbemObjectSink_Indicate(IWbemObjectSink* This,LONG lObjectCount,IWbemClassObject **apObjArray) {
1696     return This->lpVtbl->Indicate(This,lObjectCount,apObjArray);
1697 }
1698 static FORCEINLINE HRESULT IWbemObjectSink_SetStatus(IWbemObjectSink* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) {
1699     return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam);
1700 }
1701 #endif
1702 #endif
1703 
1704 #endif
1705 
1706 
1707 #endif  /* __IWbemObjectSink_INTERFACE_DEFINED__ */
1708 
1709 /*****************************************************************************
1710  * IWbemObjectSinkEx interface
1711  */
1712 #ifndef __IWbemObjectSinkEx_INTERFACE_DEFINED__
1713 #define __IWbemObjectSinkEx_INTERFACE_DEFINED__
1714 
1715 DEFINE_GUID(IID_IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca);
1716 #if defined(__cplusplus) && !defined(CINTERFACE)
1717 MIDL_INTERFACE("e7d35cfa-348b-485e-b524-252725d697ca")
1718 IWbemObjectSinkEx : public IWbemObjectSink
1719 {
1720     virtual HRESULT STDMETHODCALLTYPE WriteMessage(
1721         ULONG uChannel,
1722         const BSTR strMessage) = 0;
1723 
1724     virtual HRESULT STDMETHODCALLTYPE WriteError(
1725         IWbemClassObject *pObjError,
1726         unsigned char *puReturned) = 0;
1727 
1728     virtual HRESULT STDMETHODCALLTYPE PromptUser(
1729         const BSTR strMessage,
1730         unsigned char uPromptType,
1731         unsigned char *puReturned) = 0;
1732 
1733     virtual HRESULT STDMETHODCALLTYPE WriteProgress(
1734         const BSTR strActivity,
1735         const BSTR strCurrentOperation,
1736         const BSTR strStatusDescription,
1737         ULONG uPercentComplete,
1738         ULONG uSecondsRemaining) = 0;
1739 
1740     virtual HRESULT STDMETHODCALLTYPE WriteStreamParameter(
1741         const BSTR strName,
1742         VARIANT *vtValue,
1743         ULONG ulType,
1744         ULONG ulFlags) = 0;
1745 
1746 };
1747 #ifdef __CRT_UUID_DECL
1748 __CRT_UUID_DECL(IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca)
1749 #endif
1750 #else
1751 typedef struct IWbemObjectSinkExVtbl {
1752     BEGIN_INTERFACE
1753 
1754     /*** IUnknown methods ***/
1755     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1756         IWbemObjectSinkEx *This,
1757         REFIID riid,
1758         void **ppvObject);
1759 
1760     ULONG (STDMETHODCALLTYPE *AddRef)(
1761         IWbemObjectSinkEx *This);
1762 
1763     ULONG (STDMETHODCALLTYPE *Release)(
1764         IWbemObjectSinkEx *This);
1765 
1766     /*** IWbemObjectSink methods ***/
1767     HRESULT (STDMETHODCALLTYPE *Indicate)(
1768         IWbemObjectSinkEx *This,
1769         LONG lObjectCount,
1770         IWbemClassObject **apObjArray);
1771 
1772     HRESULT (STDMETHODCALLTYPE *SetStatus)(
1773         IWbemObjectSinkEx *This,
1774         LONG lFlags,
1775         HRESULT hResult,
1776         BSTR strParam,
1777         IWbemClassObject *pObjParam);
1778 
1779     /*** IWbemObjectSinkEx methods ***/
1780     HRESULT (STDMETHODCALLTYPE *WriteMessage)(
1781         IWbemObjectSinkEx *This,
1782         ULONG uChannel,
1783         const BSTR strMessage);
1784 
1785     HRESULT (STDMETHODCALLTYPE *WriteError)(
1786         IWbemObjectSinkEx *This,
1787         IWbemClassObject *pObjError,
1788         unsigned char *puReturned);
1789 
1790     HRESULT (STDMETHODCALLTYPE *PromptUser)(
1791         IWbemObjectSinkEx *This,
1792         const BSTR strMessage,
1793         unsigned char uPromptType,
1794         unsigned char *puReturned);
1795 
1796     HRESULT (STDMETHODCALLTYPE *WriteProgress)(
1797         IWbemObjectSinkEx *This,
1798         const BSTR strActivity,
1799         const BSTR strCurrentOperation,
1800         const BSTR strStatusDescription,
1801         ULONG uPercentComplete,
1802         ULONG uSecondsRemaining);
1803 
1804     HRESULT (STDMETHODCALLTYPE *WriteStreamParameter)(
1805         IWbemObjectSinkEx *This,
1806         const BSTR strName,
1807         VARIANT *vtValue,
1808         ULONG ulType,
1809         ULONG ulFlags);
1810 
1811     END_INTERFACE
1812 } IWbemObjectSinkExVtbl;
1813 
1814 interface IWbemObjectSinkEx {
1815     CONST_VTBL IWbemObjectSinkExVtbl* lpVtbl;
1816 };
1817 
1818 #ifdef COBJMACROS
1819 #ifndef WIDL_C_INLINE_WRAPPERS
1820 /*** IUnknown methods ***/
1821 #define IWbemObjectSinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1822 #define IWbemObjectSinkEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1823 #define IWbemObjectSinkEx_Release(This) (This)->lpVtbl->Release(This)
1824 /*** IWbemObjectSink methods ***/
1825 #define IWbemObjectSinkEx_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray)
1826 #define IWbemObjectSinkEx_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam)
1827 /*** IWbemObjectSinkEx methods ***/
1828 #define IWbemObjectSinkEx_WriteMessage(This,uChannel,strMessage) (This)->lpVtbl->WriteMessage(This,uChannel,strMessage)
1829 #define IWbemObjectSinkEx_WriteError(This,pObjError,puReturned) (This)->lpVtbl->WriteError(This,pObjError,puReturned)
1830 #define IWbemObjectSinkEx_PromptUser(This,strMessage,uPromptType,puReturned) (This)->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned)
1831 #define IWbemObjectSinkEx_WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining) (This)->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining)
1832 #define IWbemObjectSinkEx_WriteStreamParameter(This,strName,vtValue,ulType,ulFlags) (This)->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags)
1833 #else
1834 /*** IUnknown methods ***/
1835 static FORCEINLINE HRESULT IWbemObjectSinkEx_QueryInterface(IWbemObjectSinkEx* This,REFIID riid,void **ppvObject) {
1836     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1837 }
1838 static FORCEINLINE ULONG IWbemObjectSinkEx_AddRef(IWbemObjectSinkEx* This) {
1839     return This->lpVtbl->AddRef(This);
1840 }
1841 static FORCEINLINE ULONG IWbemObjectSinkEx_Release(IWbemObjectSinkEx* This) {
1842     return This->lpVtbl->Release(This);
1843 }
1844 /*** IWbemObjectSink methods ***/
1845 static FORCEINLINE HRESULT IWbemObjectSinkEx_Indicate(IWbemObjectSinkEx* This,LONG lObjectCount,IWbemClassObject **apObjArray) {
1846     return This->lpVtbl->Indicate(This,lObjectCount,apObjArray);
1847 }
1848 static FORCEINLINE HRESULT IWbemObjectSinkEx_SetStatus(IWbemObjectSinkEx* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) {
1849     return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam);
1850 }
1851 /*** IWbemObjectSinkEx methods ***/
1852 static FORCEINLINE HRESULT IWbemObjectSinkEx_WriteMessage(IWbemObjectSinkEx* This,ULONG uChannel,const BSTR strMessage) {
1853     return This->lpVtbl->WriteMessage(This,uChannel,strMessage);
1854 }
1855 static FORCEINLINE HRESULT IWbemObjectSinkEx_WriteError(IWbemObjectSinkEx* This,IWbemClassObject *pObjError,unsigned char *puReturned) {
1856     return This->lpVtbl->WriteError(This,pObjError,puReturned);
1857 }
1858 static FORCEINLINE HRESULT IWbemObjectSinkEx_PromptUser(IWbemObjectSinkEx* This,const BSTR strMessage,unsigned char uPromptType,unsigned char *puReturned) {
1859     return This->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned);
1860 }
1861 static FORCEINLINE HRESULT IWbemObjectSinkEx_WriteProgress(IWbemObjectSinkEx* This,const BSTR strActivity,const BSTR strCurrentOperation,const BSTR strStatusDescription,ULONG uPercentComplete,ULONG uSecondsRemaining) {
1862     return This->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining);
1863 }
1864 static FORCEINLINE HRESULT IWbemObjectSinkEx_WriteStreamParameter(IWbemObjectSinkEx* This,const BSTR strName,VARIANT *vtValue,ULONG ulType,ULONG ulFlags) {
1865     return This->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags);
1866 }
1867 #endif
1868 #endif
1869 
1870 #endif
1871 
1872 
1873 #endif  /* __IWbemObjectSinkEx_INTERFACE_DEFINED__ */
1874 
1875 /*****************************************************************************
1876  * IEnumWbemClassObject interface
1877  */
1878 #ifndef __IEnumWbemClassObject_INTERFACE_DEFINED__
1879 #define __IEnumWbemClassObject_INTERFACE_DEFINED__
1880 
1881 DEFINE_GUID(IID_IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01);
1882 #if defined(__cplusplus) && !defined(CINTERFACE)
1883 MIDL_INTERFACE("027947e1-d731-11ce-a357-000000000001")
1884 IEnumWbemClassObject : public IUnknown
1885 {
1886     virtual HRESULT STDMETHODCALLTYPE Reset(
1887         ) = 0;
1888 
1889     virtual HRESULT STDMETHODCALLTYPE Next(
1890         LONG lTimeout,
1891         ULONG uCount,
1892         IWbemClassObject **apObjects,
1893         ULONG *puReturned) = 0;
1894 
1895     virtual HRESULT STDMETHODCALLTYPE NextAsync(
1896         ULONG uCount,
1897         IWbemObjectSink *pSink) = 0;
1898 
1899     virtual HRESULT STDMETHODCALLTYPE Clone(
1900         IEnumWbemClassObject **ppEnum) = 0;
1901 
1902     virtual HRESULT STDMETHODCALLTYPE Skip(
1903         LONG lTimeout,
1904         ULONG nCount) = 0;
1905 
1906 };
1907 #ifdef __CRT_UUID_DECL
1908 __CRT_UUID_DECL(IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01)
1909 #endif
1910 #else
1911 typedef struct IEnumWbemClassObjectVtbl {
1912     BEGIN_INTERFACE
1913 
1914     /*** IUnknown methods ***/
1915     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1916         IEnumWbemClassObject *This,
1917         REFIID riid,
1918         void **ppvObject);
1919 
1920     ULONG (STDMETHODCALLTYPE *AddRef)(
1921         IEnumWbemClassObject *This);
1922 
1923     ULONG (STDMETHODCALLTYPE *Release)(
1924         IEnumWbemClassObject *This);
1925 
1926     /*** IEnumWbemClassObject methods ***/
1927     HRESULT (STDMETHODCALLTYPE *Reset)(
1928         IEnumWbemClassObject *This);
1929 
1930     HRESULT (STDMETHODCALLTYPE *Next)(
1931         IEnumWbemClassObject *This,
1932         LONG lTimeout,
1933         ULONG uCount,
1934         IWbemClassObject **apObjects,
1935         ULONG *puReturned);
1936 
1937     HRESULT (STDMETHODCALLTYPE *NextAsync)(
1938         IEnumWbemClassObject *This,
1939         ULONG uCount,
1940         IWbemObjectSink *pSink);
1941 
1942     HRESULT (STDMETHODCALLTYPE *Clone)(
1943         IEnumWbemClassObject *This,
1944         IEnumWbemClassObject **ppEnum);
1945 
1946     HRESULT (STDMETHODCALLTYPE *Skip)(
1947         IEnumWbemClassObject *This,
1948         LONG lTimeout,
1949         ULONG nCount);
1950 
1951     END_INTERFACE
1952 } IEnumWbemClassObjectVtbl;
1953 
1954 interface IEnumWbemClassObject {
1955     CONST_VTBL IEnumWbemClassObjectVtbl* lpVtbl;
1956 };
1957 
1958 #ifdef COBJMACROS
1959 #ifndef WIDL_C_INLINE_WRAPPERS
1960 /*** IUnknown methods ***/
1961 #define IEnumWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1962 #define IEnumWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1963 #define IEnumWbemClassObject_Release(This) (This)->lpVtbl->Release(This)
1964 /*** IEnumWbemClassObject methods ***/
1965 #define IEnumWbemClassObject_Reset(This) (This)->lpVtbl->Reset(This)
1966 #define IEnumWbemClassObject_Next(This,lTimeout,uCount,apObjects,puReturned) (This)->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned)
1967 #define IEnumWbemClassObject_NextAsync(This,uCount,pSink) (This)->lpVtbl->NextAsync(This,uCount,pSink)
1968 #define IEnumWbemClassObject_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1969 #define IEnumWbemClassObject_Skip(This,lTimeout,nCount) (This)->lpVtbl->Skip(This,lTimeout,nCount)
1970 #else
1971 /*** IUnknown methods ***/
1972 static FORCEINLINE HRESULT IEnumWbemClassObject_QueryInterface(IEnumWbemClassObject* This,REFIID riid,void **ppvObject) {
1973     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1974 }
1975 static FORCEINLINE ULONG IEnumWbemClassObject_AddRef(IEnumWbemClassObject* This) {
1976     return This->lpVtbl->AddRef(This);
1977 }
1978 static FORCEINLINE ULONG IEnumWbemClassObject_Release(IEnumWbemClassObject* This) {
1979     return This->lpVtbl->Release(This);
1980 }
1981 /*** IEnumWbemClassObject methods ***/
1982 static FORCEINLINE HRESULT IEnumWbemClassObject_Reset(IEnumWbemClassObject* This) {
1983     return This->lpVtbl->Reset(This);
1984 }
1985 static FORCEINLINE HRESULT IEnumWbemClassObject_Next(IEnumWbemClassObject* This,LONG lTimeout,ULONG uCount,IWbemClassObject **apObjects,ULONG *puReturned) {
1986     return This->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned);
1987 }
1988 static FORCEINLINE HRESULT IEnumWbemClassObject_NextAsync(IEnumWbemClassObject* This,ULONG uCount,IWbemObjectSink *pSink) {
1989     return This->lpVtbl->NextAsync(This,uCount,pSink);
1990 }
1991 static FORCEINLINE HRESULT IEnumWbemClassObject_Clone(IEnumWbemClassObject* This,IEnumWbemClassObject **ppEnum) {
1992     return This->lpVtbl->Clone(This,ppEnum);
1993 }
1994 static FORCEINLINE HRESULT IEnumWbemClassObject_Skip(IEnumWbemClassObject* This,LONG lTimeout,ULONG nCount) {
1995     return This->lpVtbl->Skip(This,lTimeout,nCount);
1996 }
1997 #endif
1998 #endif
1999 
2000 #endif
2001 
2002 
2003 #endif  /* __IEnumWbemClassObject_INTERFACE_DEFINED__ */
2004 
2005 /*****************************************************************************
2006  * IWbemContext interface
2007  */
2008 #ifndef __IWbemContext_INTERFACE_DEFINED__
2009 #define __IWbemContext_INTERFACE_DEFINED__
2010 
2011 DEFINE_GUID(IID_IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2012 #if defined(__cplusplus) && !defined(CINTERFACE)
2013 MIDL_INTERFACE("44aca674-e8fc-11d0-a07c-00c04fb68820")
2014 IWbemContext : public IUnknown
2015 {
2016     virtual HRESULT STDMETHODCALLTYPE Clone(
2017         IWbemContext **ppNewCopy) = 0;
2018 
2019     virtual HRESULT STDMETHODCALLTYPE GetNames(
2020         LONG lFlags,
2021         SAFEARRAY **pNames) = 0;
2022 
2023     virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
2024         LONG lFlags) = 0;
2025 
2026     virtual HRESULT STDMETHODCALLTYPE Next(
2027         LONG lFlags,
2028         BSTR *pstrName,
2029         VARIANT *pValue) = 0;
2030 
2031     virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
2032         ) = 0;
2033 
2034     virtual HRESULT STDMETHODCALLTYPE SetValue(
2035         LPCWSTR wszName,
2036         LONG lFlags,
2037         VARIANT *pValue) = 0;
2038 
2039     virtual HRESULT STDMETHODCALLTYPE GetValue(
2040         LPCWSTR wszName,
2041         LONG lFlags,
2042         VARIANT *pValue) = 0;
2043 
2044     virtual HRESULT STDMETHODCALLTYPE DeleteValue(
2045         LPCWSTR wszName,
2046         LONG lFlags) = 0;
2047 
2048     virtual HRESULT STDMETHODCALLTYPE DeleteAll(
2049         ) = 0;
2050 
2051 };
2052 #ifdef __CRT_UUID_DECL
2053 __CRT_UUID_DECL(IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
2054 #endif
2055 #else
2056 typedef struct IWbemContextVtbl {
2057     BEGIN_INTERFACE
2058 
2059     /*** IUnknown methods ***/
2060     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2061         IWbemContext *This,
2062         REFIID riid,
2063         void **ppvObject);
2064 
2065     ULONG (STDMETHODCALLTYPE *AddRef)(
2066         IWbemContext *This);
2067 
2068     ULONG (STDMETHODCALLTYPE *Release)(
2069         IWbemContext *This);
2070 
2071     /*** IWbemContext methods ***/
2072     HRESULT (STDMETHODCALLTYPE *Clone)(
2073         IWbemContext *This,
2074         IWbemContext **ppNewCopy);
2075 
2076     HRESULT (STDMETHODCALLTYPE *GetNames)(
2077         IWbemContext *This,
2078         LONG lFlags,
2079         SAFEARRAY **pNames);
2080 
2081     HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
2082         IWbemContext *This,
2083         LONG lFlags);
2084 
2085     HRESULT (STDMETHODCALLTYPE *Next)(
2086         IWbemContext *This,
2087         LONG lFlags,
2088         BSTR *pstrName,
2089         VARIANT *pValue);
2090 
2091     HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
2092         IWbemContext *This);
2093 
2094     HRESULT (STDMETHODCALLTYPE *SetValue)(
2095         IWbemContext *This,
2096         LPCWSTR wszName,
2097         LONG lFlags,
2098         VARIANT *pValue);
2099 
2100     HRESULT (STDMETHODCALLTYPE *GetValue)(
2101         IWbemContext *This,
2102         LPCWSTR wszName,
2103         LONG lFlags,
2104         VARIANT *pValue);
2105 
2106     HRESULT (STDMETHODCALLTYPE *DeleteValue)(
2107         IWbemContext *This,
2108         LPCWSTR wszName,
2109         LONG lFlags);
2110 
2111     HRESULT (STDMETHODCALLTYPE *DeleteAll)(
2112         IWbemContext *This);
2113 
2114     END_INTERFACE
2115 } IWbemContextVtbl;
2116 
2117 interface IWbemContext {
2118     CONST_VTBL IWbemContextVtbl* lpVtbl;
2119 };
2120 
2121 #ifdef COBJMACROS
2122 #ifndef WIDL_C_INLINE_WRAPPERS
2123 /*** IUnknown methods ***/
2124 #define IWbemContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2125 #define IWbemContext_AddRef(This) (This)->lpVtbl->AddRef(This)
2126 #define IWbemContext_Release(This) (This)->lpVtbl->Release(This)
2127 /*** IWbemContext methods ***/
2128 #define IWbemContext_Clone(This,ppNewCopy) (This)->lpVtbl->Clone(This,ppNewCopy)
2129 #define IWbemContext_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames)
2130 #define IWbemContext_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags)
2131 #define IWbemContext_Next(This,lFlags,pstrName,pValue) (This)->lpVtbl->Next(This,lFlags,pstrName,pValue)
2132 #define IWbemContext_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
2133 #define IWbemContext_SetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->SetValue(This,wszName,lFlags,pValue)
2134 #define IWbemContext_GetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->GetValue(This,wszName,lFlags,pValue)
2135 #define IWbemContext_DeleteValue(This,wszName,lFlags) (This)->lpVtbl->DeleteValue(This,wszName,lFlags)
2136 #define IWbemContext_DeleteAll(This) (This)->lpVtbl->DeleteAll(This)
2137 #else
2138 /*** IUnknown methods ***/
2139 static FORCEINLINE HRESULT IWbemContext_QueryInterface(IWbemContext* This,REFIID riid,void **ppvObject) {
2140     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2141 }
2142 static FORCEINLINE ULONG IWbemContext_AddRef(IWbemContext* This) {
2143     return This->lpVtbl->AddRef(This);
2144 }
2145 static FORCEINLINE ULONG IWbemContext_Release(IWbemContext* This) {
2146     return This->lpVtbl->Release(This);
2147 }
2148 /*** IWbemContext methods ***/
2149 static FORCEINLINE HRESULT IWbemContext_Clone(IWbemContext* This,IWbemContext **ppNewCopy) {
2150     return This->lpVtbl->Clone(This,ppNewCopy);
2151 }
2152 static FORCEINLINE HRESULT IWbemContext_GetNames(IWbemContext* This,LONG lFlags,SAFEARRAY **pNames) {
2153     return This->lpVtbl->GetNames(This,lFlags,pNames);
2154 }
2155 static FORCEINLINE HRESULT IWbemContext_BeginEnumeration(IWbemContext* This,LONG lFlags) {
2156     return This->lpVtbl->BeginEnumeration(This,lFlags);
2157 }
2158 static FORCEINLINE HRESULT IWbemContext_Next(IWbemContext* This,LONG lFlags,BSTR *pstrName,VARIANT *pValue) {
2159     return This->lpVtbl->Next(This,lFlags,pstrName,pValue);
2160 }
2161 static FORCEINLINE HRESULT IWbemContext_EndEnumeration(IWbemContext* This) {
2162     return This->lpVtbl->EndEnumeration(This);
2163 }
2164 static FORCEINLINE HRESULT IWbemContext_SetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) {
2165     return This->lpVtbl->SetValue(This,wszName,lFlags,pValue);
2166 }
2167 static FORCEINLINE HRESULT IWbemContext_GetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) {
2168     return This->lpVtbl->GetValue(This,wszName,lFlags,pValue);
2169 }
2170 static FORCEINLINE HRESULT IWbemContext_DeleteValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags) {
2171     return This->lpVtbl->DeleteValue(This,wszName,lFlags);
2172 }
2173 static FORCEINLINE HRESULT IWbemContext_DeleteAll(IWbemContext* This) {
2174     return This->lpVtbl->DeleteAll(This);
2175 }
2176 #endif
2177 #endif
2178 
2179 #endif
2180 
2181 
2182 #endif  /* __IWbemContext_INTERFACE_DEFINED__ */
2183 
2184 /*****************************************************************************
2185  * IWbemCallResult interface
2186  */
2187 #ifndef __IWbemCallResult_INTERFACE_DEFINED__
2188 #define __IWbemCallResult_INTERFACE_DEFINED__
2189 
2190 DEFINE_GUID(IID_IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2191 #if defined(__cplusplus) && !defined(CINTERFACE)
2192 MIDL_INTERFACE("44aca675-e8fc-11d0-a07c-00c04fb68820")
2193 IWbemCallResult : public IUnknown
2194 {
2195     virtual HRESULT STDMETHODCALLTYPE GetResultObject(
2196         LONG lTimeout,
2197         IWbemClassObject **ppResultObject) = 0;
2198 
2199     virtual HRESULT STDMETHODCALLTYPE GetResultString(
2200         LONG lTimeout,
2201         BSTR *pstrResultString) = 0;
2202 
2203     virtual HRESULT STDMETHODCALLTYPE GetResultServices(
2204         LONG lTimeout,
2205         IWbemServices **ppServices) = 0;
2206 
2207     virtual HRESULT STDMETHODCALLTYPE GetCallStatus(
2208         LONG lTimeout,
2209         LONG *plStatus) = 0;
2210 
2211 };
2212 #ifdef __CRT_UUID_DECL
2213 __CRT_UUID_DECL(IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
2214 #endif
2215 #else
2216 typedef struct IWbemCallResultVtbl {
2217     BEGIN_INTERFACE
2218 
2219     /*** IUnknown methods ***/
2220     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2221         IWbemCallResult *This,
2222         REFIID riid,
2223         void **ppvObject);
2224 
2225     ULONG (STDMETHODCALLTYPE *AddRef)(
2226         IWbemCallResult *This);
2227 
2228     ULONG (STDMETHODCALLTYPE *Release)(
2229         IWbemCallResult *This);
2230 
2231     /*** IWbemCallResult methods ***/
2232     HRESULT (STDMETHODCALLTYPE *GetResultObject)(
2233         IWbemCallResult *This,
2234         LONG lTimeout,
2235         IWbemClassObject **ppResultObject);
2236 
2237     HRESULT (STDMETHODCALLTYPE *GetResultString)(
2238         IWbemCallResult *This,
2239         LONG lTimeout,
2240         BSTR *pstrResultString);
2241 
2242     HRESULT (STDMETHODCALLTYPE *GetResultServices)(
2243         IWbemCallResult *This,
2244         LONG lTimeout,
2245         IWbemServices **ppServices);
2246 
2247     HRESULT (STDMETHODCALLTYPE *GetCallStatus)(
2248         IWbemCallResult *This,
2249         LONG lTimeout,
2250         LONG *plStatus);
2251 
2252     END_INTERFACE
2253 } IWbemCallResultVtbl;
2254 
2255 interface IWbemCallResult {
2256     CONST_VTBL IWbemCallResultVtbl* lpVtbl;
2257 };
2258 
2259 #ifdef COBJMACROS
2260 #ifndef WIDL_C_INLINE_WRAPPERS
2261 /*** IUnknown methods ***/
2262 #define IWbemCallResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2263 #define IWbemCallResult_AddRef(This) (This)->lpVtbl->AddRef(This)
2264 #define IWbemCallResult_Release(This) (This)->lpVtbl->Release(This)
2265 /*** IWbemCallResult methods ***/
2266 #define IWbemCallResult_GetResultObject(This,lTimeout,ppResultObject) (This)->lpVtbl->GetResultObject(This,lTimeout,ppResultObject)
2267 #define IWbemCallResult_GetResultString(This,lTimeout,pstrResultString) (This)->lpVtbl->GetResultString(This,lTimeout,pstrResultString)
2268 #define IWbemCallResult_GetResultServices(This,lTimeout,ppServices) (This)->lpVtbl->GetResultServices(This,lTimeout,ppServices)
2269 #define IWbemCallResult_GetCallStatus(This,lTimeout,plStatus) (This)->lpVtbl->GetCallStatus(This,lTimeout,plStatus)
2270 #else
2271 /*** IUnknown methods ***/
2272 static FORCEINLINE HRESULT IWbemCallResult_QueryInterface(IWbemCallResult* This,REFIID riid,void **ppvObject) {
2273     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2274 }
2275 static FORCEINLINE ULONG IWbemCallResult_AddRef(IWbemCallResult* This) {
2276     return This->lpVtbl->AddRef(This);
2277 }
2278 static FORCEINLINE ULONG IWbemCallResult_Release(IWbemCallResult* This) {
2279     return This->lpVtbl->Release(This);
2280 }
2281 /*** IWbemCallResult methods ***/
2282 static FORCEINLINE HRESULT IWbemCallResult_GetResultObject(IWbemCallResult* This,LONG lTimeout,IWbemClassObject **ppResultObject) {
2283     return This->lpVtbl->GetResultObject(This,lTimeout,ppResultObject);
2284 }
2285 static FORCEINLINE HRESULT IWbemCallResult_GetResultString(IWbemCallResult* This,LONG lTimeout,BSTR *pstrResultString) {
2286     return This->lpVtbl->GetResultString(This,lTimeout,pstrResultString);
2287 }
2288 static FORCEINLINE HRESULT IWbemCallResult_GetResultServices(IWbemCallResult* This,LONG lTimeout,IWbemServices **ppServices) {
2289     return This->lpVtbl->GetResultServices(This,lTimeout,ppServices);
2290 }
2291 static FORCEINLINE HRESULT IWbemCallResult_GetCallStatus(IWbemCallResult* This,LONG lTimeout,LONG *plStatus) {
2292     return This->lpVtbl->GetCallStatus(This,lTimeout,plStatus);
2293 }
2294 #endif
2295 #endif
2296 
2297 #endif
2298 
2299 
2300 #endif  /* __IWbemCallResult_INTERFACE_DEFINED__ */
2301 
2302 /*****************************************************************************
2303  * IWbemServices interface
2304  */
2305 #ifndef __IWbemServices_INTERFACE_DEFINED__
2306 #define __IWbemServices_INTERFACE_DEFINED__
2307 
2308 DEFINE_GUID(IID_IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7);
2309 #if defined(__cplusplus) && !defined(CINTERFACE)
2310 MIDL_INTERFACE("9556dc99-828c-11cf-a37e-00aa003240c7")
2311 IWbemServices : public IUnknown
2312 {
2313     virtual HRESULT STDMETHODCALLTYPE OpenNamespace(
2314         const BSTR strNamespace,
2315         LONG lFlags,
2316         IWbemContext *pCtx,
2317         IWbemServices **ppWorkingNamespace,
2318         IWbemCallResult **ppResult) = 0;
2319 
2320     virtual HRESULT STDMETHODCALLTYPE CancelAsyncCall(
2321         IWbemObjectSink *pSink) = 0;
2322 
2323     virtual HRESULT STDMETHODCALLTYPE QueryObjectSink(
2324         LONG lFlags,
2325         IWbemObjectSink **ppResponseHandler) = 0;
2326 
2327     virtual HRESULT STDMETHODCALLTYPE GetObject(
2328         const BSTR strObjectPath,
2329         LONG lFlags,
2330         IWbemContext *pCtx,
2331         IWbemClassObject **ppObject,
2332         IWbemCallResult **ppCallResult) = 0;
2333 
2334     virtual HRESULT STDMETHODCALLTYPE GetObjectAsync(
2335         const BSTR strObjectPath,
2336         LONG lFlags,
2337         IWbemContext *pCtx,
2338         IWbemObjectSink *pResponseHandler) = 0;
2339 
2340     virtual HRESULT STDMETHODCALLTYPE PutClass(
2341         IWbemClassObject *pObject,
2342         LONG lFlags,
2343         IWbemContext *pCtx,
2344         IWbemCallResult **ppCallResult) = 0;
2345 
2346     virtual HRESULT STDMETHODCALLTYPE PutClassAsync(
2347         IWbemClassObject *pObject,
2348         LONG lFlags,
2349         IWbemContext *pCtx,
2350         IWbemObjectSink *pResponseHandler) = 0;
2351 
2352     virtual HRESULT STDMETHODCALLTYPE DeleteClass(
2353         const BSTR strClass,
2354         LONG lFlags,
2355         IWbemContext *pCtx,
2356         IWbemCallResult **ppCallResult) = 0;
2357 
2358     virtual HRESULT STDMETHODCALLTYPE DeleteClassAsync(
2359         const BSTR strClass,
2360         LONG lFlags,
2361         IWbemContext *pCtx,
2362         IWbemObjectSink *pResponseHandler) = 0;
2363 
2364     virtual HRESULT STDMETHODCALLTYPE CreateClassEnum(
2365         const BSTR strSuperclass,
2366         LONG lFlags,
2367         IWbemContext *pCtx,
2368         IEnumWbemClassObject **ppEnum) = 0;
2369 
2370     virtual HRESULT STDMETHODCALLTYPE CreateClassEnumAsync(
2371         const BSTR strSuperclass,
2372         LONG lFlags,
2373         IWbemContext *pCtx,
2374         IWbemObjectSink *pResponseHandler) = 0;
2375 
2376     virtual HRESULT STDMETHODCALLTYPE PutInstance(
2377         IWbemClassObject *pInst,
2378         LONG lFlags,
2379         IWbemContext *pCtx,
2380         IWbemCallResult **ppCallResult) = 0;
2381 
2382     virtual HRESULT STDMETHODCALLTYPE PutInstanceAsync(
2383         IWbemClassObject *pInst,
2384         LONG lFlags,
2385         IWbemContext *pCtx,
2386         IWbemObjectSink *pResponseHandler) = 0;
2387 
2388     virtual HRESULT STDMETHODCALLTYPE DeleteInstance(
2389         const BSTR strObjectPath,
2390         LONG lFlags,
2391         IWbemContext *pCtx,
2392         IWbemCallResult **ppCallResult) = 0;
2393 
2394     virtual HRESULT STDMETHODCALLTYPE DeleteInstanceAsync(
2395         const BSTR strObjectPath,
2396         LONG lFlags,
2397         IWbemContext *pCtx,
2398         IWbemObjectSink *pResponseHandler) = 0;
2399 
2400     virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnum(
2401         const BSTR strFilter,
2402         LONG lFlags,
2403         IWbemContext *pCtx,
2404         IEnumWbemClassObject **ppEnum) = 0;
2405 
2406     virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync(
2407         const BSTR strFilter,
2408         LONG lFlags,
2409         IWbemContext *pCtx,
2410         IWbemObjectSink *pResponseHandler) = 0;
2411 
2412     virtual HRESULT STDMETHODCALLTYPE ExecQuery(
2413         const BSTR strQueryLanguage,
2414         const BSTR strQuery,
2415         LONG lFlags,
2416         IWbemContext *pCtx,
2417         IEnumWbemClassObject **ppEnum) = 0;
2418 
2419     virtual HRESULT STDMETHODCALLTYPE ExecQueryAsync(
2420         const BSTR strQueryLanguage,
2421         const BSTR strQuery,
2422         LONG lFlags,
2423         IWbemContext *pCtx,
2424         IWbemObjectSink *pResponseHandler) = 0;
2425 
2426     virtual HRESULT STDMETHODCALLTYPE ExecNotificationQuery(
2427         const BSTR strQueryLanguage,
2428         const BSTR strQuery,
2429         LONG lFlags,
2430         IWbemContext *pCtx,
2431         IEnumWbemClassObject **ppEnum) = 0;
2432 
2433     virtual HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync(
2434         const BSTR strQueryLanguage,
2435         const BSTR strQuery,
2436         LONG lFlags,
2437         IWbemContext *pCtx,
2438         IWbemObjectSink *pResponseHandler) = 0;
2439 
2440     virtual HRESULT STDMETHODCALLTYPE ExecMethod(
2441         const BSTR strObjectPath,
2442         const BSTR strMethodName,
2443         LONG lFlags,
2444         IWbemContext *pCtx,
2445         IWbemClassObject *pInParams,
2446         IWbemClassObject **ppOutParams,
2447         IWbemCallResult **ppCallResult) = 0;
2448 
2449     virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync(
2450         const BSTR strObjectPath,
2451         const BSTR strMethodName,
2452         LONG lFlags,
2453         IWbemContext *pCtx,
2454         IWbemClassObject *pInParams,
2455         IWbemObjectSink *pResponseHandler) = 0;
2456 
2457 };
2458 #ifdef __CRT_UUID_DECL
2459 __CRT_UUID_DECL(IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7)
2460 #endif
2461 #else
2462 typedef struct IWbemServicesVtbl {
2463     BEGIN_INTERFACE
2464 
2465     /*** IUnknown methods ***/
2466     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2467         IWbemServices *This,
2468         REFIID riid,
2469         void **ppvObject);
2470 
2471     ULONG (STDMETHODCALLTYPE *AddRef)(
2472         IWbemServices *This);
2473 
2474     ULONG (STDMETHODCALLTYPE *Release)(
2475         IWbemServices *This);
2476 
2477     /*** IWbemServices methods ***/
2478     HRESULT (STDMETHODCALLTYPE *OpenNamespace)(
2479         IWbemServices *This,
2480         const BSTR strNamespace,
2481         LONG lFlags,
2482         IWbemContext *pCtx,
2483         IWbemServices **ppWorkingNamespace,
2484         IWbemCallResult **ppResult);
2485 
2486     HRESULT (STDMETHODCALLTYPE *CancelAsyncCall)(
2487         IWbemServices *This,
2488         IWbemObjectSink *pSink);
2489 
2490     HRESULT (STDMETHODCALLTYPE *QueryObjectSink)(
2491         IWbemServices *This,
2492         LONG lFlags,
2493         IWbemObjectSink **ppResponseHandler);
2494 
2495     HRESULT (STDMETHODCALLTYPE *GetObject)(
2496         IWbemServices *This,
2497         const BSTR strObjectPath,
2498         LONG lFlags,
2499         IWbemContext *pCtx,
2500         IWbemClassObject **ppObject,
2501         IWbemCallResult **ppCallResult);
2502 
2503     HRESULT (STDMETHODCALLTYPE *GetObjectAsync)(
2504         IWbemServices *This,
2505         const BSTR strObjectPath,
2506         LONG lFlags,
2507         IWbemContext *pCtx,
2508         IWbemObjectSink *pResponseHandler);
2509 
2510     HRESULT (STDMETHODCALLTYPE *PutClass)(
2511         IWbemServices *This,
2512         IWbemClassObject *pObject,
2513         LONG lFlags,
2514         IWbemContext *pCtx,
2515         IWbemCallResult **ppCallResult);
2516 
2517     HRESULT (STDMETHODCALLTYPE *PutClassAsync)(
2518         IWbemServices *This,
2519         IWbemClassObject *pObject,
2520         LONG lFlags,
2521         IWbemContext *pCtx,
2522         IWbemObjectSink *pResponseHandler);
2523 
2524     HRESULT (STDMETHODCALLTYPE *DeleteClass)(
2525         IWbemServices *This,
2526         const BSTR strClass,
2527         LONG lFlags,
2528         IWbemContext *pCtx,
2529         IWbemCallResult **ppCallResult);
2530 
2531     HRESULT (STDMETHODCALLTYPE *DeleteClassAsync)(
2532         IWbemServices *This,
2533         const BSTR strClass,
2534         LONG lFlags,
2535         IWbemContext *pCtx,
2536         IWbemObjectSink *pResponseHandler);
2537 
2538     HRESULT (STDMETHODCALLTYPE *CreateClassEnum)(
2539         IWbemServices *This,
2540         const BSTR strSuperclass,
2541         LONG lFlags,
2542         IWbemContext *pCtx,
2543         IEnumWbemClassObject **ppEnum);
2544 
2545     HRESULT (STDMETHODCALLTYPE *CreateClassEnumAsync)(
2546         IWbemServices *This,
2547         const BSTR strSuperclass,
2548         LONG lFlags,
2549         IWbemContext *pCtx,
2550         IWbemObjectSink *pResponseHandler);
2551 
2552     HRESULT (STDMETHODCALLTYPE *PutInstance)(
2553         IWbemServices *This,
2554         IWbemClassObject *pInst,
2555         LONG lFlags,
2556         IWbemContext *pCtx,
2557         IWbemCallResult **ppCallResult);
2558 
2559     HRESULT (STDMETHODCALLTYPE *PutInstanceAsync)(
2560         IWbemServices *This,
2561         IWbemClassObject *pInst,
2562         LONG lFlags,
2563         IWbemContext *pCtx,
2564         IWbemObjectSink *pResponseHandler);
2565 
2566     HRESULT (STDMETHODCALLTYPE *DeleteInstance)(
2567         IWbemServices *This,
2568         const BSTR strObjectPath,
2569         LONG lFlags,
2570         IWbemContext *pCtx,
2571         IWbemCallResult **ppCallResult);
2572 
2573     HRESULT (STDMETHODCALLTYPE *DeleteInstanceAsync)(
2574         IWbemServices *This,
2575         const BSTR strObjectPath,
2576         LONG lFlags,
2577         IWbemContext *pCtx,
2578         IWbemObjectSink *pResponseHandler);
2579 
2580     HRESULT (STDMETHODCALLTYPE *CreateInstanceEnum)(
2581         IWbemServices *This,
2582         const BSTR strFilter,
2583         LONG lFlags,
2584         IWbemContext *pCtx,
2585         IEnumWbemClassObject **ppEnum);
2586 
2587     HRESULT (STDMETHODCALLTYPE *CreateInstanceEnumAsync)(
2588         IWbemServices *This,
2589         const BSTR strFilter,
2590         LONG lFlags,
2591         IWbemContext *pCtx,
2592         IWbemObjectSink *pResponseHandler);
2593 
2594     HRESULT (STDMETHODCALLTYPE *ExecQuery)(
2595         IWbemServices *This,
2596         const BSTR strQueryLanguage,
2597         const BSTR strQuery,
2598         LONG lFlags,
2599         IWbemContext *pCtx,
2600         IEnumWbemClassObject **ppEnum);
2601 
2602     HRESULT (STDMETHODCALLTYPE *ExecQueryAsync)(
2603         IWbemServices *This,
2604         const BSTR strQueryLanguage,
2605         const BSTR strQuery,
2606         LONG lFlags,
2607         IWbemContext *pCtx,
2608         IWbemObjectSink *pResponseHandler);
2609 
2610     HRESULT (STDMETHODCALLTYPE *ExecNotificationQuery)(
2611         IWbemServices *This,
2612         const BSTR strQueryLanguage,
2613         const BSTR strQuery,
2614         LONG lFlags,
2615         IWbemContext *pCtx,
2616         IEnumWbemClassObject **ppEnum);
2617 
2618     HRESULT (STDMETHODCALLTYPE *ExecNotificationQueryAsync)(
2619         IWbemServices *This,
2620         const BSTR strQueryLanguage,
2621         const BSTR strQuery,
2622         LONG lFlags,
2623         IWbemContext *pCtx,
2624         IWbemObjectSink *pResponseHandler);
2625 
2626     HRESULT (STDMETHODCALLTYPE *ExecMethod)(
2627         IWbemServices *This,
2628         const BSTR strObjectPath,
2629         const BSTR strMethodName,
2630         LONG lFlags,
2631         IWbemContext *pCtx,
2632         IWbemClassObject *pInParams,
2633         IWbemClassObject **ppOutParams,
2634         IWbemCallResult **ppCallResult);
2635 
2636     HRESULT (STDMETHODCALLTYPE *ExecMethodAsync)(
2637         IWbemServices *This,
2638         const BSTR strObjectPath,
2639         const BSTR strMethodName,
2640         LONG lFlags,
2641         IWbemContext *pCtx,
2642         IWbemClassObject *pInParams,
2643         IWbemObjectSink *pResponseHandler);
2644 
2645     END_INTERFACE
2646 } IWbemServicesVtbl;
2647 
2648 interface IWbemServices {
2649     CONST_VTBL IWbemServicesVtbl* lpVtbl;
2650 };
2651 
2652 #ifdef COBJMACROS
2653 #ifndef WIDL_C_INLINE_WRAPPERS
2654 /*** IUnknown methods ***/
2655 #define IWbemServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2656 #define IWbemServices_AddRef(This) (This)->lpVtbl->AddRef(This)
2657 #define IWbemServices_Release(This) (This)->lpVtbl->Release(This)
2658 /*** IWbemServices methods ***/
2659 #define IWbemServices_OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult) (This)->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult)
2660 #define IWbemServices_CancelAsyncCall(This,pSink) (This)->lpVtbl->CancelAsyncCall(This,pSink)
2661 #define IWbemServices_QueryObjectSink(This,lFlags,ppResponseHandler) (This)->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler)
2662 #define IWbemServices_GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult) (This)->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult)
2663 #define IWbemServices_GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
2664 #define IWbemServices_PutClass(This,pObject,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult)
2665 #define IWbemServices_PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler)
2666 #define IWbemServices_DeleteClass(This,strClass,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult)
2667 #define IWbemServices_DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler)
2668 #define IWbemServices_CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum)
2669 #define IWbemServices_CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler)
2670 #define IWbemServices_PutInstance(This,pInst,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult)
2671 #define IWbemServices_PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler)
2672 #define IWbemServices_DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult)
2673 #define IWbemServices_DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
2674 #define IWbemServices_CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum)
2675 #define IWbemServices_CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler)
2676 #define IWbemServices_ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
2677 #define IWbemServices_ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
2678 #define IWbemServices_ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
2679 #define IWbemServices_ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
2680 #define IWbemServices_ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult) (This)->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult)
2681 #define IWbemServices_ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler) (This)->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler)
2682 #else
2683 /*** IUnknown methods ***/
2684 static FORCEINLINE HRESULT IWbemServices_QueryInterface(IWbemServices* This,REFIID riid,void **ppvObject) {
2685     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2686 }
2687 static FORCEINLINE ULONG IWbemServices_AddRef(IWbemServices* This) {
2688     return This->lpVtbl->AddRef(This);
2689 }
2690 static FORCEINLINE ULONG IWbemServices_Release(IWbemServices* This) {
2691     return This->lpVtbl->Release(This);
2692 }
2693 /*** IWbemServices methods ***/
2694 static FORCEINLINE HRESULT IWbemServices_OpenNamespace(IWbemServices* This,const BSTR strNamespace,LONG lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult) {
2695     return This->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult);
2696 }
2697 static FORCEINLINE HRESULT IWbemServices_CancelAsyncCall(IWbemServices* This,IWbemObjectSink *pSink) {
2698     return This->lpVtbl->CancelAsyncCall(This,pSink);
2699 }
2700 static FORCEINLINE HRESULT IWbemServices_QueryObjectSink(IWbemServices* This,LONG lFlags,IWbemObjectSink **ppResponseHandler) {
2701     return This->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler);
2702 }
2703 static FORCEINLINE HRESULT IWbemServices_GetObject(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) {
2704     return This->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult);
2705 }
2706 static FORCEINLINE HRESULT IWbemServices_GetObjectAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2707     return This->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler);
2708 }
2709 static FORCEINLINE HRESULT IWbemServices_PutClass(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2710     return This->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult);
2711 }
2712 static FORCEINLINE HRESULT IWbemServices_PutClassAsync(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2713     return This->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler);
2714 }
2715 static FORCEINLINE HRESULT IWbemServices_DeleteClass(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2716     return This->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult);
2717 }
2718 static FORCEINLINE HRESULT IWbemServices_DeleteClassAsync(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2719     return This->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler);
2720 }
2721 static FORCEINLINE HRESULT IWbemServices_CreateClassEnum(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2722     return This->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum);
2723 }
2724 static FORCEINLINE HRESULT IWbemServices_CreateClassEnumAsync(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2725     return This->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler);
2726 }
2727 static FORCEINLINE HRESULT IWbemServices_PutInstance(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2728     return This->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult);
2729 }
2730 static FORCEINLINE HRESULT IWbemServices_PutInstanceAsync(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2731     return This->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler);
2732 }
2733 static FORCEINLINE HRESULT IWbemServices_DeleteInstance(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2734     return This->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult);
2735 }
2736 static FORCEINLINE HRESULT IWbemServices_DeleteInstanceAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2737     return This->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler);
2738 }
2739 static FORCEINLINE HRESULT IWbemServices_CreateInstanceEnum(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2740     return This->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum);
2741 }
2742 static FORCEINLINE HRESULT IWbemServices_CreateInstanceEnumAsync(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2743     return This->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler);
2744 }
2745 static FORCEINLINE HRESULT IWbemServices_ExecQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2746     return This->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum);
2747 }
2748 static FORCEINLINE HRESULT IWbemServices_ExecQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2749     return This->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler);
2750 }
2751 static FORCEINLINE HRESULT IWbemServices_ExecNotificationQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2752     return This->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum);
2753 }
2754 static FORCEINLINE HRESULT IWbemServices_ExecNotificationQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2755     return This->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler);
2756 }
2757 static FORCEINLINE HRESULT IWbemServices_ExecMethod(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) {
2758     return This->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult);
2759 }
2760 static FORCEINLINE HRESULT IWbemServices_ExecMethodAsync(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) {
2761     return This->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler);
2762 }
2763 #endif
2764 #endif
2765 
2766 #endif
2767 
2768 
2769 #endif  /* __IWbemServices_INTERFACE_DEFINED__ */
2770 
2771 /*****************************************************************************
2772  * IWbemShutdown interface
2773  */
2774 #ifndef __IWbemShutdown_INTERFACE_DEFINED__
2775 #define __IWbemShutdown_INTERFACE_DEFINED__
2776 
2777 DEFINE_GUID(IID_IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a);
2778 #if defined(__cplusplus) && !defined(CINTERFACE)
2779 MIDL_INTERFACE("b7b31df9-d515-11d3-a11c-00105a1f515a")
2780 IWbemShutdown : public IUnknown
2781 {
2782     virtual HRESULT STDMETHODCALLTYPE Shutdown(
2783         LONG uReason,
2784         ULONG uMaxMilliseconds,
2785         IWbemContext *pCtx) = 0;
2786 
2787 };
2788 #ifdef __CRT_UUID_DECL
2789 __CRT_UUID_DECL(IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a)
2790 #endif
2791 #else
2792 typedef struct IWbemShutdownVtbl {
2793     BEGIN_INTERFACE
2794 
2795     /*** IUnknown methods ***/
2796     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2797         IWbemShutdown *This,
2798         REFIID riid,
2799         void **ppvObject);
2800 
2801     ULONG (STDMETHODCALLTYPE *AddRef)(
2802         IWbemShutdown *This);
2803 
2804     ULONG (STDMETHODCALLTYPE *Release)(
2805         IWbemShutdown *This);
2806 
2807     /*** IWbemShutdown methods ***/
2808     HRESULT (STDMETHODCALLTYPE *Shutdown)(
2809         IWbemShutdown *This,
2810         LONG uReason,
2811         ULONG uMaxMilliseconds,
2812         IWbemContext *pCtx);
2813 
2814     END_INTERFACE
2815 } IWbemShutdownVtbl;
2816 
2817 interface IWbemShutdown {
2818     CONST_VTBL IWbemShutdownVtbl* lpVtbl;
2819 };
2820 
2821 #ifdef COBJMACROS
2822 #ifndef WIDL_C_INLINE_WRAPPERS
2823 /*** IUnknown methods ***/
2824 #define IWbemShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2825 #define IWbemShutdown_AddRef(This) (This)->lpVtbl->AddRef(This)
2826 #define IWbemShutdown_Release(This) (This)->lpVtbl->Release(This)
2827 /*** IWbemShutdown methods ***/
2828 #define IWbemShutdown_Shutdown(This,uReason,uMaxMilliseconds,pCtx) (This)->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx)
2829 #else
2830 /*** IUnknown methods ***/
2831 static FORCEINLINE HRESULT IWbemShutdown_QueryInterface(IWbemShutdown* This,REFIID riid,void **ppvObject) {
2832     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2833 }
2834 static FORCEINLINE ULONG IWbemShutdown_AddRef(IWbemShutdown* This) {
2835     return This->lpVtbl->AddRef(This);
2836 }
2837 static FORCEINLINE ULONG IWbemShutdown_Release(IWbemShutdown* This) {
2838     return This->lpVtbl->Release(This);
2839 }
2840 /*** IWbemShutdown methods ***/
2841 static FORCEINLINE HRESULT IWbemShutdown_Shutdown(IWbemShutdown* This,LONG uReason,ULONG uMaxMilliseconds,IWbemContext *pCtx) {
2842     return This->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx);
2843 }
2844 #endif
2845 #endif
2846 
2847 #endif
2848 
2849 
2850 #endif  /* __IWbemShutdown_INTERFACE_DEFINED__ */
2851 
2852 /*****************************************************************************
2853  * IWbemObjectTextSrc interface
2854  */
2855 #ifndef __IWbemObjectTextSrc_INTERFACE_DEFINED__
2856 #define __IWbemObjectTextSrc_INTERFACE_DEFINED__
2857 
2858 DEFINE_GUID(IID_IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a);
2859 #if defined(__cplusplus) && !defined(CINTERFACE)
2860 MIDL_INTERFACE("bfbf883a-cad7-11d3-a11b-00105a1f515a")
2861 IWbemObjectTextSrc : public IUnknown
2862 {
2863     virtual HRESULT STDMETHODCALLTYPE GetText(
2864         LONG lFlags,
2865         IWbemClassObject *pObj,
2866         ULONG uObjTextFormat,
2867         IWbemContext *pCtx,
2868         BSTR *strText) = 0;
2869 
2870     virtual HRESULT STDMETHODCALLTYPE CreateFromText(
2871         LONG lFlags,
2872         BSTR strText,
2873         ULONG uObjTextFormat,
2874         IWbemContext *pCtx,
2875         IWbemClassObject **pNewObj) = 0;
2876 
2877 };
2878 #ifdef __CRT_UUID_DECL
2879 __CRT_UUID_DECL(IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a)
2880 #endif
2881 #else
2882 typedef struct IWbemObjectTextSrcVtbl {
2883     BEGIN_INTERFACE
2884 
2885     /*** IUnknown methods ***/
2886     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2887         IWbemObjectTextSrc *This,
2888         REFIID riid,
2889         void **ppvObject);
2890 
2891     ULONG (STDMETHODCALLTYPE *AddRef)(
2892         IWbemObjectTextSrc *This);
2893 
2894     ULONG (STDMETHODCALLTYPE *Release)(
2895         IWbemObjectTextSrc *This);
2896 
2897     /*** IWbemObjectTextSrc methods ***/
2898     HRESULT (STDMETHODCALLTYPE *GetText)(
2899         IWbemObjectTextSrc *This,
2900         LONG lFlags,
2901         IWbemClassObject *pObj,
2902         ULONG uObjTextFormat,
2903         IWbemContext *pCtx,
2904         BSTR *strText);
2905 
2906     HRESULT (STDMETHODCALLTYPE *CreateFromText)(
2907         IWbemObjectTextSrc *This,
2908         LONG lFlags,
2909         BSTR strText,
2910         ULONG uObjTextFormat,
2911         IWbemContext *pCtx,
2912         IWbemClassObject **pNewObj);
2913 
2914     END_INTERFACE
2915 } IWbemObjectTextSrcVtbl;
2916 
2917 interface IWbemObjectTextSrc {
2918     CONST_VTBL IWbemObjectTextSrcVtbl* lpVtbl;
2919 };
2920 
2921 #ifdef COBJMACROS
2922 #ifndef WIDL_C_INLINE_WRAPPERS
2923 /*** IUnknown methods ***/
2924 #define IWbemObjectTextSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2925 #define IWbemObjectTextSrc_AddRef(This) (This)->lpVtbl->AddRef(This)
2926 #define IWbemObjectTextSrc_Release(This) (This)->lpVtbl->Release(This)
2927 /*** IWbemObjectTextSrc methods ***/
2928 #define IWbemObjectTextSrc_GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText) (This)->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText)
2929 #define IWbemObjectTextSrc_CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj) (This)->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj)
2930 #else
2931 /*** IUnknown methods ***/
2932 static FORCEINLINE HRESULT IWbemObjectTextSrc_QueryInterface(IWbemObjectTextSrc* This,REFIID riid,void **ppvObject) {
2933     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2934 }
2935 static FORCEINLINE ULONG IWbemObjectTextSrc_AddRef(IWbemObjectTextSrc* This) {
2936     return This->lpVtbl->AddRef(This);
2937 }
2938 static FORCEINLINE ULONG IWbemObjectTextSrc_Release(IWbemObjectTextSrc* This) {
2939     return This->lpVtbl->Release(This);
2940 }
2941 /*** IWbemObjectTextSrc methods ***/
2942 static FORCEINLINE HRESULT IWbemObjectTextSrc_GetText(IWbemObjectTextSrc* This,LONG lFlags,IWbemClassObject *pObj,ULONG uObjTextFormat,IWbemContext *pCtx,BSTR *strText) {
2943     return This->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText);
2944 }
2945 static FORCEINLINE HRESULT IWbemObjectTextSrc_CreateFromText(IWbemObjectTextSrc* This,LONG lFlags,BSTR strText,ULONG uObjTextFormat,IWbemContext *pCtx,IWbemClassObject **pNewObj) {
2946     return This->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj);
2947 }
2948 #endif
2949 #endif
2950 
2951 #endif
2952 
2953 
2954 #endif  /* __IWbemObjectTextSrc_INTERFACE_DEFINED__ */
2955 
2956 /*****************************************************************************
2957  * IWbemObjectAccess interface
2958  */
2959 #ifndef __IWbemObjectAccess_INTERFACE_DEFINED__
2960 #define __IWbemObjectAccess_INTERFACE_DEFINED__
2961 
2962 DEFINE_GUID(IID_IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2963 #if defined(__cplusplus) && !defined(CINTERFACE)
2964 MIDL_INTERFACE("49353c9a-516b-11d1-aea6-00c04fb68820")
2965 IWbemObjectAccess : public IWbemClassObject
2966 {
2967     virtual HRESULT STDMETHODCALLTYPE GetPropertyHandle(
2968         LPCWSTR wszPropertyName,
2969         CIMTYPE *pType,
2970         LONG *plHandle) = 0;
2971 
2972     virtual HRESULT STDMETHODCALLTYPE WritePropertyValue(
2973         LONG lHandle,
2974         LONG lNumBytes,
2975         const byte *aData) = 0;
2976 
2977     virtual HRESULT STDMETHODCALLTYPE ReadPropertyValue(
2978         LONG lHandle,
2979         LONG lBufferSize,
2980         LONG *plNumBytes,
2981         byte *aData) = 0;
2982 
2983     virtual HRESULT STDMETHODCALLTYPE ReadDWORD(
2984         LONG lHandle,
2985         DWORD *pdw) = 0;
2986 
2987     virtual HRESULT STDMETHODCALLTYPE WriteDWORD(
2988         LONG lHandle,
2989         DWORD dw) = 0;
2990 
2991     virtual HRESULT STDMETHODCALLTYPE ReadQWORD(
2992         LONG lHandle,
2993         UINT64 *pqw) = 0;
2994 
2995     virtual HRESULT STDMETHODCALLTYPE WriteQWORD(
2996         LONG lHandle,
2997         UINT64 pw) = 0;
2998 
2999     virtual HRESULT STDMETHODCALLTYPE GetPropertyInfoByHandle(
3000         LONG lHandle,
3001         BSTR *pstrName,
3002         CIMTYPE *pType) = 0;
3003 
3004     virtual HRESULT STDMETHODCALLTYPE Lock(
3005         LONG lFlags) = 0;
3006 
3007     virtual HRESULT STDMETHODCALLTYPE Unlock(
3008         LONG lFlags) = 0;
3009 
3010 };
3011 #ifdef __CRT_UUID_DECL
3012 __CRT_UUID_DECL(IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3013 #endif
3014 #else
3015 typedef struct IWbemObjectAccessVtbl {
3016     BEGIN_INTERFACE
3017 
3018     /*** IUnknown methods ***/
3019     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3020         IWbemObjectAccess *This,
3021         REFIID riid,
3022         void **ppvObject);
3023 
3024     ULONG (STDMETHODCALLTYPE *AddRef)(
3025         IWbemObjectAccess *This);
3026 
3027     ULONG (STDMETHODCALLTYPE *Release)(
3028         IWbemObjectAccess *This);
3029 
3030     /*** IWbemClassObject methods ***/
3031     HRESULT (STDMETHODCALLTYPE *GetQualifierSet)(
3032         IWbemObjectAccess *This,
3033         IWbemQualifierSet **ppQualSet);
3034 
3035     HRESULT (STDMETHODCALLTYPE *Get)(
3036         IWbemObjectAccess *This,
3037         LPCWSTR wszName,
3038         LONG lFlags,
3039         VARIANT *pVal,
3040         CIMTYPE *pType,
3041         LONG *plFlavor);
3042 
3043     HRESULT (STDMETHODCALLTYPE *Put)(
3044         IWbemObjectAccess *This,
3045         LPCWSTR wszName,
3046         LONG lFlags,
3047         VARIANT *pVal,
3048         CIMTYPE Type);
3049 
3050     HRESULT (STDMETHODCALLTYPE *Delete)(
3051         IWbemObjectAccess *This,
3052         LPCWSTR wszName);
3053 
3054     HRESULT (STDMETHODCALLTYPE *GetNames)(
3055         IWbemObjectAccess *This,
3056         LPCWSTR wszQualifierName,
3057         LONG lFlags,
3058         VARIANT *pQualifierVal,
3059         SAFEARRAY **pNames);
3060 
3061     HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
3062         IWbemObjectAccess *This,
3063         LONG lEnumFlags);
3064 
3065     HRESULT (STDMETHODCALLTYPE *Next)(
3066         IWbemObjectAccess *This,
3067         LONG lFlags,
3068         BSTR *strName,
3069         VARIANT *pVal,
3070         CIMTYPE *pType,
3071         LONG *plFlavor);
3072 
3073     HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
3074         IWbemObjectAccess *This);
3075 
3076     HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)(
3077         IWbemObjectAccess *This,
3078         LPCWSTR wszProperty,
3079         IWbemQualifierSet **ppQualSet);
3080 
3081     HRESULT (STDMETHODCALLTYPE *Clone)(
3082         IWbemObjectAccess *This,
3083         IWbemClassObject **ppCopy);
3084 
3085     HRESULT (STDMETHODCALLTYPE *GetObjectText)(
3086         IWbemObjectAccess *This,
3087         LONG lFlags,
3088         BSTR *pstrObjectText);
3089 
3090     HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)(
3091         IWbemObjectAccess *This,
3092         LONG lFlags,
3093         IWbemClassObject **ppNewClass);
3094 
3095     HRESULT (STDMETHODCALLTYPE *SpawnInstance)(
3096         IWbemObjectAccess *This,
3097         LONG lFlags,
3098         IWbemClassObject **ppNewInstance);
3099 
3100     HRESULT (STDMETHODCALLTYPE *CompareTo)(
3101         IWbemObjectAccess *This,
3102         LONG lFlags,
3103         IWbemClassObject *pCompareTo);
3104 
3105     HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)(
3106         IWbemObjectAccess *This,
3107         LPCWSTR wszName,
3108         BSTR *pstrClassName);
3109 
3110     HRESULT (STDMETHODCALLTYPE *InheritsFrom)(
3111         IWbemObjectAccess *This,
3112         LPCWSTR strAncestor);
3113 
3114     HRESULT (STDMETHODCALLTYPE *GetMethod)(
3115         IWbemObjectAccess *This,
3116         LPCWSTR wszName,
3117         LONG lFlags,
3118         IWbemClassObject **ppInSignature,
3119         IWbemClassObject **ppOutSignature);
3120 
3121     HRESULT (STDMETHODCALLTYPE *PutMethod)(
3122         IWbemObjectAccess *This,
3123         LPCWSTR wszName,
3124         LONG lFlags,
3125         IWbemClassObject *pInSignature,
3126         IWbemClassObject *pOutSignature);
3127 
3128     HRESULT (STDMETHODCALLTYPE *DeleteMethod)(
3129         IWbemObjectAccess *This,
3130         LPCWSTR wszName);
3131 
3132     HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)(
3133         IWbemObjectAccess *This,
3134         LONG lEnumFlags);
3135 
3136     HRESULT (STDMETHODCALLTYPE *NextMethod)(
3137         IWbemObjectAccess *This,
3138         LONG lFlags,
3139         BSTR *pstrName,
3140         IWbemClassObject **ppInSignature,
3141         IWbemClassObject **ppOutSignature);
3142 
3143     HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)(
3144         IWbemObjectAccess *This);
3145 
3146     HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)(
3147         IWbemObjectAccess *This,
3148         LPCWSTR wszMethod,
3149         IWbemQualifierSet **ppQualSet);
3150 
3151     HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)(
3152         IWbemObjectAccess *This,
3153         LPCWSTR wszMethodName,
3154         BSTR *pstrClassName);
3155 
3156     /*** IWbemObjectAccess methods ***/
3157     HRESULT (STDMETHODCALLTYPE *GetPropertyHandle)(
3158         IWbemObjectAccess *This,
3159         LPCWSTR wszPropertyName,
3160         CIMTYPE *pType,
3161         LONG *plHandle);
3162 
3163     HRESULT (STDMETHODCALLTYPE *WritePropertyValue)(
3164         IWbemObjectAccess *This,
3165         LONG lHandle,
3166         LONG lNumBytes,
3167         const byte *aData);
3168 
3169     HRESULT (STDMETHODCALLTYPE *ReadPropertyValue)(
3170         IWbemObjectAccess *This,
3171         LONG lHandle,
3172         LONG lBufferSize,
3173         LONG *plNumBytes,
3174         byte *aData);
3175 
3176     HRESULT (STDMETHODCALLTYPE *ReadDWORD)(
3177         IWbemObjectAccess *This,
3178         LONG lHandle,
3179         DWORD *pdw);
3180 
3181     HRESULT (STDMETHODCALLTYPE *WriteDWORD)(
3182         IWbemObjectAccess *This,
3183         LONG lHandle,
3184         DWORD dw);
3185 
3186     HRESULT (STDMETHODCALLTYPE *ReadQWORD)(
3187         IWbemObjectAccess *This,
3188         LONG lHandle,
3189         UINT64 *pqw);
3190 
3191     HRESULT (STDMETHODCALLTYPE *WriteQWORD)(
3192         IWbemObjectAccess *This,
3193         LONG lHandle,
3194         UINT64 pw);
3195 
3196     HRESULT (STDMETHODCALLTYPE *GetPropertyInfoByHandle)(
3197         IWbemObjectAccess *This,
3198         LONG lHandle,
3199         BSTR *pstrName,
3200         CIMTYPE *pType);
3201 
3202     HRESULT (STDMETHODCALLTYPE *Lock)(
3203         IWbemObjectAccess *This,
3204         LONG lFlags);
3205 
3206     HRESULT (STDMETHODCALLTYPE *Unlock)(
3207         IWbemObjectAccess *This,
3208         LONG lFlags);
3209 
3210     END_INTERFACE
3211 } IWbemObjectAccessVtbl;
3212 
3213 interface IWbemObjectAccess {
3214     CONST_VTBL IWbemObjectAccessVtbl* lpVtbl;
3215 };
3216 
3217 #ifdef COBJMACROS
3218 #ifndef WIDL_C_INLINE_WRAPPERS
3219 /*** IUnknown methods ***/
3220 #define IWbemObjectAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3221 #define IWbemObjectAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
3222 #define IWbemObjectAccess_Release(This) (This)->lpVtbl->Release(This)
3223 /*** IWbemClassObject methods ***/
3224 #define IWbemObjectAccess_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet)
3225 #define IWbemObjectAccess_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor)
3226 #define IWbemObjectAccess_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type)
3227 #define IWbemObjectAccess_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
3228 #define IWbemObjectAccess_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
3229 #define IWbemObjectAccess_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags)
3230 #define IWbemObjectAccess_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor)
3231 #define IWbemObjectAccess_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
3232 #define IWbemObjectAccess_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet)
3233 #define IWbemObjectAccess_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy)
3234 #define IWbemObjectAccess_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText)
3235 #define IWbemObjectAccess_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass)
3236 #define IWbemObjectAccess_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance)
3237 #define IWbemObjectAccess_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo)
3238 #define IWbemObjectAccess_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName)
3239 #define IWbemObjectAccess_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor)
3240 #define IWbemObjectAccess_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
3241 #define IWbemObjectAccess_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
3242 #define IWbemObjectAccess_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName)
3243 #define IWbemObjectAccess_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags)
3244 #define IWbemObjectAccess_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
3245 #define IWbemObjectAccess_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This)
3246 #define IWbemObjectAccess_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet)
3247 #define IWbemObjectAccess_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName)
3248 /*** IWbemObjectAccess methods ***/
3249 #define IWbemObjectAccess_GetPropertyHandle(This,wszPropertyName,pType,plHandle) (This)->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle)
3250 #define IWbemObjectAccess_WritePropertyValue(This,lHandle,lNumBytes,aData) (This)->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData)
3251 #define IWbemObjectAccess_ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData) (This)->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData)
3252 #define IWbemObjectAccess_ReadDWORD(This,lHandle,pdw) (This)->lpVtbl->ReadDWORD(This,lHandle,pdw)
3253 #define IWbemObjectAccess_WriteDWORD(This,lHandle,dw) (This)->lpVtbl->WriteDWORD(This,lHandle,dw)
3254 #define IWbemObjectAccess_ReadQWORD(This,lHandle,pqw) (This)->lpVtbl->ReadQWORD(This,lHandle,pqw)
3255 #define IWbemObjectAccess_WriteQWORD(This,lHandle,pw) (This)->lpVtbl->WriteQWORD(This,lHandle,pw)
3256 #define IWbemObjectAccess_GetPropertyInfoByHandle(This,lHandle,pstrName,pType) (This)->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType)
3257 #define IWbemObjectAccess_Lock(This,lFlags) (This)->lpVtbl->Lock(This,lFlags)
3258 #define IWbemObjectAccess_Unlock(This,lFlags) (This)->lpVtbl->Unlock(This,lFlags)
3259 #else
3260 /*** IUnknown methods ***/
3261 static FORCEINLINE HRESULT IWbemObjectAccess_QueryInterface(IWbemObjectAccess* This,REFIID riid,void **ppvObject) {
3262     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3263 }
3264 static FORCEINLINE ULONG IWbemObjectAccess_AddRef(IWbemObjectAccess* This) {
3265     return This->lpVtbl->AddRef(This);
3266 }
3267 static FORCEINLINE ULONG IWbemObjectAccess_Release(IWbemObjectAccess* This) {
3268     return This->lpVtbl->Release(This);
3269 }
3270 /*** IWbemClassObject methods ***/
3271 static FORCEINLINE HRESULT IWbemObjectAccess_GetQualifierSet(IWbemObjectAccess* This,IWbemQualifierSet **ppQualSet) {
3272     return This->lpVtbl->GetQualifierSet(This,ppQualSet);
3273 }
3274 static FORCEINLINE HRESULT IWbemObjectAccess_Get(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
3275     return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor);
3276 }
3277 static FORCEINLINE HRESULT IWbemObjectAccess_Put(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) {
3278     return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type);
3279 }
3280 static FORCEINLINE HRESULT IWbemObjectAccess_Delete(IWbemObjectAccess* This,LPCWSTR wszName) {
3281     return This->lpVtbl->Delete(This,wszName);
3282 }
3283 static FORCEINLINE HRESULT IWbemObjectAccess_GetNames(IWbemObjectAccess* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) {
3284     return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames);
3285 }
3286 static FORCEINLINE HRESULT IWbemObjectAccess_BeginEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) {
3287     return This->lpVtbl->BeginEnumeration(This,lEnumFlags);
3288 }
3289 static FORCEINLINE HRESULT IWbemObjectAccess_Next(IWbemObjectAccess* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
3290     return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor);
3291 }
3292 static FORCEINLINE HRESULT IWbemObjectAccess_EndEnumeration(IWbemObjectAccess* This) {
3293     return This->lpVtbl->EndEnumeration(This);
3294 }
3295 static FORCEINLINE HRESULT IWbemObjectAccess_GetPropertyQualifierSet(IWbemObjectAccess* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) {
3296     return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet);
3297 }
3298 static FORCEINLINE HRESULT IWbemObjectAccess_Clone(IWbemObjectAccess* This,IWbemClassObject **ppCopy) {
3299     return This->lpVtbl->Clone(This,ppCopy);
3300 }
3301 static FORCEINLINE HRESULT IWbemObjectAccess_GetObjectText(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrObjectText) {
3302     return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText);
3303 }
3304 static FORCEINLINE HRESULT IWbemObjectAccess_SpawnDerivedClass(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewClass) {
3305     return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass);
3306 }
3307 static FORCEINLINE HRESULT IWbemObjectAccess_SpawnInstance(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewInstance) {
3308     return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance);
3309 }
3310 static FORCEINLINE HRESULT IWbemObjectAccess_CompareTo(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject *pCompareTo) {
3311     return This->lpVtbl->CompareTo(This,lFlags,pCompareTo);
3312 }
3313 static FORCEINLINE HRESULT IWbemObjectAccess_GetPropertyOrigin(IWbemObjectAccess* This,LPCWSTR wszName,BSTR *pstrClassName) {
3314     return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName);
3315 }
3316 static FORCEINLINE HRESULT IWbemObjectAccess_InheritsFrom(IWbemObjectAccess* This,LPCWSTR strAncestor) {
3317     return This->lpVtbl->InheritsFrom(This,strAncestor);
3318 }
3319 static FORCEINLINE HRESULT IWbemObjectAccess_GetMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
3320     return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature);
3321 }
3322 static FORCEINLINE HRESULT IWbemObjectAccess_PutMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) {
3323     return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature);
3324 }
3325 static FORCEINLINE HRESULT IWbemObjectAccess_DeleteMethod(IWbemObjectAccess* This,LPCWSTR wszName) {
3326     return This->lpVtbl->DeleteMethod(This,wszName);
3327 }
3328 static FORCEINLINE HRESULT IWbemObjectAccess_BeginMethodEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) {
3329     return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags);
3330 }
3331 static FORCEINLINE HRESULT IWbemObjectAccess_NextMethod(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
3332     return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature);
3333 }
3334 static FORCEINLINE HRESULT IWbemObjectAccess_EndMethodEnumeration(IWbemObjectAccess* This) {
3335     return This->lpVtbl->EndMethodEnumeration(This);
3336 }
3337 static FORCEINLINE HRESULT IWbemObjectAccess_GetMethodQualifierSet(IWbemObjectAccess* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) {
3338     return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet);
3339 }
3340 static FORCEINLINE HRESULT IWbemObjectAccess_GetMethodOrigin(IWbemObjectAccess* This,LPCWSTR wszMethodName,BSTR *pstrClassName) {
3341     return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName);
3342 }
3343 /*** IWbemObjectAccess methods ***/
3344 static FORCEINLINE HRESULT IWbemObjectAccess_GetPropertyHandle(IWbemObjectAccess* This,LPCWSTR wszPropertyName,CIMTYPE *pType,LONG *plHandle) {
3345     return This->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle);
3346 }
3347 static FORCEINLINE HRESULT IWbemObjectAccess_WritePropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lNumBytes,const byte *aData) {
3348     return This->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData);
3349 }
3350 static FORCEINLINE HRESULT IWbemObjectAccess_ReadPropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lBufferSize,LONG *plNumBytes,byte *aData) {
3351     return This->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData);
3352 }
3353 static FORCEINLINE HRESULT IWbemObjectAccess_ReadDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD *pdw) {
3354     return This->lpVtbl->ReadDWORD(This,lHandle,pdw);
3355 }
3356 static FORCEINLINE HRESULT IWbemObjectAccess_WriteDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD dw) {
3357     return This->lpVtbl->WriteDWORD(This,lHandle,dw);
3358 }
3359 static FORCEINLINE HRESULT IWbemObjectAccess_ReadQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 *pqw) {
3360     return This->lpVtbl->ReadQWORD(This,lHandle,pqw);
3361 }
3362 static FORCEINLINE HRESULT IWbemObjectAccess_WriteQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 pw) {
3363     return This->lpVtbl->WriteQWORD(This,lHandle,pw);
3364 }
3365 static FORCEINLINE HRESULT IWbemObjectAccess_GetPropertyInfoByHandle(IWbemObjectAccess* This,LONG lHandle,BSTR *pstrName,CIMTYPE *pType) {
3366     return This->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType);
3367 }
3368 static FORCEINLINE HRESULT IWbemObjectAccess_Lock(IWbemObjectAccess* This,LONG lFlags) {
3369     return This->lpVtbl->Lock(This,lFlags);
3370 }
3371 static FORCEINLINE HRESULT IWbemObjectAccess_Unlock(IWbemObjectAccess* This,LONG lFlags) {
3372     return This->lpVtbl->Unlock(This,lFlags);
3373 }
3374 #endif
3375 #endif
3376 
3377 #endif
3378 
3379 
3380 #endif  /* __IWbemObjectAccess_INTERFACE_DEFINED__ */
3381 
3382 /*****************************************************************************
3383  * IMofCompiler interface
3384  */
3385 #ifndef __IMofCompiler_INTERFACE_DEFINED__
3386 #define __IMofCompiler_INTERFACE_DEFINED__
3387 
3388 DEFINE_GUID(IID_IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
3389 #if defined(__cplusplus) && !defined(CINTERFACE)
3390 MIDL_INTERFACE("6daf974e-2e37-11d2-aec9-00c04fb68820")
3391 IMofCompiler : public IUnknown
3392 {
3393     virtual HRESULT STDMETHODCALLTYPE CompileFile(
3394         LPWSTR FileName,
3395         LPWSTR ServerAndNamespace,
3396         LPWSTR User,
3397         LPWSTR Authority,
3398         LPWSTR Password,
3399         LONG lOptionFlags,
3400         LONG lClassFlags,
3401         LONG lInstanceFlags,
3402         WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3403 
3404     virtual HRESULT STDMETHODCALLTYPE CompileBuffer(
3405         LONG BuffSize,
3406         BYTE *pBuffer,
3407         LPWSTR ServerAndNamespace,
3408         LPWSTR User,
3409         LPWSTR Authority,
3410         LPWSTR Password,
3411         LONG lOptionFlags,
3412         LONG lClassFlags,
3413         LONG lInstanceFlags,
3414         WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3415 
3416     virtual HRESULT STDMETHODCALLTYPE CreateBMOF(
3417         LPWSTR TextFileName,
3418         LPWSTR BMOFFileName,
3419         LPWSTR ServerAndNamespace,
3420         LONG lOptionFlags,
3421         LONG lClassFlags,
3422         LONG lInstanceFlags,
3423         WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3424 
3425 };
3426 #ifdef __CRT_UUID_DECL
3427 __CRT_UUID_DECL(IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3428 #endif
3429 #else
3430 typedef struct IMofCompilerVtbl {
3431     BEGIN_INTERFACE
3432 
3433     /*** IUnknown methods ***/
3434     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3435         IMofCompiler *This,
3436         REFIID riid,
3437         void **ppvObject);
3438 
3439     ULONG (STDMETHODCALLTYPE *AddRef)(
3440         IMofCompiler *This);
3441 
3442     ULONG (STDMETHODCALLTYPE *Release)(
3443         IMofCompiler *This);
3444 
3445     /*** IMofCompiler methods ***/
3446     HRESULT (STDMETHODCALLTYPE *CompileFile)(
3447         IMofCompiler *This,
3448         LPWSTR FileName,
3449         LPWSTR ServerAndNamespace,
3450         LPWSTR User,
3451         LPWSTR Authority,
3452         LPWSTR Password,
3453         LONG lOptionFlags,
3454         LONG lClassFlags,
3455         LONG lInstanceFlags,
3456         WBEM_COMPILE_STATUS_INFO *pInfo);
3457 
3458     HRESULT (STDMETHODCALLTYPE *CompileBuffer)(
3459         IMofCompiler *This,
3460         LONG BuffSize,
3461         BYTE *pBuffer,
3462         LPWSTR ServerAndNamespace,
3463         LPWSTR User,
3464         LPWSTR Authority,
3465         LPWSTR Password,
3466         LONG lOptionFlags,
3467         LONG lClassFlags,
3468         LONG lInstanceFlags,
3469         WBEM_COMPILE_STATUS_INFO *pInfo);
3470 
3471     HRESULT (STDMETHODCALLTYPE *CreateBMOF)(
3472         IMofCompiler *This,
3473         LPWSTR TextFileName,
3474         LPWSTR BMOFFileName,
3475         LPWSTR ServerAndNamespace,
3476         LONG lOptionFlags,
3477         LONG lClassFlags,
3478         LONG lInstanceFlags,
3479         WBEM_COMPILE_STATUS_INFO *pInfo);
3480 
3481     END_INTERFACE
3482 } IMofCompilerVtbl;
3483 
3484 interface IMofCompiler {
3485     CONST_VTBL IMofCompilerVtbl* lpVtbl;
3486 };
3487 
3488 #ifdef COBJMACROS
3489 #ifndef WIDL_C_INLINE_WRAPPERS
3490 /*** IUnknown methods ***/
3491 #define IMofCompiler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3492 #define IMofCompiler_AddRef(This) (This)->lpVtbl->AddRef(This)
3493 #define IMofCompiler_Release(This) (This)->lpVtbl->Release(This)
3494 /*** IMofCompiler methods ***/
3495 #define IMofCompiler_CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3496 #define IMofCompiler_CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3497 #define IMofCompiler_CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3498 #else
3499 /*** IUnknown methods ***/
3500 static FORCEINLINE HRESULT IMofCompiler_QueryInterface(IMofCompiler* This,REFIID riid,void **ppvObject) {
3501     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3502 }
3503 static FORCEINLINE ULONG IMofCompiler_AddRef(IMofCompiler* This) {
3504     return This->lpVtbl->AddRef(This);
3505 }
3506 static FORCEINLINE ULONG IMofCompiler_Release(IMofCompiler* This) {
3507     return This->lpVtbl->Release(This);
3508 }
3509 /*** IMofCompiler methods ***/
3510 static FORCEINLINE HRESULT IMofCompiler_CompileFile(IMofCompiler* This,LPWSTR FileName,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3511     return This->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3512 }
3513 static FORCEINLINE HRESULT IMofCompiler_CompileBuffer(IMofCompiler* This,LONG BuffSize,BYTE *pBuffer,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3514     return This->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3515 }
3516 static FORCEINLINE HRESULT IMofCompiler_CreateBMOF(IMofCompiler* This,LPWSTR TextFileName,LPWSTR BMOFFileName,LPWSTR ServerAndNamespace,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3517     return This->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3518 }
3519 #endif
3520 #endif
3521 
3522 #endif
3523 
3524 
3525 #endif  /* __IMofCompiler_INTERFACE_DEFINED__ */
3526 
3527 /*****************************************************************************
3528  * IUnsecuredApartment interface
3529  */
3530 #ifndef __IUnsecuredApartment_INTERFACE_DEFINED__
3531 #define __IUnsecuredApartment_INTERFACE_DEFINED__
3532 
3533 DEFINE_GUID(IID_IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
3534 #if defined(__cplusplus) && !defined(CINTERFACE)
3535 MIDL_INTERFACE("1cfaba8c-1523-11d1-ad79-00c04fd8fdff")
3536 IUnsecuredApartment : public IUnknown
3537 {
3538     virtual HRESULT STDMETHODCALLTYPE CreateObjectStub(
3539         IUnknown *pObject,
3540         IUnknown **ppStub) = 0;
3541 
3542 };
3543 #ifdef __CRT_UUID_DECL
3544 __CRT_UUID_DECL(IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
3545 #endif
3546 #else
3547 typedef struct IUnsecuredApartmentVtbl {
3548     BEGIN_INTERFACE
3549 
3550     /*** IUnknown methods ***/
3551     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3552         IUnsecuredApartment *This,
3553         REFIID riid,
3554         void **ppvObject);
3555 
3556     ULONG (STDMETHODCALLTYPE *AddRef)(
3557         IUnsecuredApartment *This);
3558 
3559     ULONG (STDMETHODCALLTYPE *Release)(
3560         IUnsecuredApartment *This);
3561 
3562     /*** IUnsecuredApartment methods ***/
3563     HRESULT (STDMETHODCALLTYPE *CreateObjectStub)(
3564         IUnsecuredApartment *This,
3565         IUnknown *pObject,
3566         IUnknown **ppStub);
3567 
3568     END_INTERFACE
3569 } IUnsecuredApartmentVtbl;
3570 
3571 interface IUnsecuredApartment {
3572     CONST_VTBL IUnsecuredApartmentVtbl* lpVtbl;
3573 };
3574 
3575 #ifdef COBJMACROS
3576 #ifndef WIDL_C_INLINE_WRAPPERS
3577 /*** IUnknown methods ***/
3578 #define IUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3579 #define IUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This)
3580 #define IUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This)
3581 /*** IUnsecuredApartment methods ***/
3582 #define IUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub)
3583 #else
3584 /*** IUnknown methods ***/
3585 static FORCEINLINE HRESULT IUnsecuredApartment_QueryInterface(IUnsecuredApartment* This,REFIID riid,void **ppvObject) {
3586     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3587 }
3588 static FORCEINLINE ULONG IUnsecuredApartment_AddRef(IUnsecuredApartment* This) {
3589     return This->lpVtbl->AddRef(This);
3590 }
3591 static FORCEINLINE ULONG IUnsecuredApartment_Release(IUnsecuredApartment* This) {
3592     return This->lpVtbl->Release(This);
3593 }
3594 /*** IUnsecuredApartment methods ***/
3595 static FORCEINLINE HRESULT IUnsecuredApartment_CreateObjectStub(IUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) {
3596     return This->lpVtbl->CreateObjectStub(This,pObject,ppStub);
3597 }
3598 #endif
3599 #endif
3600 
3601 #endif
3602 
3603 
3604 #endif  /* __IUnsecuredApartment_INTERFACE_DEFINED__ */
3605 
3606 /*****************************************************************************
3607  * IWbemUnsecuredApartment interface
3608  */
3609 #ifndef __IWbemUnsecuredApartment_INTERFACE_DEFINED__
3610 #define __IWbemUnsecuredApartment_INTERFACE_DEFINED__
3611 
3612 DEFINE_GUID(IID_IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56);
3613 #if defined(__cplusplus) && !defined(CINTERFACE)
3614 MIDL_INTERFACE("31739d04-3471-4cf4-9a7c-57a44ae71956")
3615 IWbemUnsecuredApartment : public IUnsecuredApartment
3616 {
3617     virtual HRESULT STDMETHODCALLTYPE CreateSinkStub(
3618         IWbemObjectSink *pSink,
3619         DWORD dwFlags,
3620         LPCWSTR wszReserved,
3621         IWbemObjectSink **ppStub) = 0;
3622 
3623 };
3624 #ifdef __CRT_UUID_DECL
3625 __CRT_UUID_DECL(IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56)
3626 #endif
3627 #else
3628 typedef struct IWbemUnsecuredApartmentVtbl {
3629     BEGIN_INTERFACE
3630 
3631     /*** IUnknown methods ***/
3632     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3633         IWbemUnsecuredApartment *This,
3634         REFIID riid,
3635         void **ppvObject);
3636 
3637     ULONG (STDMETHODCALLTYPE *AddRef)(
3638         IWbemUnsecuredApartment *This);
3639 
3640     ULONG (STDMETHODCALLTYPE *Release)(
3641         IWbemUnsecuredApartment *This);
3642 
3643     /*** IUnsecuredApartment methods ***/
3644     HRESULT (STDMETHODCALLTYPE *CreateObjectStub)(
3645         IWbemUnsecuredApartment *This,
3646         IUnknown *pObject,
3647         IUnknown **ppStub);
3648 
3649     /*** IWbemUnsecuredApartment methods ***/
3650     HRESULT (STDMETHODCALLTYPE *CreateSinkStub)(
3651         IWbemUnsecuredApartment *This,
3652         IWbemObjectSink *pSink,
3653         DWORD dwFlags,
3654         LPCWSTR wszReserved,
3655         IWbemObjectSink **ppStub);
3656 
3657     END_INTERFACE
3658 } IWbemUnsecuredApartmentVtbl;
3659 
3660 interface IWbemUnsecuredApartment {
3661     CONST_VTBL IWbemUnsecuredApartmentVtbl* lpVtbl;
3662 };
3663 
3664 #ifdef COBJMACROS
3665 #ifndef WIDL_C_INLINE_WRAPPERS
3666 /*** IUnknown methods ***/
3667 #define IWbemUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3668 #define IWbemUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This)
3669 #define IWbemUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This)
3670 /*** IUnsecuredApartment methods ***/
3671 #define IWbemUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub)
3672 /*** IWbemUnsecuredApartment methods ***/
3673 #define IWbemUnsecuredApartment_CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub) (This)->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub)
3674 #else
3675 /*** IUnknown methods ***/
3676 static FORCEINLINE HRESULT IWbemUnsecuredApartment_QueryInterface(IWbemUnsecuredApartment* This,REFIID riid,void **ppvObject) {
3677     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3678 }
3679 static FORCEINLINE ULONG IWbemUnsecuredApartment_AddRef(IWbemUnsecuredApartment* This) {
3680     return This->lpVtbl->AddRef(This);
3681 }
3682 static FORCEINLINE ULONG IWbemUnsecuredApartment_Release(IWbemUnsecuredApartment* This) {
3683     return This->lpVtbl->Release(This);
3684 }
3685 /*** IUnsecuredApartment methods ***/
3686 static FORCEINLINE HRESULT IWbemUnsecuredApartment_CreateObjectStub(IWbemUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) {
3687     return This->lpVtbl->CreateObjectStub(This,pObject,ppStub);
3688 }
3689 /*** IWbemUnsecuredApartment methods ***/
3690 static FORCEINLINE HRESULT IWbemUnsecuredApartment_CreateSinkStub(IWbemUnsecuredApartment* This,IWbemObjectSink *pSink,DWORD dwFlags,LPCWSTR wszReserved,IWbemObjectSink **ppStub) {
3691     return This->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub);
3692 }
3693 #endif
3694 #endif
3695 
3696 #endif
3697 
3698 
3699 #endif  /* __IWbemUnsecuredApartment_INTERFACE_DEFINED__ */
3700 
3701 /*****************************************************************************
3702  * IWbemStatusCodeText interface
3703  */
3704 #ifndef __IWbemStatusCodeText_INTERFACE_DEFINED__
3705 #define __IWbemStatusCodeText_INTERFACE_DEFINED__
3706 
3707 DEFINE_GUID(IID_IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
3708 #if defined(__cplusplus) && !defined(CINTERFACE)
3709 MIDL_INTERFACE("eb87e1bc-3233-11d2-aec9-00c04fb68820")
3710 IWbemStatusCodeText : public IUnknown
3711 {
3712     virtual HRESULT STDMETHODCALLTYPE GetErrorCodeText(
3713         HRESULT hRes,
3714         LCID LocaleId,
3715         LONG lFlags,
3716         BSTR *MessageText) = 0;
3717 
3718     virtual HRESULT STDMETHODCALLTYPE GetFacilityCodeText(
3719         HRESULT hRes,
3720         LCID LocaleId,
3721         LONG lFlags,
3722         BSTR *MessageText) = 0;
3723 
3724 };
3725 #ifdef __CRT_UUID_DECL
3726 __CRT_UUID_DECL(IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3727 #endif
3728 #else
3729 typedef struct IWbemStatusCodeTextVtbl {
3730     BEGIN_INTERFACE
3731 
3732     /*** IUnknown methods ***/
3733     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3734         IWbemStatusCodeText *This,
3735         REFIID riid,
3736         void **ppvObject);
3737 
3738     ULONG (STDMETHODCALLTYPE *AddRef)(
3739         IWbemStatusCodeText *This);
3740 
3741     ULONG (STDMETHODCALLTYPE *Release)(
3742         IWbemStatusCodeText *This);
3743 
3744     /*** IWbemStatusCodeText methods ***/
3745     HRESULT (STDMETHODCALLTYPE *GetErrorCodeText)(
3746         IWbemStatusCodeText *This,
3747         HRESULT hRes,
3748         LCID LocaleId,
3749         LONG lFlags,
3750         BSTR *MessageText);
3751 
3752     HRESULT (STDMETHODCALLTYPE *GetFacilityCodeText)(
3753         IWbemStatusCodeText *This,
3754         HRESULT hRes,
3755         LCID LocaleId,
3756         LONG lFlags,
3757         BSTR *MessageText);
3758 
3759     END_INTERFACE
3760 } IWbemStatusCodeTextVtbl;
3761 
3762 interface IWbemStatusCodeText {
3763     CONST_VTBL IWbemStatusCodeTextVtbl* lpVtbl;
3764 };
3765 
3766 #ifdef COBJMACROS
3767 #ifndef WIDL_C_INLINE_WRAPPERS
3768 /*** IUnknown methods ***/
3769 #define IWbemStatusCodeText_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3770 #define IWbemStatusCodeText_AddRef(This) (This)->lpVtbl->AddRef(This)
3771 #define IWbemStatusCodeText_Release(This) (This)->lpVtbl->Release(This)
3772 /*** IWbemStatusCodeText methods ***/
3773 #define IWbemStatusCodeText_GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText)
3774 #define IWbemStatusCodeText_GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText)
3775 #else
3776 /*** IUnknown methods ***/
3777 static FORCEINLINE HRESULT IWbemStatusCodeText_QueryInterface(IWbemStatusCodeText* This,REFIID riid,void **ppvObject) {
3778     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3779 }
3780 static FORCEINLINE ULONG IWbemStatusCodeText_AddRef(IWbemStatusCodeText* This) {
3781     return This->lpVtbl->AddRef(This);
3782 }
3783 static FORCEINLINE ULONG IWbemStatusCodeText_Release(IWbemStatusCodeText* This) {
3784     return This->lpVtbl->Release(This);
3785 }
3786 /*** IWbemStatusCodeText methods ***/
3787 static FORCEINLINE HRESULT IWbemStatusCodeText_GetErrorCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) {
3788     return This->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText);
3789 }
3790 static FORCEINLINE HRESULT IWbemStatusCodeText_GetFacilityCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) {
3791     return This->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText);
3792 }
3793 #endif
3794 #endif
3795 
3796 #endif
3797 
3798 
3799 #endif  /* __IWbemStatusCodeText_INTERFACE_DEFINED__ */
3800 
3801 /*****************************************************************************
3802  * IWbemBackupRestore interface
3803  */
3804 #ifndef __IWbemBackupRestore_INTERFACE_DEFINED__
3805 #define __IWbemBackupRestore_INTERFACE_DEFINED__
3806 
3807 DEFINE_GUID(IID_IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04);
3808 #if defined(__cplusplus) && !defined(CINTERFACE)
3809 MIDL_INTERFACE("c49e32c7-bc8b-11d2-85d4-00105a1f8304")
3810 IWbemBackupRestore : public IUnknown
3811 {
3812     virtual HRESULT STDMETHODCALLTYPE Backup(
3813         LPCWSTR strBackupToFile,
3814         LONG lFlags) = 0;
3815 
3816     virtual HRESULT STDMETHODCALLTYPE Restore(
3817         LPCWSTR strRestoreFromFile,
3818         LONG lFlags) = 0;
3819 
3820 };
3821 #ifdef __CRT_UUID_DECL
3822 __CRT_UUID_DECL(IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04)
3823 #endif
3824 #else
3825 typedef struct IWbemBackupRestoreVtbl {
3826     BEGIN_INTERFACE
3827 
3828     /*** IUnknown methods ***/
3829     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3830         IWbemBackupRestore *This,
3831         REFIID riid,
3832         void **ppvObject);
3833 
3834     ULONG (STDMETHODCALLTYPE *AddRef)(
3835         IWbemBackupRestore *This);
3836 
3837     ULONG (STDMETHODCALLTYPE *Release)(
3838         IWbemBackupRestore *This);
3839 
3840     /*** IWbemBackupRestore methods ***/
3841     HRESULT (STDMETHODCALLTYPE *Backup)(
3842         IWbemBackupRestore *This,
3843         LPCWSTR strBackupToFile,
3844         LONG lFlags);
3845 
3846     HRESULT (STDMETHODCALLTYPE *Restore)(
3847         IWbemBackupRestore *This,
3848         LPCWSTR strRestoreFromFile,
3849         LONG lFlags);
3850 
3851     END_INTERFACE
3852 } IWbemBackupRestoreVtbl;
3853 
3854 interface IWbemBackupRestore {
3855     CONST_VTBL IWbemBackupRestoreVtbl* lpVtbl;
3856 };
3857 
3858 #ifdef COBJMACROS
3859 #ifndef WIDL_C_INLINE_WRAPPERS
3860 /*** IUnknown methods ***/
3861 #define IWbemBackupRestore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3862 #define IWbemBackupRestore_AddRef(This) (This)->lpVtbl->AddRef(This)
3863 #define IWbemBackupRestore_Release(This) (This)->lpVtbl->Release(This)
3864 /*** IWbemBackupRestore methods ***/
3865 #define IWbemBackupRestore_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags)
3866 #define IWbemBackupRestore_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags)
3867 #else
3868 /*** IUnknown methods ***/
3869 static FORCEINLINE HRESULT IWbemBackupRestore_QueryInterface(IWbemBackupRestore* This,REFIID riid,void **ppvObject) {
3870     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3871 }
3872 static FORCEINLINE ULONG IWbemBackupRestore_AddRef(IWbemBackupRestore* This) {
3873     return This->lpVtbl->AddRef(This);
3874 }
3875 static FORCEINLINE ULONG IWbemBackupRestore_Release(IWbemBackupRestore* This) {
3876     return This->lpVtbl->Release(This);
3877 }
3878 /*** IWbemBackupRestore methods ***/
3879 static FORCEINLINE HRESULT IWbemBackupRestore_Backup(IWbemBackupRestore* This,LPCWSTR strBackupToFile,LONG lFlags) {
3880     return This->lpVtbl->Backup(This,strBackupToFile,lFlags);
3881 }
3882 static FORCEINLINE HRESULT IWbemBackupRestore_Restore(IWbemBackupRestore* This,LPCWSTR strRestoreFromFile,LONG lFlags) {
3883     return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags);
3884 }
3885 #endif
3886 #endif
3887 
3888 #endif
3889 
3890 
3891 #endif  /* __IWbemBackupRestore_INTERFACE_DEFINED__ */
3892 
3893 /*****************************************************************************
3894  * IWbemBackupRestoreEx interface
3895  */
3896 #ifndef __IWbemBackupRestoreEx_INTERFACE_DEFINED__
3897 #define __IWbemBackupRestoreEx_INTERFACE_DEFINED__
3898 
3899 DEFINE_GUID(IID_IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76);
3900 #if defined(__cplusplus) && !defined(CINTERFACE)
3901 MIDL_INTERFACE("a359dec5-e813-4834-8a2a-ba7f1d777d76")
3902 IWbemBackupRestoreEx : public IWbemBackupRestore
3903 {
3904     virtual HRESULT STDMETHODCALLTYPE Pause(
3905         ) = 0;
3906 
3907     virtual HRESULT STDMETHODCALLTYPE Resume(
3908         ) = 0;
3909 
3910 };
3911 #ifdef __CRT_UUID_DECL
3912 __CRT_UUID_DECL(IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76)
3913 #endif
3914 #else
3915 typedef struct IWbemBackupRestoreExVtbl {
3916     BEGIN_INTERFACE
3917 
3918     /*** IUnknown methods ***/
3919     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3920         IWbemBackupRestoreEx *This,
3921         REFIID riid,
3922         void **ppvObject);
3923 
3924     ULONG (STDMETHODCALLTYPE *AddRef)(
3925         IWbemBackupRestoreEx *This);
3926 
3927     ULONG (STDMETHODCALLTYPE *Release)(
3928         IWbemBackupRestoreEx *This);
3929 
3930     /*** IWbemBackupRestore methods ***/
3931     HRESULT (STDMETHODCALLTYPE *Backup)(
3932         IWbemBackupRestoreEx *This,
3933         LPCWSTR strBackupToFile,
3934         LONG lFlags);
3935 
3936     HRESULT (STDMETHODCALLTYPE *Restore)(
3937         IWbemBackupRestoreEx *This,
3938         LPCWSTR strRestoreFromFile,
3939         LONG lFlags);
3940 
3941     /*** IWbemBackupRestoreEx methods ***/
3942     HRESULT (STDMETHODCALLTYPE *Pause)(
3943         IWbemBackupRestoreEx *This);
3944 
3945     HRESULT (STDMETHODCALLTYPE *Resume)(
3946         IWbemBackupRestoreEx *This);
3947 
3948     END_INTERFACE
3949 } IWbemBackupRestoreExVtbl;
3950 
3951 interface IWbemBackupRestoreEx {
3952     CONST_VTBL IWbemBackupRestoreExVtbl* lpVtbl;
3953 };
3954 
3955 #ifdef COBJMACROS
3956 #ifndef WIDL_C_INLINE_WRAPPERS
3957 /*** IUnknown methods ***/
3958 #define IWbemBackupRestoreEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3959 #define IWbemBackupRestoreEx_AddRef(This) (This)->lpVtbl->AddRef(This)
3960 #define IWbemBackupRestoreEx_Release(This) (This)->lpVtbl->Release(This)
3961 /*** IWbemBackupRestore methods ***/
3962 #define IWbemBackupRestoreEx_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags)
3963 #define IWbemBackupRestoreEx_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags)
3964 /*** IWbemBackupRestoreEx methods ***/
3965 #define IWbemBackupRestoreEx_Pause(This) (This)->lpVtbl->Pause(This)
3966 #define IWbemBackupRestoreEx_Resume(This) (This)->lpVtbl->Resume(This)
3967 #else
3968 /*** IUnknown methods ***/
3969 static FORCEINLINE HRESULT IWbemBackupRestoreEx_QueryInterface(IWbemBackupRestoreEx* This,REFIID riid,void **ppvObject) {
3970     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3971 }
3972 static FORCEINLINE ULONG IWbemBackupRestoreEx_AddRef(IWbemBackupRestoreEx* This) {
3973     return This->lpVtbl->AddRef(This);
3974 }
3975 static FORCEINLINE ULONG IWbemBackupRestoreEx_Release(IWbemBackupRestoreEx* This) {
3976     return This->lpVtbl->Release(This);
3977 }
3978 /*** IWbemBackupRestore methods ***/
3979 static FORCEINLINE HRESULT IWbemBackupRestoreEx_Backup(IWbemBackupRestoreEx* This,LPCWSTR strBackupToFile,LONG lFlags) {
3980     return This->lpVtbl->Backup(This,strBackupToFile,lFlags);
3981 }
3982 static FORCEINLINE HRESULT IWbemBackupRestoreEx_Restore(IWbemBackupRestoreEx* This,LPCWSTR strRestoreFromFile,LONG lFlags) {
3983     return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags);
3984 }
3985 /*** IWbemBackupRestoreEx methods ***/
3986 static FORCEINLINE HRESULT IWbemBackupRestoreEx_Pause(IWbemBackupRestoreEx* This) {
3987     return This->lpVtbl->Pause(This);
3988 }
3989 static FORCEINLINE HRESULT IWbemBackupRestoreEx_Resume(IWbemBackupRestoreEx* This) {
3990     return This->lpVtbl->Resume(This);
3991 }
3992 #endif
3993 #endif
3994 
3995 #endif
3996 
3997 
3998 #endif  /* __IWbemBackupRestoreEx_INTERFACE_DEFINED__ */
3999 
4000 /*****************************************************************************
4001  * IWbemRefresher interface
4002  */
4003 #ifndef __IWbemRefresher_INTERFACE_DEFINED__
4004 #define __IWbemRefresher_INTERFACE_DEFINED__
4005 
4006 DEFINE_GUID(IID_IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
4007 #if defined(__cplusplus) && !defined(CINTERFACE)
4008 MIDL_INTERFACE("49353c99-516b-11d1-aea6-00c04fb68820")
4009 IWbemRefresher : public IUnknown
4010 {
4011     virtual HRESULT STDMETHODCALLTYPE Refresh(
4012         LONG lFlags) = 0;
4013 
4014 };
4015 #ifdef __CRT_UUID_DECL
4016 __CRT_UUID_DECL(IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
4017 #endif
4018 #else
4019 typedef struct IWbemRefresherVtbl {
4020     BEGIN_INTERFACE
4021 
4022     /*** IUnknown methods ***/
4023     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4024         IWbemRefresher *This,
4025         REFIID riid,
4026         void **ppvObject);
4027 
4028     ULONG (STDMETHODCALLTYPE *AddRef)(
4029         IWbemRefresher *This);
4030 
4031     ULONG (STDMETHODCALLTYPE *Release)(
4032         IWbemRefresher *This);
4033 
4034     /*** IWbemRefresher methods ***/
4035     HRESULT (STDMETHODCALLTYPE *Refresh)(
4036         IWbemRefresher *This,
4037         LONG lFlags);
4038 
4039     END_INTERFACE
4040 } IWbemRefresherVtbl;
4041 
4042 interface IWbemRefresher {
4043     CONST_VTBL IWbemRefresherVtbl* lpVtbl;
4044 };
4045 
4046 #ifdef COBJMACROS
4047 #ifndef WIDL_C_INLINE_WRAPPERS
4048 /*** IUnknown methods ***/
4049 #define IWbemRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4050 #define IWbemRefresher_AddRef(This) (This)->lpVtbl->AddRef(This)
4051 #define IWbemRefresher_Release(This) (This)->lpVtbl->Release(This)
4052 /*** IWbemRefresher methods ***/
4053 #define IWbemRefresher_Refresh(This,lFlags) (This)->lpVtbl->Refresh(This,lFlags)
4054 #else
4055 /*** IUnknown methods ***/
4056 static FORCEINLINE HRESULT IWbemRefresher_QueryInterface(IWbemRefresher* This,REFIID riid,void **ppvObject) {
4057     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4058 }
4059 static FORCEINLINE ULONG IWbemRefresher_AddRef(IWbemRefresher* This) {
4060     return This->lpVtbl->AddRef(This);
4061 }
4062 static FORCEINLINE ULONG IWbemRefresher_Release(IWbemRefresher* This) {
4063     return This->lpVtbl->Release(This);
4064 }
4065 /*** IWbemRefresher methods ***/
4066 static FORCEINLINE HRESULT IWbemRefresher_Refresh(IWbemRefresher* This,LONG lFlags) {
4067     return This->lpVtbl->Refresh(This,lFlags);
4068 }
4069 #endif
4070 #endif
4071 
4072 #endif
4073 
4074 
4075 #endif  /* __IWbemRefresher_INTERFACE_DEFINED__ */
4076 
4077 /*****************************************************************************
4078  * IWbemHiPerfEnum interface
4079  */
4080 #ifndef __IWbemHiPerfEnum_INTERFACE_DEFINED__
4081 #define __IWbemHiPerfEnum_INTERFACE_DEFINED__
4082 
4083 DEFINE_GUID(IID_IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77);
4084 #if defined(__cplusplus) && !defined(CINTERFACE)
4085 MIDL_INTERFACE("2705c288-79ae-11d2-b348-00105a1f8177")
4086 IWbemHiPerfEnum : public IUnknown
4087 {
4088     virtual HRESULT STDMETHODCALLTYPE AddObjects(
4089         LONG lFlags,
4090         ULONG uNumObjects,
4091         LONG *apIds,
4092         IWbemObjectAccess **apObj) = 0;
4093 
4094     virtual HRESULT STDMETHODCALLTYPE RemoveObjects(
4095         LONG lFlags,
4096         ULONG uNumObjects,
4097         LONG *apIds) = 0;
4098 
4099     virtual HRESULT STDMETHODCALLTYPE GetObjects(
4100         LONG lFlags,
4101         ULONG uNumObjects,
4102         IWbemObjectAccess **apObj,
4103         ULONG *puReturned) = 0;
4104 
4105     virtual HRESULT STDMETHODCALLTYPE RemoveAll(
4106         LONG lFlags) = 0;
4107 
4108 };
4109 #ifdef __CRT_UUID_DECL
4110 __CRT_UUID_DECL(IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77)
4111 #endif
4112 #else
4113 typedef struct IWbemHiPerfEnumVtbl {
4114     BEGIN_INTERFACE
4115 
4116     /*** IUnknown methods ***/
4117     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4118         IWbemHiPerfEnum *This,
4119         REFIID riid,
4120         void **ppvObject);
4121 
4122     ULONG (STDMETHODCALLTYPE *AddRef)(
4123         IWbemHiPerfEnum *This);
4124 
4125     ULONG (STDMETHODCALLTYPE *Release)(
4126         IWbemHiPerfEnum *This);
4127 
4128     /*** IWbemHiPerfEnum methods ***/
4129     HRESULT (STDMETHODCALLTYPE *AddObjects)(
4130         IWbemHiPerfEnum *This,
4131         LONG lFlags,
4132         ULONG uNumObjects,
4133         LONG *apIds,
4134         IWbemObjectAccess **apObj);
4135 
4136     HRESULT (STDMETHODCALLTYPE *RemoveObjects)(
4137         IWbemHiPerfEnum *This,
4138         LONG lFlags,
4139         ULONG uNumObjects,
4140         LONG *apIds);
4141 
4142     HRESULT (STDMETHODCALLTYPE *GetObjects)(
4143         IWbemHiPerfEnum *This,
4144         LONG lFlags,
4145         ULONG uNumObjects,
4146         IWbemObjectAccess **apObj,
4147         ULONG *puReturned);
4148 
4149     HRESULT (STDMETHODCALLTYPE *RemoveAll)(
4150         IWbemHiPerfEnum *This,
4151         LONG lFlags);
4152 
4153     END_INTERFACE
4154 } IWbemHiPerfEnumVtbl;
4155 
4156 interface IWbemHiPerfEnum {
4157     CONST_VTBL IWbemHiPerfEnumVtbl* lpVtbl;
4158 };
4159 
4160 #ifdef COBJMACROS
4161 #ifndef WIDL_C_INLINE_WRAPPERS
4162 /*** IUnknown methods ***/
4163 #define IWbemHiPerfEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4164 #define IWbemHiPerfEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
4165 #define IWbemHiPerfEnum_Release(This) (This)->lpVtbl->Release(This)
4166 /*** IWbemHiPerfEnum methods ***/
4167 #define IWbemHiPerfEnum_AddObjects(This,lFlags,uNumObjects,apIds,apObj) (This)->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj)
4168 #define IWbemHiPerfEnum_RemoveObjects(This,lFlags,uNumObjects,apIds) (This)->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds)
4169 #define IWbemHiPerfEnum_GetObjects(This,lFlags,uNumObjects,apObj,puReturned) (This)->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned)
4170 #define IWbemHiPerfEnum_RemoveAll(This,lFlags) (This)->lpVtbl->RemoveAll(This,lFlags)
4171 #else
4172 /*** IUnknown methods ***/
4173 static FORCEINLINE HRESULT IWbemHiPerfEnum_QueryInterface(IWbemHiPerfEnum* This,REFIID riid,void **ppvObject) {
4174     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4175 }
4176 static FORCEINLINE ULONG IWbemHiPerfEnum_AddRef(IWbemHiPerfEnum* This) {
4177     return This->lpVtbl->AddRef(This);
4178 }
4179 static FORCEINLINE ULONG IWbemHiPerfEnum_Release(IWbemHiPerfEnum* This) {
4180     return This->lpVtbl->Release(This);
4181 }
4182 /*** IWbemHiPerfEnum methods ***/
4183 static FORCEINLINE HRESULT IWbemHiPerfEnum_AddObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds,IWbemObjectAccess **apObj) {
4184     return This->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj);
4185 }
4186 static FORCEINLINE HRESULT IWbemHiPerfEnum_RemoveObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds) {
4187     return This->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds);
4188 }
4189 static FORCEINLINE HRESULT IWbemHiPerfEnum_GetObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,IWbemObjectAccess **apObj,ULONG *puReturned) {
4190     return This->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned);
4191 }
4192 static FORCEINLINE HRESULT IWbemHiPerfEnum_RemoveAll(IWbemHiPerfEnum* This,LONG lFlags) {
4193     return This->lpVtbl->RemoveAll(This,lFlags);
4194 }
4195 #endif
4196 #endif
4197 
4198 #endif
4199 
4200 
4201 #endif  /* __IWbemHiPerfEnum_INTERFACE_DEFINED__ */
4202 
4203 /*****************************************************************************
4204  * IWbemConfigureRefresher interface
4205  */
4206 #ifndef __IWbemConfigureRefresher_INTERFACE_DEFINED__
4207 #define __IWbemConfigureRefresher_INTERFACE_DEFINED__
4208 
4209 DEFINE_GUID(IID_IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
4210 #if defined(__cplusplus) && !defined(CINTERFACE)
4211 MIDL_INTERFACE("49353c92-516b-11d1-aea6-00c04fb68820")
4212 IWbemConfigureRefresher : public IUnknown
4213 {
4214     virtual HRESULT STDMETHODCALLTYPE AddObjectByPath(
4215         IWbemServices *pNamespace,
4216         LPCWSTR wszPath,
4217         LONG lFlags,
4218         IWbemContext *pContext,
4219         IWbemClassObject **ppRefreshable,
4220         LONG *plId) = 0;
4221 
4222     virtual HRESULT STDMETHODCALLTYPE AddObjectByTemplate(
4223         IWbemServices *pNamespace,
4224         IWbemClassObject *pTemplate,
4225         LONG lFlags,
4226         IWbemContext *pContext,
4227         IWbemClassObject **ppRefreshable,
4228         LONG *plId) = 0;
4229 
4230     virtual HRESULT STDMETHODCALLTYPE AddRefresher(
4231         IWbemRefresher *pRefresher,
4232         LONG lFlags,
4233         LONG *plId) = 0;
4234 
4235     virtual HRESULT STDMETHODCALLTYPE Remove(
4236         LONG lId,
4237         LONG lFlags) = 0;
4238 
4239     virtual HRESULT STDMETHODCALLTYPE AddEnum(
4240         IWbemServices *pNamespace,
4241         LPCWSTR wszClassName,
4242         LONG lFlags,
4243         IWbemContext *pContext,
4244         IWbemHiPerfEnum **ppEnum,
4245         LONG *plId) = 0;
4246 
4247 };
4248 #ifdef __CRT_UUID_DECL
4249 __CRT_UUID_DECL(IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
4250 #endif
4251 #else
4252 typedef struct IWbemConfigureRefresherVtbl {
4253     BEGIN_INTERFACE
4254 
4255     /*** IUnknown methods ***/
4256     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4257         IWbemConfigureRefresher *This,
4258         REFIID riid,
4259         void **ppvObject);
4260 
4261     ULONG (STDMETHODCALLTYPE *AddRef)(
4262         IWbemConfigureRefresher *This);
4263 
4264     ULONG (STDMETHODCALLTYPE *Release)(
4265         IWbemConfigureRefresher *This);
4266 
4267     /*** IWbemConfigureRefresher methods ***/
4268     HRESULT (STDMETHODCALLTYPE *AddObjectByPath)(
4269         IWbemConfigureRefresher *This,
4270         IWbemServices *pNamespace,
4271         LPCWSTR wszPath,
4272         LONG lFlags,
4273         IWbemContext *pContext,
4274         IWbemClassObject **ppRefreshable,
4275         LONG *plId);
4276 
4277     HRESULT (STDMETHODCALLTYPE *AddObjectByTemplate)(
4278         IWbemConfigureRefresher *This,
4279         IWbemServices *pNamespace,
4280         IWbemClassObject *pTemplate,
4281         LONG lFlags,
4282         IWbemContext *pContext,
4283         IWbemClassObject **ppRefreshable,
4284         LONG *plId);
4285 
4286     HRESULT (STDMETHODCALLTYPE *AddRefresher)(
4287         IWbemConfigureRefresher *This,
4288         IWbemRefresher *pRefresher,
4289         LONG lFlags,
4290         LONG *plId);
4291 
4292     HRESULT (STDMETHODCALLTYPE *Remove)(
4293         IWbemConfigureRefresher *This,
4294         LONG lId,
4295         LONG lFlags);
4296 
4297     HRESULT (STDMETHODCALLTYPE *AddEnum)(
4298         IWbemConfigureRefresher *This,
4299         IWbemServices *pNamespace,
4300         LPCWSTR wszClassName,
4301         LONG lFlags,
4302         IWbemContext *pContext,
4303         IWbemHiPerfEnum **ppEnum,
4304         LONG *plId);
4305 
4306     END_INTERFACE
4307 } IWbemConfigureRefresherVtbl;
4308 
4309 interface IWbemConfigureRefresher {
4310     CONST_VTBL IWbemConfigureRefresherVtbl* lpVtbl;
4311 };
4312 
4313 #ifdef COBJMACROS
4314 #ifndef WIDL_C_INLINE_WRAPPERS
4315 /*** IUnknown methods ***/
4316 #define IWbemConfigureRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4317 #define IWbemConfigureRefresher_AddRef(This) (This)->lpVtbl->AddRef(This)
4318 #define IWbemConfigureRefresher_Release(This) (This)->lpVtbl->Release(This)
4319 /*** IWbemConfigureRefresher methods ***/
4320 #define IWbemConfigureRefresher_AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId)
4321 #define IWbemConfigureRefresher_AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId)
4322 #define IWbemConfigureRefresher_AddRefresher(This,pRefresher,lFlags,plId) (This)->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId)
4323 #define IWbemConfigureRefresher_Remove(This,lId,lFlags) (This)->lpVtbl->Remove(This,lId,lFlags)
4324 #define IWbemConfigureRefresher_AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId) (This)->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId)
4325 #else
4326 /*** IUnknown methods ***/
4327 static FORCEINLINE HRESULT IWbemConfigureRefresher_QueryInterface(IWbemConfigureRefresher* This,REFIID riid,void **ppvObject) {
4328     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4329 }
4330 static FORCEINLINE ULONG IWbemConfigureRefresher_AddRef(IWbemConfigureRefresher* This) {
4331     return This->lpVtbl->AddRef(This);
4332 }
4333 static FORCEINLINE ULONG IWbemConfigureRefresher_Release(IWbemConfigureRefresher* This) {
4334     return This->lpVtbl->Release(This);
4335 }
4336 /*** IWbemConfigureRefresher methods ***/
4337 static FORCEINLINE HRESULT IWbemConfigureRefresher_AddObjectByPath(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszPath,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) {
4338     return This->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId);
4339 }
4340 static FORCEINLINE HRESULT IWbemConfigureRefresher_AddObjectByTemplate(IWbemConfigureRefresher* This,IWbemServices *pNamespace,IWbemClassObject *pTemplate,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) {
4341     return This->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId);
4342 }
4343 static FORCEINLINE HRESULT IWbemConfigureRefresher_AddRefresher(IWbemConfigureRefresher* This,IWbemRefresher *pRefresher,LONG lFlags,LONG *plId) {
4344     return This->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId);
4345 }
4346 static FORCEINLINE HRESULT IWbemConfigureRefresher_Remove(IWbemConfigureRefresher* This,LONG lId,LONG lFlags) {
4347     return This->lpVtbl->Remove(This,lId,lFlags);
4348 }
4349 static FORCEINLINE HRESULT IWbemConfigureRefresher_AddEnum(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszClassName,LONG lFlags,IWbemContext *pContext,IWbemHiPerfEnum **ppEnum,LONG *plId) {
4350     return This->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId);
4351 }
4352 #endif
4353 #endif
4354 
4355 #endif
4356 
4357 
4358 #endif  /* __IWbemConfigureRefresher_INTERFACE_DEFINED__ */
4359 
4360 #endif
4361 /* Begin additional prototypes for all interfaces */
4362 
4363 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
4364 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
4365 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
4366 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
4367 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
4368 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
4369 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
4370 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
4371 
4372 /* End additional prototypes */
4373 
4374 #ifdef __cplusplus
4375 }
4376 #endif
4377 
4378 #endif /* __wbemcli_h__ */
4379