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 19import "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] 33library WbemScripting 34{ 35 36importlib("stdole2.tlb"); 37 38interface ISWbemEventSource; 39interface ISWbemLocator; 40interface ISWbemMethod; 41interface ISWbemMethodSet; 42interface ISWbemNamedValue; 43interface ISWbemNamedValueSet; 44interface ISWbemObject; 45interface ISWbemObjectPath; 46interface ISWbemObjectSet; 47interface ISWbemPrivilege; 48interface ISWbemPrivilegeSet; 49interface ISWbemProperty; 50interface ISWbemPropertySet; 51interface ISWbemQualifier; 52interface ISWbemQualifierSet; 53interface ISWbemSecurity; 54interface ISWbemServices; 55 56typedef 57[ 58 v1_enum, 59 uuid(bf078c2a-07d9-11d2-8b21-00600806d9b6) 60] 61enum WbemTimeout 62{ 63 wbemTimeoutInfinite = 0xffffffff 64} WbemTimeout; 65 66typedef 67[ 68 v1_enum, 69 uuid(4a249b72-fc9a-11d1-8b1e-00600806d9b6) 70] 71enum 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 83typedef 84[ 85 v1_enum, 86 uuid(4a249b73-fc9a-11d1-8b1e-00600806d9b6) 87] 88enum 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 107typedef 108[ 109 v1_enum, 110 uuid(4a249b76-fc9a-11d1-8b1e-00600806d9b6) 111] 112enum WbemQueryFlagEnum 113{ 114 wbemQueryFlagDeep, 115 wbemQueryFlagShallow, 116 wbemQueryFlagPrototype 117} WbemQueryFlagEnum; 118 119typedef 120[ 121 v1_enum, 122 uuid(4A249B79-FC9A-11d1-8B1E-00600806D9B6) 123] 124enum 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] 144interface 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] 165interface 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] 193interface 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] 225interface 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] 250interface 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] 273interface 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] 317interface 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] 498interface 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] 600interface 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 626typedef 627[ 628 v1_enum, 629 uuid(176d2f70-5af3-11d2-8b4a-00600806d9b6) 630] 631enum 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] 671interface 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] 703interface 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 738typedef 739[ 740 v1_enum, 741 uuid(4a249b7b-fc9a-11d1-8b1e-00600806d9b6), 742] 743enum 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] 772interface 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] 815interface 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] 855interface 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] 911interface 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 943typedef 944[ 945 v1_enum, 946 uuid(b54d66e8-2287-11d2-8b33-00600806d9b6) 947] 948enum WbemImpersonationLevelEnum 949{ 950 wbemImpersonationLevelAnonymous = 1, 951 wbemImpersonationLevelIdentify = 2, 952 wbemImpersonationLevelImpersonate = 3, 953 wbemImpersonationLevelDelegate = 4 954} WbemImpersonationLevelEnum; 955 956typedef 957[ 958 v1_enum, 959 uuid(b54d66e7-2287-11d2-8b33-00600806d9b6) 960] 961enum 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] 981interface 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] 1013interface 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] 1194coclass SWbemLocator 1195{ 1196 interface ISWbemLocator; 1197}; 1198 1199}; /* WbemScripting */ 1200