[ATL] Add CHAIN_MSG_MAP macro
[reactos.git] / sdk / include / psdk / wbemdisp.idl
1 /*
2 * Copyright 2013 Hans Leidekker for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 import "dispex.idl";
20
21 #ifndef __WIDL__
22 #define threading(model)
23 #define progid(str)
24 #define vi_progid(str)
25 #endif
26
27 [
28 uuid(565783c6-cb41-11d1-8b02-00600806d9b6),
29 helpstring("Microsoft WMI Scripting V1.2 Library"),
30 lcid(0x0000),
31 version(1.2)
32 ]
33 library WbemScripting
34 {
35
36 importlib("stdole2.tlb");
37
38 interface ISWbemEventSource;
39 interface ISWbemLocator;
40 interface ISWbemMethod;
41 interface ISWbemMethodSet;
42 interface ISWbemNamedValue;
43 interface ISWbemNamedValueSet;
44 interface ISWbemObject;
45 interface ISWbemObjectPath;
46 interface ISWbemObjectSet;
47 interface ISWbemPrivilege;
48 interface ISWbemPrivilegeSet;
49 interface ISWbemProperty;
50 interface ISWbemPropertySet;
51 interface ISWbemQualifier;
52 interface ISWbemQualifierSet;
53 interface ISWbemSecurity;
54 interface ISWbemServices;
55
56 typedef
57 [
58 v1_enum,
59 uuid(bf078c2a-07d9-11d2-8b21-00600806d9b6)
60 ]
61 enum WbemTimeout
62 {
63 wbemTimeoutInfinite = 0xffffffff
64 } WbemTimeout;
65
66 typedef
67 [
68 v1_enum,
69 uuid(4a249b72-fc9a-11d1-8b1e-00600806d9b6)
70 ]
71 enum WbemChangeFlagEnum
72 {
73 wbemChangeFlagCreateOrUpdate = 0,
74 wbemChangeFlagUpdateOnly = 0x00000001,
75 wbemChangeFlagCreateOnly = 0x00000002,
76 wbemChangeFlagUpdateCompatible = 0x00000000,
77 wbemChangeFlagUpdateSafeMode = 0x00000020,
78 wbemChangeFlagUpdateForceMode = 0x00000040,
79 wbemChangeFlagStrongValidation = 0x00000080,
80 wbemChangeFlagAdvisory = 0x00010000
81 } WbemChangeFlagEnum;
82
83 typedef
84 [
85 v1_enum,
86 uuid(4a249b73-fc9a-11d1-8b1e-00600806d9b6)
87 ]
88 enum WbemFlagEnum
89 {
90 wbemFlagReturnImmediately = 0x00010,
91 wbemFlagReturnWhenComplete = 0,
92 wbemFlagBidirectional = 0,
93 wbemFlagForwardOnly = 0x00020,
94 wbemFlagNoErrorObject = 0x00040,
95 wbemFlagReturnErrorObject = 0,
96 wbemFlagSendStatus = 0x00080,
97 wbemFlagDontSendStatus = 0,
98 wbemFlagEnsureLocatable = 0x00100,
99 wbemFlagDirectRead = 0x00200,
100 wbemFlagSendOnlySelected = 0,
101 wbemFlagUseAmendedQualifiers = 0x20000,
102 wbemFlagGetDefault = 0x0,
103 wbemFlagSpawnInstance = 0x00001,
104 wbemFlagUseCurrentTime = 0x00001
105 } WbemFlagEnum;
106
107 typedef
108 [
109 v1_enum,
110 uuid(4a249b76-fc9a-11d1-8b1e-00600806d9b6)
111 ]
112 enum WbemQueryFlagEnum
113 {
114 wbemQueryFlagDeep,
115 wbemQueryFlagShallow,
116 wbemQueryFlagPrototype
117 } WbemQueryFlagEnum;
118
119 typedef
120 [
121 v1_enum,
122 uuid(4A249B79-FC9A-11d1-8B1E-00600806D9B6)
123 ]
124 enum WbemComparisonFlagEnum
125 {
126 wbemComparisonFlagIncludeAll = 0,
127 wbemComparisonFlagIgnoreQualifiers = 1,
128 wbemComparisonFlagIgnoreObjectSource = 2,
129 wbemComparisonFlagIgnoreDefaultValues = 4,
130 wbemComparisonFlagIgnoreClass = 8,
131 wbemComparisonFlagIgnoreCase = 16,
132 wbemComparisonFlagIgnoreFlavor = 32
133 } WbemComparisonFlagEnum;
134
135 [
136 object,
137 local,
138 uuid(27d54d92-0ebe-11d2-8b22-00600806d9b6),
139 dual,
140 hidden,
141 oleautomation,
142 nonextensible
143 ]
144 interface ISWbemEventSource : IDispatch
145 {
146 [ id(1) ]
147 HRESULT NextEvent(
148 [in, defaultvalue(wbemTimeoutInfinite)] long iTimeoutMs,
149 [out, retval] ISWbemObject **objWbemObject);
150
151 [ id(2), propget ]
152 HRESULT Security_(
153 [out, retval] ISWbemSecurity **objWbemSecurity);
154 };
155
156 [
157 object,
158 local,
159 uuid(76a6415b-cb41-11d1-8b02-00600806d9b6),
160 dual,
161 hidden,
162 oleautomation,
163 pointer_default(unique)
164 ]
165 interface ISWbemLocator : IDispatch
166 {
167 [ id(1) ]
168 HRESULT ConnectServer(
169 [in, defaultvalue(".")] BSTR strServer,
170 [in, defaultvalue("")] BSTR strNamespace,
171 [in, defaultvalue("")] BSTR strUser,
172 [in, defaultvalue("")] BSTR strPassword,
173 [in, defaultvalue("")] BSTR strLocale,
174 [in, defaultvalue("")] BSTR strAuthority,
175 [in, defaultvalue(0)] long iSecurityFlags,
176 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
177 [out, retval] ISWbemServices **objWbemServices);
178
179 [ id(2), propget ]
180 HRESULT Security_([out, retval] ISWbemSecurity **objWbemSecurity);
181 };
182
183 [
184 object,
185 local,
186 uuid(422e8e90-d955-11d1-8b09-00600806d9b6),
187 dual,
188 hidden,
189 oleautomation,
190 pointer_default(unique),
191 nonextensible
192 ]
193 interface ISWbemMethod : IDispatch
194 {
195 [ id(1), propget ]
196 HRESULT Name(
197 [out, retval] BSTR *strName);
198
199 [ id(2), propget ]
200 HRESULT Origin(
201 [out, retval] BSTR *strOrigin);
202
203 [ id(3), propget ]
204 HRESULT InParameters(
205 [out, retval] ISWbemObject **objWbemInParameters);
206
207 [ id(4), propget ]
208 HRESULT OutParameters(
209 [out, retval] ISWbemObject **objWbemOutParameters);
210
211 [ id(5), propget ]
212 HRESULT Qualifiers_(
213 [out, retval] ISWbemQualifierSet **objWbemQualifierSet);
214 };
215
216 [
217 object,
218 local,
219 uuid(c93ba292-d955-11d1-8b09-00600806d9b6),
220 dual,
221 hidden,
222 oleautomation,
223 nonextensible
224 ]
225 interface ISWbemMethodSet : IDispatch
226 {
227 [ id(DISPID_NEWENUM), propget, restricted ]
228 HRESULT _NewEnum(
229 [out, retval] IUnknown **pUnk);
230
231 [ id(DISPID_VALUE) ]
232 HRESULT Item(
233 [in] BSTR strName,
234 [in, defaultvalue(0)] long iFlags,
235 [out, retval] ISWbemMethod **objWbemMethod);
236
237 [ id(1), propget ]
238 HRESULT Count(
239 [out, retval] long *iCount);
240 };
241
242 [
243 object,
244 local,
245 uuid(76a64164-cb41-11d1-8b02-00600806d9b6),
246 dual,
247 hidden,
248 oleautomation
249 ]
250 interface ISWbemNamedValue : IDispatch
251 {
252 [ id(DISPID_VALUE), propget ]
253 HRESULT Value(
254 [out, retval] VARIANT *varValue);
255
256 [ id(DISPID_VALUE), propput ]
257 HRESULT Value(
258 [in] VARIANT *varValue);
259
260 [ id(2), propget ]
261 HRESULT Name(
262 [out, retval] BSTR *strName);
263 };
264
265 [
266 object,
267 local,
268 uuid(cf2376ea-ce8c-11d1-8b05-00600806d9b6),
269 dual,
270 hidden,
271 oleautomation
272 ]
273 interface ISWbemNamedValueSet : IDispatch
274 {
275 [ id(DISPID_NEWENUM), propget, restricted ]
276 HRESULT _NewEnum(
277 [out, retval] IUnknown **pUnk);
278
279 [ id(DISPID_VALUE) ]
280 HRESULT Item(
281 [in] BSTR strName,
282 [in, defaultvalue(0)] long iFlags,
283 [out, retval] ISWbemNamedValue **objWbemNamedValue);
284
285 [ id(1), propget ]
286 HRESULT Count(
287 [out, retval] long *iCount);
288
289 [ id(2) ]
290 HRESULT Add(
291 [in] BSTR strName,
292 [in] VARIANT *varValue,
293 [in, defaultvalue(0)] long iFlags,
294 [out, retval] ISWbemNamedValue **objWbemNamedValue);
295
296 [ id(3) ]
297 HRESULT Remove(
298 [in] BSTR strName,
299 [in, defaultvalue(0)] long iFlags);
300
301 [ id(4) ]
302 HRESULT Clone(
303 [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet);
304
305 [ id(5) ]
306 HRESULT DeleteAll();
307 };
308
309 [
310 object,
311 local,
312 uuid(76A6415A-CB41-11d1-8B02-00600806D9B6),
313 dual,
314 hidden,
315 oleautomation
316 ]
317 interface ISWbemObject : IDispatch
318 {
319 [ id(1) ]
320 HRESULT Put_(
321 [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
322 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
323 [out, retval] ISWbemObjectPath **objWbemObjectPath);
324
325 [ id(2) ]
326 HRESULT PutAsync_(
327 [in] IDispatch *objWbemSink,
328 [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
329 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
330 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
331
332 [ id (3) ]
333 HRESULT Delete_(
334 [in, defaultvalue(0)] long iFlags,
335 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet);
336
337 [ id (4) ]
338 HRESULT DeleteAsync_(
339 [in] IDispatch *objWbemSink,
340 [in, defaultvalue(0)] long iFlags,
341 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
342 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
343
344 [ id(5) ]
345 HRESULT Instances_(
346 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
347 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
348 [out, retval] ISWbemObjectSet **objWbemObjectSet);
349
350 [ id(6) ]
351 HRESULT InstancesAsync_(
352 [in] IDispatch *objWbemSink,
353 [in, defaultvalue(0)] long iFlags,
354 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
355 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
356
357 [ id(7) ]
358 HRESULT Subclasses_(
359 [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags,
360 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
361 [out, retval] ISWbemObjectSet **objWbemObjectSet);
362
363 [ id(8) ]
364 HRESULT SubclassesAsync_(
365 [in] IDispatch *objWbemSink,
366 [in, defaultvalue(wbemQueryFlagDeep)] long iFlags,
367 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
368 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
369
370 [ id(9) ]
371 HRESULT Associators_(
372 [in, defaultvalue("")] BSTR strAssocClass,
373 [in, defaultvalue("")] BSTR strResultClass,
374 [in, defaultvalue("")] BSTR strResultRole,
375 [in, defaultvalue("")] BSTR strRole,
376 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
377 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
378 [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
379 [in, defaultvalue("")] BSTR strRequiredQualifier,
380 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
381 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
382 [out, retval] ISWbemObjectSet **objWbemObjectSet);
383
384 [ id(10) ]
385 HRESULT AssociatorsAsync_(
386 [in] IDispatch *objWbemSink,
387 [in, defaultvalue("")] BSTR strAssocClass,
388 [in, defaultvalue("")] BSTR strResultClass,
389 [in, defaultvalue("")] BSTR strResultRole,
390 [in, defaultvalue("")] BSTR strRole,
391 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
392 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
393 [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
394 [in, defaultvalue("")] BSTR strRequiredQualifier,
395 [in, defaultvalue(0)] long iFlags,
396 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
397 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
398
399 [ id(11) ]
400 HRESULT References_(
401 [in, defaultvalue("")] BSTR strResultClass,
402 [in, defaultvalue("")] BSTR strRole,
403 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
404 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
405 [in, defaultvalue("")] BSTR strRequiredQualifier,
406 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
407 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
408 [out, retval] ISWbemObjectSet **objWbemObjectSet);
409
410 [ id(12) ]
411 HRESULT ReferencesAsync_(
412 [in] IDispatch *objWbemSink,
413 [in, defaultvalue("")] BSTR strResultClass,
414 [in, defaultvalue("")] BSTR strRole,
415 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
416 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
417 [in, defaultvalue("")] BSTR strRequiredQualifier,
418 [in, defaultvalue(0)] long iFlags,
419 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
420 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
421
422 [ id(13) ]
423 HRESULT ExecMethod_(
424 [in] BSTR strMethodName,
425 [in, defaultvalue(0)] IDispatch *objWbemInParameters,
426 [in, defaultvalue(0)] long iFlags,
427 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
428 [out, retval] ISWbemObject **objWbemOutParameters);
429
430 [ id(14) ]
431 HRESULT ExecMethodAsync_(
432 [in] IDispatch *objWbemSink,
433 [in] BSTR strMethodName,
434 [in, defaultvalue(0)] IDispatch *objWbemInParameters,
435 [in, defaultvalue(0)] long iFlags,
436 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
437 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
438
439 [ id(15) ]
440 HRESULT Clone_(
441 [out, retval] ISWbemObject **objWbemObject);
442
443 [ id(16) ]
444 HRESULT GetObjectText_(
445 [in, defaultvalue(0)] long iFlags,
446 [out, retval] BSTR *strObjectText);
447
448 [ id(17) ]
449 HRESULT SpawnDerivedClass_(
450 [in, defaultvalue(0)] long iFlags,
451 [out, retval] ISWbemObject **objWbemObject);
452
453 [ id(18) ]
454 HRESULT SpawnInstance_(
455 [in, defaultvalue(0)] long iFlags,
456 [out, retval] ISWbemObject **objWbemObject);
457
458 [ id(19) ]
459 HRESULT CompareTo_(
460 [in] IDispatch *objWbemObject,
461 [in, defaultvalue(wbemComparisonFlagIncludeAll)] long iFlags,
462 [out, retval] VARIANT_BOOL *bResult);
463
464 [ id(20), propget ]
465 HRESULT Qualifiers_(
466 [out, retval] ISWbemQualifierSet **objWbemQualifierSet);
467
468 [ id(21), propget ]
469 HRESULT Properties_(
470 [out, retval] ISWbemPropertySet **objWbemPropertySet);
471
472 [ id(22), propget ]
473 HRESULT Methods_(
474 [out, retval] ISWbemMethodSet **objWbemMethodSet);
475
476 [ id(23), propget ]
477 HRESULT Derivation_(
478 [out, retval] VARIANT *strClassNameArray);
479
480 [ id(24), propget ]
481 HRESULT Path_(
482 [out, retval] ISWbemObjectPath **objWbemObjectPath);
483
484 [ id(25), propget ]
485 HRESULT Security_(
486 [out, retval] ISWbemSecurity **objWbemSecurity);
487 };
488
489 [
490 object,
491 local,
492 uuid(5791bc27-ce9c-11d1-97bf-0000f81e849c),
493 dual,
494 hidden,
495 oleautomation,
496 pointer_default(unique)
497 ]
498 interface ISWbemObjectPath : IDispatch
499 {
500 [ id(DISPID_VALUE), propget ]
501 HRESULT Path(
502 [out, retval] BSTR *strPath);
503
504 [ id(DISPID_VALUE), propput ]
505 HRESULT Path(
506 [in] BSTR strPath);
507
508 [ id(1), propget ]
509 HRESULT RelPath(
510 [out, retval] BSTR *strRelPath);
511
512 [ id(1), propput ]
513 HRESULT RelPath(
514 [in] BSTR strRelPath);
515
516 [ id(2), propget ]
517 HRESULT Server(
518 [out, retval] BSTR *strServer);
519
520 [ id(2), propput ]
521 HRESULT Server(
522 [in] BSTR strServer);
523
524 [ id(3), propget ]
525 HRESULT Namespace(
526 [out, retval] BSTR *strNamespace);
527
528 [ id(3), propput ]
529 HRESULT Namespace(
530 [in] BSTR strNamespace);
531
532 [ id(4), propget ]
533 HRESULT ParentNamespace(
534 [out, retval] BSTR *strParentNamespace);
535
536 [ id(5), propget ]
537 HRESULT DisplayName(
538 [out, retval] BSTR *strDisplayName);
539
540 [ id(5), propput ]
541 HRESULT DisplayName(
542 [in] BSTR strDisplayName);
543
544 [ id(6), propget ]
545 HRESULT Class(
546 [out, retval] BSTR *strClass);
547
548 [ id(6), propput ]
549 HRESULT Class(
550 [in] BSTR strClass);
551
552 [ id(7), propget ]
553 HRESULT IsClass(
554 [out, retval] VARIANT_BOOL *bIsClass);
555
556 [ id(8) ]
557 HRESULT SetAsClass();
558
559 [ id(9), propget ]
560 HRESULT IsSingleton(
561 [out, retval] VARIANT_BOOL *bIsSingleton);
562
563 [ id(10) ]
564 HRESULT SetAsSingleton();
565
566 [ id(11), propget ]
567 HRESULT Keys(
568 [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet);
569
570 [ id(12), propget ]
571 HRESULT Security_(
572 [out, retval] ISWbemSecurity **objWbemSecurity);
573
574 [ id(13), propget ]
575 HRESULT Locale(
576 [out, retval] BSTR *strLocale);
577
578 [ id(13), propput ]
579 HRESULT Locale(
580 [in] BSTR strLocale);
581
582 [ id(14), propget ]
583 HRESULT Authority(
584 [out, retval] BSTR *strAuthority);
585
586 [ id(14), propput ]
587 HRESULT Authority(
588 [in] BSTR strAuthority);
589 };
590
591 [
592 object,
593 local,
594 uuid(76a6415f-cb41-11d1-8b02-00600806d9b6),
595 dual,
596 hidden,
597 oleautomation,
598 nonextensible
599 ]
600 interface ISWbemObjectSet : IDispatch
601 {
602 [ id(DISPID_NEWENUM), propget, restricted ]
603 HRESULT _NewEnum(
604 [out, retval] IUnknown **pUnk);
605
606 [ id(DISPID_VALUE) ]
607 HRESULT Item(
608 [in] BSTR strObjectPath,
609 [in, defaultvalue(0)] long iFlags,
610 [out, retval] ISWbemObject **objWbemObject);
611
612 [ id(1), propget ]
613 HRESULT Count(
614 [out, retval] long *iCount);
615
616 [ id(4), propget ]
617 HRESULT Security_(
618 [out, retval] ISWbemSecurity **objWbemSecurity);
619
620 [ id(5) ]
621 HRESULT ItemIndex(
622 [in] long lIndex,
623 [out, retval] ISWbemObject **objWbemObject);
624 };
625
626 typedef
627 [
628 v1_enum,
629 uuid(176d2f70-5af3-11d2-8b4a-00600806d9b6)
630 ]
631 enum WbemPrivilegeEnum
632 {
633 wbemPrivilegeCreateToken = 1,
634 wbemPrivilegePrimaryToken = 2,
635 wbemPrivilegeLockMemory = 3,
636 wbemPrivilegeIncreaseQuota = 4,
637 wbemPrivilegeMachineAccount = 5,
638 wbemPrivilegeTcb = 6,
639 wbemPrivilegeSecurity = 7,
640 wbemPrivilegeTakeOwnership = 8,
641 wbemPrivilegeLoadDriver = 9,
642 wbemPrivilegeSystemProfile = 10,
643 wbemPrivilegeSystemtime = 11,
644 wbemPrivilegeProfileSingleProcess = 12,
645 wbemPrivilegeIncreaseBasePriority = 13,
646 wbemPrivilegeCreatePagefile = 14,
647 wbemPrivilegeCreatePermanent = 15,
648 wbemPrivilegeBackup = 16,
649 wbemPrivilegeRestore = 17,
650 wbemPrivilegeShutdown = 18,
651 wbemPrivilegeDebug = 19,
652 wbemPrivilegeAudit = 20,
653 wbemPrivilegeSystemEnvironment = 21,
654 wbemPrivilegeChangeNotify = 22,
655 wbemPrivilegeRemoteShutdown = 23,
656 wbemPrivilegeUndock = 24,
657 wbemPrivilegeSyncAgent = 25,
658 wbemPrivilegeEnableDelegation = 26,
659 wbemPrivilegeManageVolume = 27
660 } WbemPrivilegeEnum;
661
662 [
663 object,
664 local,
665 uuid(26ee67bd-5804-11d2-8b4a-00600806d9b6),
666 dual,
667 hidden,
668 oleautomation,
669 nonextensible
670 ]
671 interface ISWbemPrivilege : IDispatch
672 {
673 [ id(DISPID_VALUE), propget ]
674 HRESULT IsEnabled(
675 [out, retval] VARIANT_BOOL *bIsEnabled);
676
677 [ id(DISPID_VALUE), propput ]
678 HRESULT IsEnabled(
679 [in] VARIANT_BOOL bIsEnabled);
680
681 [ id(1), propget ]
682 HRESULT Name(
683 [out, retval] BSTR *strDisplayName);
684
685 [ id(2), propget ]
686 HRESULT DisplayName(
687 [out, retval] BSTR *strDisplayName);
688
689 [ id(3), propget ]
690 HRESULT Identifier(
691 [out, retval] WbemPrivilegeEnum *iPrivilege);
692 };
693
694 [
695 object,
696 local,
697 uuid(26ee67bf-5804-11d2-8b4a-00600806d9b6),
698 dual,
699 hidden,
700 oleautomation,
701 nonextensible
702 ]
703 interface ISWbemPrivilegeSet : IDispatch
704 {
705 [ id(DISPID_NEWENUM), propget, restricted ]
706 HRESULT _NewEnum(
707 [out, retval] IUnknown **pUnk);
708
709 [ id(DISPID_VALUE) ]
710 HRESULT Item(
711 [in] WbemPrivilegeEnum iPrivilege,
712 [out, retval] ISWbemPrivilege **objWbemPrivilege);
713
714 [ id(1), propget ]
715 HRESULT Count(
716 [out, retval] long *iCount);
717
718 [ id(2) ]
719 HRESULT Add(
720 [in] WbemPrivilegeEnum iPrivilege,
721 [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled,
722 [out, retval] ISWbemPrivilege **objWbemPrivilege);
723
724 [ id(3) ]
725 HRESULT Remove(
726 [in] WbemPrivilegeEnum iPrivilege);
727
728 [ id(4) ]
729 HRESULT DeleteAll();
730
731 [ id(5) ]
732 HRESULT AddAsString(
733 [in] BSTR strPrivilege,
734 [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled,
735 [out, retval] ISWbemPrivilege **objWbemPrivilege);
736 };
737
738 typedef
739 [
740 v1_enum,
741 uuid(4a249b7b-fc9a-11d1-8b1e-00600806d9b6),
742 ]
743 enum WbemCimtypeEnum
744 {
745 wbemCimtypeSint16 = 2,
746 wbemCimtypeSint32 = 3,
747 wbemCimtypeReal32 = 4,
748 wbemCimtypeReal64 = 5,
749 wbemCimtypeString = 8,
750 wbemCimtypeBoolean = 11,
751 wbemCimtypeObject = 13,
752 wbemCimtypeSint8 = 16,
753 wbemCimtypeUint8 = 17,
754 wbemCimtypeUint16 = 18,
755 wbemCimtypeUint32 = 19,
756 wbemCimtypeSint64 = 20,
757 wbemCimtypeUint64 = 21,
758 wbemCimtypeDatetime = 101,
759 wbemCimtypeReference = 102,
760 wbemCimtypeChar16 = 103
761 } WbemCimtypeEnum;
762
763 [
764 object,
765 local,
766 uuid(1a388f98-d4ba-11d1-8b09-00600806d9b6),
767 dual,
768 hidden,
769 oleautomation,
770 pointer_default(unique)
771 ]
772 interface ISWbemProperty : IDispatch
773 {
774 [ id(DISPID_VALUE), propget ]
775 HRESULT Value(
776 [out, retval] VARIANT *varValue);
777
778 [ id(DISPID_VALUE), propput ]
779 HRESULT Value(
780 [in] VARIANT *varValue);
781
782 [ id(1), propget ]
783 HRESULT Name(
784 [out, retval] BSTR *strName);
785
786 [ id(2), propget ]
787 HRESULT IsLocal(
788 [out, retval] VARIANT_BOOL *bIsLocal);
789
790 [ id(3), propget ]
791 HRESULT Origin(
792 [out, retval] BSTR *strOrigin);
793
794 [ id(4), propget ]
795 HRESULT CIMType(
796 [out, retval] WbemCimtypeEnum *iCimType);
797
798 [ id(5), propget ]
799 HRESULT Qualifiers_(
800 [out, retval] ISWbemQualifierSet **objWbemQualifierSet);
801
802 [ id(6), propget ]
803 HRESULT IsArray(
804 [out, retval] VARIANT_BOOL *bIsArray);
805 };
806
807 [
808 object,
809 local,
810 uuid(dea0a7b2-d4ba-11d1-8b09-00600806d9b6),
811 dual,
812 hidden,
813 oleautomation
814 ]
815 interface ISWbemPropertySet : IDispatch
816 {
817 [ id(DISPID_NEWENUM), propget, restricted ]
818 HRESULT _NewEnum(
819 [out, retval] IUnknown **pUnk);
820
821 [ id(DISPID_VALUE) ]
822 HRESULT Item(
823 [in] BSTR strName,
824 [in, defaultvalue(0)] long iFlags,
825 [out, retval] ISWbemProperty **objWbemProperty);
826
827 [ id(1), propget ]
828 HRESULT Count(
829 [out, retval] long *iCount);
830
831 [ id(2) ]
832 HRESULT Add(
833 [in] BSTR strName,
834 [in] WbemCimtypeEnum iCIMType,
835 [in, defaultvalue(FALSE)] VARIANT_BOOL bIsArray,
836 [in, defaultvalue(0)] long iFlags,
837 [out, retval] ISWbemProperty **objWbemProperty);
838
839 [ id(3) ]
840 HRESULT Remove(
841 [in] BSTR strName,
842 [in, defaultvalue(0)] long iFlags);
843 };
844
845 [
846 object,
847 local,
848 uuid(79b05932-d3b7-11d1-8b06-00600806d9b6),
849 dual,
850 hidden,
851 oleautomation,
852 nonextensible,
853 pointer_default(unique)
854 ]
855 interface ISWbemQualifier : IDispatch
856 {
857 [ id(DISPID_VALUE), propget ]
858 HRESULT Value(
859 [out, retval] VARIANT *varValue);
860
861 [ id(DISPID_VALUE), propput ]
862 HRESULT Value(
863 [in] VARIANT *varValue);
864
865 [ id(1), propget ]
866 HRESULT Name(
867 [out, retval] BSTR *strName);
868
869 [ id(2), propget ]
870 HRESULT IsLocal(
871 [out, retval] VARIANT_BOOL *bIsLocal);
872
873 [ id(3), propget ]
874 HRESULT PropagatesToSubclass(
875 [out, retval] VARIANT_BOOL *bPropagatesToSubclass);
876
877 [ id(3), propput ]
878 HRESULT PropagatesToSubclass(
879 [in] VARIANT_BOOL bPropagatesToSubclass);
880
881 [ id(4), propget ]
882 HRESULT PropagatesToInstance(
883 [out, retval] VARIANT_BOOL *bPropagatesToInstance);
884
885 [ id(4), propput ]
886 HRESULT PropagatesToInstance(
887 [in] VARIANT_BOOL bPropagatesToInstance);
888
889 [ id(5), propget ]
890 HRESULT IsOverridable(
891 [out, retval] VARIANT_BOOL *bIsOverridable);
892
893 [ id(5), propput ]
894 HRESULT IsOverridable(
895 [in] VARIANT_BOOL bIsOverridable);
896
897 [ id(6), propget ]
898 HRESULT IsAmended(
899 [out, retval] VARIANT_BOOL *bIsAmended);
900 };
901
902 [
903 object,
904 local,
905 uuid(9b16ed16-d3df-11d1-8b08-00600806d9b6),
906 dual,
907 hidden,
908 oleautomation,
909 nonextensible
910 ]
911 interface ISWbemQualifierSet : IDispatch
912 {
913 [ id(DISPID_NEWENUM), propget, restricted ]
914 HRESULT _NewEnum(
915 [out, retval] IUnknown **pUnk);
916
917 [ id(DISPID_VALUE) ]
918 HRESULT Item(
919 [in] BSTR name,
920 [in, defaultvalue(0)] long iFlags,
921 [out, retval] ISWbemQualifier **objWbemQualifier);
922
923 [ id(1), propget ]
924 HRESULT Count(
925 [out, retval] long *iCount);
926
927 [ id(2) ]
928 HRESULT Add(
929 [in] BSTR strName,
930 [in] VARIANT *varVal,
931 [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToSubclass,
932 [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToInstance,
933 [in, defaultvalue(TRUE)] VARIANT_BOOL bIsOverridable,
934 [in, defaultvalue(0)] long iFlags,
935 [out, retval] ISWbemQualifier **objWbemQualifier);
936
937 [ id(3) ]
938 HRESULT Remove(
939 [in] BSTR strName,
940 [in, defaultvalue(0)] long iFlags);
941 };
942
943 typedef
944 [
945 v1_enum,
946 uuid(b54d66e8-2287-11d2-8b33-00600806d9b6)
947 ]
948 enum WbemImpersonationLevelEnum
949 {
950 wbemImpersonationLevelAnonymous = 1,
951 wbemImpersonationLevelIdentify = 2,
952 wbemImpersonationLevelImpersonate = 3,
953 wbemImpersonationLevelDelegate = 4
954 } WbemImpersonationLevelEnum;
955
956 typedef
957 [
958 v1_enum,
959 uuid(b54d66e7-2287-11d2-8b33-00600806d9b6)
960 ]
961 enum WbemAuthenticationLevelEnum
962 {
963 wbemAuthenticationLevelDefault = 0,
964 wbemAuthenticationLevelNone = 1,
965 wbemAuthenticationLevelConnect = 2,
966 wbemAuthenticationLevelCall = 3,
967 wbemAuthenticationLevelPkt = 4,
968 wbemAuthenticationLevelPktIntegrity = 5,
969 wbemAuthenticationLevelPktPrivacy = 6
970 } WbemAuthenticationLevelEnum;
971
972 [
973 object,
974 local,
975 uuid(b54d66e6-2287-11d2-8b33-00600806d9b6),
976 dual,
977 hidden,
978 oleautomation,
979 nonextensible
980 ]
981 interface ISWbemSecurity : IDispatch
982 {
983 [ id(1), propget ]
984 HRESULT ImpersonationLevel(
985 [out, retval] WbemImpersonationLevelEnum *iImpersonationLevel);
986
987 [ id(1), propput ]
988 HRESULT ImpersonationLevel(
989 [in] WbemImpersonationLevelEnum iImpersonationLevel);
990
991 [ id(2), propget ]
992 HRESULT AuthenticationLevel(
993 [out, retval] WbemAuthenticationLevelEnum *iAuthenticationLevel);
994
995 [ id(2), propput ]
996 HRESULT AuthenticationLevel(
997 [in] WbemAuthenticationLevelEnum iAuthenticationLevel);
998
999 [ id(3), propget ]
1000 HRESULT Privileges(
1001 [out, retval] ISWbemPrivilegeSet **objWbemPrivilegeSet);
1002 };
1003
1004 [
1005 object,
1006 local,
1007 uuid(76a6415c-cb41-11d1-8b02-00600806d9b6),
1008 dual,
1009 hidden,
1010 oleautomation,
1011 pointer_default(unique)
1012 ]
1013 interface ISWbemServices : IDispatch
1014 {
1015 [ id(1) ]
1016 HRESULT Get(
1017 [in, defaultvalue("")] BSTR strObjectPath,
1018 [in, defaultvalue(0)] long iFlags,
1019 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1020 [out, retval] ISWbemObject **objWbemObject);
1021
1022 [ id(2) ]
1023 HRESULT GetAsync(
1024 [in] IDispatch *objWbemSink,
1025 [in, defaultvalue("")] BSTR strObjectPath,
1026 [in, defaultvalue(0)] long iFlags,
1027 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1028 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1029
1030 [ id(3) ]
1031 HRESULT Delete(
1032 [in] BSTR strObjectPath,
1033 [in, defaultvalue(0)] long iFlags,
1034 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet);
1035
1036 [ id(4) ]
1037 HRESULT DeleteAsync(
1038 [in] IDispatch *objWbemSink,
1039 [in] BSTR strObjectPath,
1040 [in, defaultvalue(0)] long iFlags,
1041 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1042 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1043
1044 [ id(5) ]
1045 HRESULT InstancesOf(
1046 [in] BSTR strClass,
1047 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
1048 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1049 [out, retval] ISWbemObjectSet **objWbemObjectSet);
1050
1051 [ id(6) ]
1052 HRESULT InstancesOfAsync(
1053 [in] IDispatch *objWbemSink,
1054 [in] BSTR strClass,
1055 [in, defaultvalue(0)] long iFlags,
1056 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1057 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1058
1059 [ id(7) ]
1060 HRESULT SubclassesOf(
1061 [in, defaultvalue("")] BSTR strSuperclass,
1062 [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags,
1063 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1064 [out, retval] ISWbemObjectSet **objWbemObjectSet);
1065
1066 [ id(8) ]
1067 HRESULT SubclassesOfAsync(
1068 [in] IDispatch *objWbemSink,
1069 [in, defaultvalue("")] BSTR strSuperclass,
1070 [in, defaultvalue(wbemQueryFlagDeep)] long iFlags,
1071 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1072 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1073
1074 [ id(9) ]
1075 HRESULT ExecQuery(
1076 [in] BSTR strQuery,
1077 [in, defaultvalue("WQL")] BSTR strQueryLanguage,
1078 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
1079 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1080 [out, retval] ISWbemObjectSet **objWbemObjectSet);
1081
1082 [ id(10) ]
1083 HRESULT ExecQueryAsync(
1084 [in] IDispatch *objWbemSink,
1085 [in] BSTR strQuery,
1086 [in, defaultvalue("WQL")] BSTR strQueryLanguage,
1087 [in, defaultvalue(0)] long lFlags,
1088 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1089 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1090
1091 [ id(11) ]
1092 HRESULT AssociatorsOf(
1093 [in] BSTR strObjectPath,
1094 [in, defaultvalue("")] BSTR strAssocClass,
1095 [in, defaultvalue("")] BSTR strResultClass,
1096 [in, defaultvalue("")] BSTR strResultRole,
1097 [in, defaultvalue("")] BSTR strRole,
1098 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
1099 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
1100 [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
1101 [in, defaultvalue("")] BSTR strRequiredQualifier,
1102 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
1103 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1104 [out, retval] ISWbemObjectSet **objWbemObjectSet);
1105
1106 [ id(12) ]
1107 HRESULT AssociatorsOfAsync(
1108 [in] IDispatch *objWbemSink,
1109 [in] BSTR strObjectPath,
1110 [in, defaultvalue("")] BSTR strAssocClass,
1111 [in, defaultvalue("")] BSTR strResultClass,
1112 [in, defaultvalue("")] BSTR strResultRole,
1113 [in, defaultvalue("")] BSTR strRole,
1114 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
1115 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
1116 [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
1117 [in, defaultvalue("")] BSTR strRequiredQualifier,
1118 [in, defaultvalue(0)] long iFlags,
1119 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1120 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1121
1122 [ id(13) ]
1123 HRESULT ReferencesTo(
1124 [in] BSTR strObjectPath,
1125 [in, defaultvalue("")] BSTR strResultClass,
1126 [in, defaultvalue("")] BSTR strRole,
1127 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
1128 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
1129 [in, defaultvalue("")] BSTR strRequiredQualifier,
1130 [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
1131 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1132 [out, retval] ISWbemObjectSet **objWbemObjectSet);
1133
1134 [ id(14) ]
1135 HRESULT ReferencesToAsync(
1136 [in] IDispatch *objWbemSink,
1137 [in] BSTR strObjectPath,
1138 [in, defaultvalue("")] BSTR strResultClass,
1139 [in, defaultvalue("")] BSTR strRole,
1140 [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
1141 [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
1142 [in, defaultvalue("")] BSTR strRequiredQualifier,
1143 [in, defaultvalue(0)] long iFlags,
1144 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1145 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1146
1147 [ id(15) ]
1148 HRESULT ExecNotificationQuery(
1149 [in] BSTR strQuery,
1150 [in, defaultvalue("WQL")] BSTR strQueryLanguage,
1151 [in, defaultvalue(wbemFlagReturnImmediately|wbemFlagForwardOnly)] long iFlags,
1152 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1153 [out, retval] ISWbemEventSource **objWbemEventSource);
1154
1155 [ id(16) ]
1156 HRESULT ExecNotificationQueryAsync(
1157 [in] IDispatch *objWbemSink,
1158 [in] BSTR strQuery,
1159 [in, defaultvalue("WQL")] BSTR strQueryLanguage,
1160 [in, defaultvalue(0)] long iFlags,
1161 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1162 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1163
1164 [ id(17) ]
1165 HRESULT ExecMethod(
1166 [in] BSTR strObjectPath,
1167 [in] BSTR strMethodName,
1168 [in, defaultvalue(0)] IDispatch *objWbemInParameters,
1169 [in, defaultvalue(0)] long iFlags,
1170 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1171 [out, retval] ISWbemObject **objWbemOutParameters);
1172
1173 [ id(18) ]
1174 HRESULT ExecMethodAsync(
1175 [in] IDispatch *objWbemSink,
1176 [in] BSTR strObjectPath,
1177 [in] BSTR strMethodName,
1178 [in, defaultvalue(0)] IDispatch *objWbemInParameters,
1179 [in, defaultvalue(0)] long iFlags,
1180 [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet,
1181 [in, defaultvalue(0)] IDispatch *objWbemAsyncContext);
1182
1183 [ id(19), propget ]
1184 HRESULT Security_(
1185 [out, retval] ISWbemSecurity **objWbemSecurity);
1186 };
1187
1188 [
1189 threading(apartment),
1190 uuid(76a64158-cb41-11d1-8b02-00600806d9b6),
1191 progid("WbemScripting.SWbemLocator.1"),
1192 vi_progid("WbemScripting.SWbemLocator")
1193 ]
1194 coclass SWbemLocator
1195 {
1196 interface ISWbemLocator;
1197 };
1198
1199 }; /* WbemScripting */