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