WbemDisp.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:67k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //***************************************************************************
  2. //
  3. //  Copyright (c) 1998-2001 Microsoft Corporation
  4. //
  5. //  WBEMDISP.IDL
  6. //
  7. //  WBEM IDispatch Compatible Access for Automation
  8. //
  9. //***************************************************************************
  10. import "dispex.idl";
  11. [
  12. uuid(565783C6-CB41-11d1-8B02-00600806D9B6),
  13. lcid(0x00),
  14. version(1.2),
  15. helpstring("Microsoft WMI Scripting V1.2 Library")
  16. ]
  17. library WbemScripting
  18. {
  19.     importlib("stdole2.tlb");
  20.     interface ISWbemServices;
  21. interface ISWbemLocator;
  22.     interface ISWbemObject;
  23. interface ISWbemObjectSet;
  24. interface ISWbemNamedValue;
  25.     interface ISWbemNamedValueSet;
  26. interface ISWbemQualifier;
  27. interface ISWbemQualifierSet;
  28. interface ISWbemProperty;
  29. interface ISWbemPropertySet;
  30. interface ISWbemMethod;
  31. interface ISWbemMethodSet;
  32. interface ISWbemEventSource;
  33. interface ISWbemObjectPath;
  34. interface ISWbemLastError;
  35. interface ISWbemSinkEvents;
  36. interface ISWbemSink;
  37. interface ISWbemSecurity;
  38. interface ISWbemPrivilege;
  39. interface ISWbemPrivilegeSet;
  40. interface ISWbemServicesEx;
  41. interface ISWbemObjectEx;
  42. interface ISWbemDateTime;
  43. interface ISWbemRefresher;
  44. interface ISWbemRefreshableItem;
  45.     
  46. // These are used by ISWbemObject.Put_
  47.     typedef 
  48. [
  49. v1_enum, 
  50. uuid(4A249B72-FC9A-11d1-8B1E-00600806D9B6),
  51. helpstring("Defines semantics of putting a Class or Instance")
  52. enum WbemChangeFlagEnum
  53.     {
  54.         wbemChangeFlagCreateOrUpdate = 0x0,
  55. wbemChangeFlagUpdateOnly = 0x1,
  56.         wbemChangeFlagCreateOnly = 0x2,
  57. wbemChangeFlagUpdateCompatible = 0x0,
  58. wbemChangeFlagUpdateSafeMode = 0x20,
  59. wbemChangeFlagUpdateForceMode = 0x40,
  60. wbemChangeFlagStrongValidation = 0x80,
  61. wbemChangeFlagAdvisory = 0x000010000
  62.     } WbemChangeFlagEnum;
  63. // These are used by ExecQuery, SubclassesOf, InstancesOf, etc.
  64.     typedef 
  65. [
  66. v1_enum,
  67. uuid(4A249B73-FC9A-11d1-8B1E-00600806D9B6),
  68. helpstring("Defines behavior of various interface calls"),
  69. enum WbemFlagEnum
  70.     {
  71.         wbemFlagReturnImmediately = 0x10,
  72.         wbemFlagReturnWhenComplete = 0,
  73.         wbemFlagBidirectional = 0,
  74.         wbemFlagForwardOnly = 0x20,
  75.         wbemFlagNoErrorObject = 0x40,
  76.         wbemFlagReturnErrorObject = 0,
  77.         wbemFlagSendStatus = 0x80,
  78.         wbemFlagDontSendStatus = 0,
  79. wbemFlagEnsureLocatable = 0x100,
  80.         wbemFlagDirectRead = 0x200,
  81. wbemFlagSendOnlySelected = 0,
  82. wbemFlagUseAmendedQualifiers = 0x20000,
  83. wbemFlagGetDefault = 0x0,
  84. wbemFlagSpawnInstance = 0x1,
  85. wbemFlagUseCurrentTime = 0x1
  86.     } WbemFlagEnum;
  87. // These are used by ISWbemServices::ExecQuery, SubclassesOf
  88. // and InstancesOf
  89.     typedef 
  90. [
  91. v1_enum,
  92. uuid(4A249B76-FC9A-11d1-8B1E-00600806D9B6),
  93. helpstring("Defines depth of enumeration or query")
  94. enum WbemQueryFlagEnum
  95.     {
  96.         wbemQueryFlagDeep = 0,
  97.         wbemQueryFlagShallow = 1,
  98. wbemQueryFlagPrototype = 2 
  99.     } WbemQueryFlagEnum;
  100. // Following is used by ISWbemObject::GetObjectText_
  101.     typedef 
  102. [
  103. v1_enum,
  104. uuid(4A249B78-FC9A-11d1-8B1E-00600806D9B6),
  105. helpstring("Defines content of generated object text")
  106. enum WbemTextFlagEnum
  107.     {
  108.         wbemTextFlagNoFlavors = 0x1
  109.     } WbemTextFlagEnum;
  110. // Following is used by ISWbemServices::ExecNotificationQuery
  111.     typedef 
  112. [
  113. v1_enum,
  114. uuid(BF078C2A-07D9-11d2-8B21-00600806D9B6),
  115. helpstring("Defines timeout constants")
  116. enum WbemTimeout
  117.     {
  118.         wbemTimeoutInfinite = 0xFFFFFFFF
  119.     } WbemTimeout;
  120. // Following is used by ISWbemObject::CompareTo_
  121.     typedef 
  122. [
  123. v1_enum,
  124. uuid(4A249B79-FC9A-11d1-8B1E-00600806D9B6),
  125. helpstring("Defines settings for object comparison")
  126. enum WbemComparisonFlagEnum
  127.     {
  128.         wbemComparisonFlagIncludeAll = 0,
  129.         wbemComparisonFlagIgnoreQualifiers = 0x1,
  130.         wbemComparisonFlagIgnoreObjectSource = 0x2,
  131.         wbemComparisonFlagIgnoreDefaultValues = 0x4,
  132.         wbemComparisonFlagIgnoreClass = 0x8,
  133.         wbemComparisonFlagIgnoreCase = 0x10,
  134.         wbemComparisonFlagIgnoreFlavor = 0x20
  135.     } WbemComparisonFlagEnum;
  136. typedef 
  137. [
  138. v1_enum,
  139. uuid(4A249B7B-FC9A-11d1-8B1E-00600806D9B6),
  140. helpstring("Defines the valid CIM Types of a Property value")
  141. enum WbemCimtypeEnum
  142.     {
  143.         wbemCimtypeSint8 = 16,
  144.         wbemCimtypeUint8 = 17,
  145.         wbemCimtypeSint16 = 2,
  146.         wbemCimtypeUint16 = 18,
  147.         wbemCimtypeSint32 = 3,
  148.         wbemCimtypeUint32 = 19,
  149.         wbemCimtypeSint64 = 20,
  150.         wbemCimtypeUint64 = 21,
  151.         wbemCimtypeReal32 = 4,
  152.         wbemCimtypeReal64 = 5,
  153.         wbemCimtypeBoolean = 11,
  154.         wbemCimtypeString = 8,
  155.         wbemCimtypeDatetime = 101,
  156.         wbemCimtypeReference = 102,
  157.         wbemCimtypeChar16 = 103,
  158.         wbemCimtypeObject = 13
  159.     } WbemCimtypeEnum;
  160.     /////////////////////////////////////////////////////////////////
  161.     //
  162.     typedef 
  163. [
  164. v1_enum,
  165. uuid(4A249B7C-FC9A-11d1-8B1E-00600806D9B6),
  166. helpstring("Defines the errors that may be returned by the WBEM Scripting library")
  167. ] enum WbemErrorEnum
  168. {
  169.         // Errors.
  170.         // =======
  171. wbemNoErr = 0,
  172.         wbemErrFailed = 0x80041001,
  173.         wbemErrNotFound = 0x80041002,
  174.         wbemErrAccessDenied = 0x80041003,
  175.         wbemErrProviderFailure = 0x80041004,
  176.         wbemErrTypeMismatch = 0x80041005,
  177.         wbemErrOutOfMemory = 0x80041006,
  178.         wbemErrInvalidContext = 0x80041007,
  179.         wbemErrInvalidParameter = 0x80041008,
  180.         wbemErrNotAvailable = 0x80041009,
  181.         wbemErrCriticalError = 0x8004100A,
  182.         wbemErrInvalidStream = 0x8004100B,
  183.         wbemErrNotSupported = 0x8004100C,
  184.         wbemErrInvalidSuperclass = 0x8004100D,
  185.         wbemErrInvalidNamespace = 0x8004100E,
  186.         wbemErrInvalidObject = 0x8004100F,
  187.         wbemErrInvalidClass = 0x80041010,
  188.         wbemErrProviderNotFound = 0x80041011,
  189.         wbemErrInvalidProviderRegistration = 0x80041012,
  190.         wbemErrProviderLoadFailure = 0x80041013,
  191.         wbemErrInitializationFailure = 0x80041014,
  192.         wbemErrTransportFailure = 0x80041015,
  193.         wbemErrInvalidOperation = 0x80041016,
  194.         wbemErrInvalidQuery = 0x80041017,
  195.         wbemErrInvalidQueryType = 0x80041018,
  196.         wbemErrAlreadyExists = 0x80041019,
  197.         wbemErrOverrideNotAllowed = 0x8004101A,
  198.         wbemErrPropagatedQualifier = 0x8004101B,
  199.         wbemErrPropagatedProperty = 0x8004101C,
  200.         wbemErrUnexpected = 0x8004101D,
  201.         wbemErrIllegalOperation = 0x8004101E,
  202.         wbemErrCannotBeKey = 0x8004101F,
  203.         wbemErrIncompleteClass = 0x80041020,
  204.         wbemErrInvalidSyntax = 0x80041021,
  205.         wbemErrNondecoratedObject = 0x80041022,
  206.         wbemErrReadOnly = 0x80041023,
  207.         wbemErrProviderNotCapable = 0x80041024,
  208.         wbemErrClassHasChildren = 0x80041025,
  209.         wbemErrClassHasInstances = 0x80041026,
  210.         wbemErrQueryNotImplemented = 0x80041027,
  211.         wbemErrIllegalNull = 0x80041028,
  212.         wbemErrInvalidQualifierType = 0x80041029,
  213.         wbemErrInvalidPropertyType = 0x8004102A,
  214.         wbemErrValueOutOfRange = 0x8004102B,
  215.         wbemErrCannotBeSingleton = 0x8004102C,
  216.         wbemErrInvalidCimType = 0x8004102D,
  217.         wbemErrInvalidMethod = 0x8004102E,
  218.         wbemErrInvalidMethodParameters = 0x8004102F,        
  219.         wbemErrSystemProperty = 0x80041030,
  220.         wbemErrInvalidProperty = 0x80041031,
  221.         wbemErrCallCancelled = 0x80041032,
  222.         wbemErrShuttingDown = 0x80041033,
  223.         wbemErrPropagatedMethod = 0x80041034,
  224.         wbemErrUnsupportedParameter = 0x80041035,
  225. wbemErrMissingParameter = 0x80041036,
  226. wbemErrInvalidParameterId = 0x80041037,
  227. wbemErrNonConsecutiveParameterIds = 0x80041038,
  228. wbemErrParameterIdOnRetval = 0x80041039,
  229. wbemErrInvalidObjectPath = 0x8004103A,
  230. wbemErrOutOfDiskSpace = 0x8004103B,
  231. wbemErrBufferTooSmall = 0x8004103C,
  232.         wbemErrUnsupportedPutExtension = 0x8004103D,
  233. wbemErrUnknownObjectType = 0x8004103E,
  234. wbemErrUnknownPacketType = 0x8004103F,
  235. wbemErrMarshalVersionMismatch = 0x80041040,
  236. wbemErrMarshalInvalidSignature = 0x80041041,
  237. wbemErrInvalidQualifier = 0x80041042,
  238. wbemErrInvalidDuplicateParameter = 0x80041043,
  239.         wbemErrTooMuchData = 0x80041044,
  240.         wbemErrServerTooBusy = 0x80041045,
  241. wbemErrInvalidFlavor = 0x80041046,
  242. wbemErrCircularReference = 0x80041047,
  243. wbemErrUnsupportedClassUpdate = 0x80041048,
  244. wbemErrCannotChangeKeyInheritance = 0x80041049,
  245. wbemErrCannotChangeIndexInheritance = 0x80041050,
  246. wbemErrTooManyProperties = 0x80041051,
  247. wbemErrUpdateTypeMismatch = 0x80041052,
  248. wbemErrUpdateOverrideNotAllowed = 0x80041053,
  249. wbemErrUpdatePropagatedMethod = 0x80041054,
  250. wbemErrMethodNotImplemented = 0x80041055,
  251. wbemErrMethodDisabled = 0x80041056,
  252. wbemErrRefresherBusy = 0x80041057,
  253.         wbemErrUnparsableQuery = 0x80041058,
  254.         wbemErrNotEventClass = 0x80041059,
  255.         wbemErrMissingGroupWithin = 0x8004105A,
  256.         wbemErrMissingAggregationList = 0x8004105B,
  257.         wbemErrPropertyNotAnObject = 0x8004105C,
  258.         wbemErrAggregatingByObject = 0x8004105D,
  259.         wbemErrUninterpretableProviderQuery = 0x8004105F,
  260. wbemErrBackupRestoreWinmgmtRunning = 0x80041060,
  261. wbemErrQueueOverflow = 0x80041061,
  262. wbemErrPrivilegeNotHeld = 0x80041062,
  263. wbemErrInvalidOperator = 0x80041063,
  264. wbemErrLocalCredentials = 0x80041064,
  265. wbemErrCannotBeAbstract = 0x80041065,
  266. wbemErrAmendedObject = 0x80041066,
  267. wbemErrClientTooSlow = 0x80041067,
  268.         wbemErrNullSecurityDescriptor = 0x80041068,
  269.         wbemErrTimeout = 0x80041069,
  270.         wbemErrInvalidAssociation = 0x8004106A,
  271.         wbemErrAmbiguousOperation = 0x8004106B,
  272.         wbemErrQuotaViolation = 0x8004106C,
  273.         wbemErrTransactionConflict = 0x8004106D,
  274.         wbemErrForcedRollback = 0x8004106E,
  275.         wbemErrUnsupportedLocale = 0x8004106F,
  276.         wbemErrHandleOutOfDate = 0x80041070,
  277.         wbemErrConnectionFailed = 0x80041071,
  278.         wbemErrInvalidHandleRequest = 0x80041072,
  279.         wbemErrPropertyNameTooWide = 0x80041073,
  280.         wbemErrClassNameTooWide = 0x80041074,
  281.         wbemErrMethodNameTooWide = 0x80041075,
  282.         wbemErrQualifierNameTooWide = 0x80041076,
  283.         wbemErrRerunCommand = 0x80041077,
  284.         wbemErrDatabaseVerMismatch = 0x80041078,
  285. wbemErrVetoPut = 0x80041079,
  286. wbemErrVetoDelete = 0x8004107A,
  287. wbemErrInvalidLocale = 0x80041080,
  288. wbemErrProviderSuspended = 0x80041081,
  289. wbemErrSynchronizationRequired = 0x80041082,
  290. wbemErrNoSchema = 0x80041083,
  291. wbemErrProviderAlreadyRegistered = 0x80041084,
  292. wbemErrProviderNotRegistered = 0x80041085,
  293. wbemErrFatalTransportError = 0x80041086,
  294. wbemErrEncryptedConnectionRequired = 0x80041087,
  295. // Event Subsystem Errors
  296.         wbemErrRegistrationTooBroad = 0x80042001,
  297.         wbemErrRegistrationTooPrecise = 0x80042002,
  298. // Automation-specific errors 
  299. wbemErrTimedout = 0x80043001,
  300. wbemErrResetToDefault = 0x80043002
  301.         
  302.     }   WbemErrorEnum;
  303. // The following are used in conjunction with the SWbemSecurity object
  304.     typedef 
  305. [
  306. v1_enum,
  307. uuid(B54D66E7-2287-11d2-8B33-00600806D9B6),
  308. helpstring("Defines the security authentication level"),
  309. enum WbemAuthenticationLevelEnum
  310.     {
  311.         wbemAuthenticationLevelDefault = 0,
  312. wbemAuthenticationLevelNone = 1,
  313. wbemAuthenticationLevelConnect = 2,
  314. wbemAuthenticationLevelCall = 3,
  315. wbemAuthenticationLevelPkt = 4,
  316. wbemAuthenticationLevelPktIntegrity = 5,
  317. wbemAuthenticationLevelPktPrivacy = 6
  318. } WbemAuthenticationLevelEnum;
  319. typedef 
  320. [
  321. v1_enum,
  322. uuid(B54D66E8-2287-11d2-8B33-00600806D9B6),
  323. helpstring("Defines the security impersonation level"),
  324. enum WbemImpersonationLevelEnum
  325.     {
  326.         wbemImpersonationLevelAnonymous = 1,
  327. wbemImpersonationLevelIdentify = 2,
  328. wbemImpersonationLevelImpersonate = 3,
  329. wbemImpersonationLevelDelegate = 4
  330. } WbemImpersonationLevelEnum;
  331. typedef 
  332. [
  333. v1_enum,
  334. uuid(176D2F70-5AF3-11d2-8B4A-00600806D9B6),
  335. helpstring("Defines a privilege"),
  336. enum WbemPrivilegeEnum
  337.     {
  338.         wbemPrivilegeCreateToken = 1,
  339. wbemPrivilegePrimaryToken = 2,
  340. wbemPrivilegeLockMemory = 3,
  341. wbemPrivilegeIncreaseQuota = 4,
  342. wbemPrivilegeMachineAccount = 5,
  343. wbemPrivilegeTcb = 6,
  344. wbemPrivilegeSecurity = 7, 
  345. wbemPrivilegeTakeOwnership = 8,
  346. wbemPrivilegeLoadDriver = 9,
  347. wbemPrivilegeSystemProfile = 10,
  348. wbemPrivilegeSystemtime = 11,
  349. wbemPrivilegeProfileSingleProcess = 12,
  350. wbemPrivilegeIncreaseBasePriority = 13,
  351. wbemPrivilegeCreatePagefile = 14,
  352. wbemPrivilegeCreatePermanent = 15,
  353. wbemPrivilegeBackup = 16,
  354. wbemPrivilegeRestore = 17,
  355. wbemPrivilegeShutdown = 18,
  356. wbemPrivilegeDebug = 19,
  357. wbemPrivilegeAudit = 20,
  358. wbemPrivilegeSystemEnvironment = 21,
  359. wbemPrivilegeChangeNotify = 22,
  360. wbemPrivilegeRemoteShutdown = 23,
  361. wbemPrivilegeUndock = 24,
  362. wbemPrivilegeSyncAgent = 25,
  363. wbemPrivilegeEnableDelegation = 26,
  364. wbemPrivilegeManageVolume = 27
  365. } WbemPrivilegeEnum;
  366. // Object Text Formats
  367. typedef 
  368. [
  369. v1_enum,
  370. uuid(09FF1992-EA0E-11d3-B391-00105A1F473A),
  371. helpstring("Defines object text formats"),
  372. enum WbemObjectTextFormatEnum
  373.     {
  374. wbemObjectTextFormatCIMDTD20 = 1,
  375. wbemObjectTextFormatWMIDTD20 = 2
  376. } WbemObjectTextFormatEnum;
  377. // This is new for Whistler and used with ConnectServer
  378. typedef
  379. [
  380. v1_enum,
  381. helpstring("Used to define connection behavior")
  382. enum WbemConnectOptionsEnum
  383. {
  384. // wbemConnectFlagRepositoryOnly = 0X40, //not exposed
  385. wbemConnectFlagUseMaxWait = 0X80
  386. } WbemConnectOptionsEnum;
  387. //coclasses
  388. //=========
  389. [
  390. uuid(76A64158-CB41-11d1-8B02-00600806D9B6),
  391. helpstring("Used to obtain Namespace connections")
  392.     ]
  393.     coclass SWbemLocator
  394.     {
  395.         interface ISWbemLocator;
  396.     };
  397.     [
  398. uuid(9AED384E-CE8B-11d1-8B05-00600806D9B6),
  399. helpstring("A collection of Named Values")
  400.     ]
  401.     coclass SWbemNamedValueSet
  402.     {
  403.         interface ISWbemNamedValueSet;
  404.     };
  405.     [
  406. uuid(5791BC26-CE9C-11d1-97BF-0000F81E849C),
  407. helpstring("Object Path")
  408.     ]
  409.     coclass SWbemObjectPath
  410.     {
  411.         interface ISWbemObjectPath;
  412.     };
  413. [
  414. uuid(C2FEEEAC-CFCD-11d1-8B05-00600806D9B6),
  415. helpstring("The last error on the current thread")
  416.     ]
  417.     coclass SWbemLastError
  418. {
  419. interface ISWbemLastError;
  420. };
  421. [
  422. uuid(75718C9A-F029-11d1-A1AC-00C04FB6C223),
  423. helpstring("A sink for events arising from asynchronous operations")
  424.     ]
  425.     coclass SWbemSink
  426. {
  427. interface ISWbemSink;
  428. [default, source] dispinterface ISWbemSinkEvents;
  429. };
  430. [
  431. uuid(47DFBE54-CF76-11d3-B38F-00105A1F473A),
  432. helpstring("Date & Time")
  433.     ]
  434.     coclass SWbemDateTime
  435.     {
  436.         interface ISWbemDateTime;
  437.     };
  438.     [
  439. uuid(D269BF5C-D9C1-11d3-B38F-00105A1F473A),
  440. helpstring("Refresher")
  441.     ]
  442.     coclass SWbemRefresher
  443.     {
  444.         interface ISWbemRefresher;
  445.     };
  446. /* The following are non-creatable coclasses */
  447. [
  448. uuid(04B83D63-21AE-11d2-8B33-00600806D9B6), 
  449. helpstring("A connection to a Namespace"),
  450. noncreatable
  451. ]
  452. coclass SWbemServices
  453. {
  454. interface ISWbemServices;
  455. };
  456. [
  457. uuid(62E522DC-8CF3-40a8-8B2E-37D595651E40), 
  458. helpstring("A connection to a Namespace"),
  459. noncreatable
  460. ]
  461. coclass SWbemServicesEx
  462. {
  463. interface ISWbemServicesEx;
  464. };
  465. [
  466. uuid(04B83D62-21AE-11d2-8B33-00600806D9B6), 
  467. helpstring("A Class or Instance"),
  468. noncreatable
  469. ]
  470. coclass SWbemObject
  471. {
  472. interface ISWbemObject;
  473. };
  474. [
  475. uuid(D6BDAFB2-9435-491f-BB87-6AA0F0BC31A2), 
  476. helpstring("A Class or Instance"),
  477. noncreatable
  478. ]
  479. coclass SWbemObjectEx
  480. {
  481. interface ISWbemObjectEx;
  482. };
  483. [
  484. uuid(04B83D61-21AE-11d2-8B33-00600806D9B6), 
  485. helpstring("A collection of Classes or Instances"),
  486. noncreatable
  487. ]
  488. coclass SWbemObjectSet
  489. {
  490. interface ISWbemObjectSet;
  491. };
  492. [
  493. uuid(04B83D60-21AE-11d2-8B33-00600806D9B6), 
  494. helpstring("A named value"),
  495. noncreatable
  496. ]
  497. coclass SWbemNamedValue
  498. {
  499. interface ISWbemNamedValue;
  500. };
  501. [
  502. uuid(04B83D5F-21AE-11d2-8B33-00600806D9B6), 
  503. helpstring("A Qualifier"),
  504. noncreatable
  505. ]
  506.     coclass SWbemQualifier
  507. {
  508. interface ISWbemQualifier;
  509. }
  510. [
  511. uuid(04B83D5E-21AE-11d2-8B33-00600806D9B6), 
  512. helpstring("A collection of Qualifiers"),
  513. noncreatable
  514. ]
  515.     coclass SWbemQualifierSet
  516. {
  517. interface ISWbemQualifierSet;
  518. };
  519. [
  520. uuid(04B83D5D-21AE-11d2-8B33-00600806D9B6), 
  521. helpstring("A Property"),
  522. noncreatable
  523. ]
  524.     coclass SWbemProperty
  525. {
  526. interface ISWbemProperty;
  527. };
  528. [
  529. uuid(04B83D5C-21AE-11d2-8B33-00600806D9B6), 
  530. helpstring("A collection of Properties"),
  531. noncreatable
  532. ]
  533.     coclass SWbemPropertySet
  534. {
  535. interface ISWbemPropertySet;
  536. };
  537. [
  538. uuid(04B83D5B-21AE-11d2-8B33-00600806D9B6), 
  539. helpstring("A Method"),
  540. noncreatable
  541. ]
  542.     coclass SWbemMethod
  543. {
  544. interface ISWbemMethod;
  545. };
  546. [
  547. uuid(04B83D5A-21AE-11d2-8B33-00600806D9B6), 
  548. helpstring("A collection of Methods"),
  549. noncreatable
  550. ]
  551.     coclass SWbemMethodSet
  552. {
  553. interface ISWbemMethodSet;
  554. }
  555. [
  556. uuid(04B83D58-21AE-11d2-8B33-00600806D9B6), 
  557. helpstring("An Event source"),
  558. noncreatable
  559. ]
  560.     coclass SWbemEventSource
  561. {
  562. interface ISWbemEventSource;
  563. };
  564. [
  565. uuid(B54D66E9-2287-11d2-8B33-00600806D9B6), 
  566. helpstring("A Security Configurator"),
  567. noncreatable
  568. ]
  569.     coclass SWbemSecurity
  570. {
  571. interface ISWbemSecurity;
  572. }
  573. [
  574. uuid(26EE67BC-5804-11d2-8B4A-00600806D9B6),
  575. helpstring("A Privilege Override"),
  576. noncreatable
  577. ]
  578. coclass SWbemPrivilege
  579. {
  580. interface ISWbemPrivilege;
  581. }
  582. [
  583. uuid(26EE67BE-5804-11d2-8B4A-00600806D9B6),
  584. helpstring("A collection of Privilege Overrides"),
  585. noncreatable
  586. ]
  587. coclass SWbemPrivilegeSet
  588. {
  589. interface ISWbemPrivilegeSet;
  590. }
  591. [
  592. uuid(8C6854BC-DE4B-11d3-B390-00105A1F473A),
  593. helpstring("A single item from a Refresher"),
  594. noncreatable
  595. ]
  596. coclass SWbemRefreshableItem
  597. {
  598. interface ISWbemRefreshableItem;
  599. }
  600. };
  601. [
  602. object, 
  603. local, 
  604. uuid(76A6415B-CB41-11d1-8B02-00600806D9B6), 
  605. dual, 
  606. hidden,
  607. //nonextensible,
  608. oleautomation,
  609.   pointer_default(unique),
  610. helpstring("Used to obtain Namespace connections")
  611. ]
  612. interface ISWbemLocator  : IDispatch
  613. {
  614. [
  615. id(1),
  616. helpstring("Connect to a Namespace")
  617. ]
  618.     HRESULT ConnectServer(
  619.         [in, defaultvalue(".")]   BSTR strServer,           
  620.         [in, defaultvalue("")]    BSTR strNamespace,        
  621.         [in, defaultvalue("")] BSTR strUser,
  622.         [in, defaultvalue("")]    BSTR strPassword,
  623.         [in, defaultvalue("")]    BSTR strLocale,
  624.         [in, defaultvalue("")]    BSTR strAuthority,
  625. [in, defaultvalue(0)] long iSecurityFlags,
  626.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  627. [out, retval]    ISWbemServices  **objWbemServices            
  628.      );
  629. [
  630. id(2),
  631. propget,
  632. helpstring("The Security Configurator for this Object")
  633. ]
  634. HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity);
  635. };
  636. [
  637. local, 
  638. object, 
  639. uuid(76A6415C-CB41-11d1-8B02-00600806D9B6), 
  640. oleautomation, 
  641. dual,
  642. //nonextensible,
  643. pointer_default(unique),
  644. hidden,
  645. helpstring("A connection to a Namespace")
  646. ]
  647. interface ISWbemServices : IDispatch
  648. {
  649. // Object Operations
  650. // =====================
  651. [
  652. id(1),
  653. helpstring("Get a single Class or Instance")
  654. ]
  655.     HRESULT Get (
  656.         [in, defaultvalue("")] BSTR strObjectPath,
  657. [in, defaultvalue(0)] long iFlags,
  658.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  659.     [out, retval] ISWbemObject **objWbemObject
  660.         );
  661. [
  662. id(2),
  663. helpstring("Get a single Class or Instance asynchronously")
  664. ]
  665.     HRESULT GetAsync (
  666. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  667.         [in, defaultvalue("")] BSTR strObjectPath,
  668. [in, defaultvalue(0)] long iFlags,
  669.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  670. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  671.         );
  672. [
  673. id(3),
  674. helpstring("Delete a Class or Instance")
  675. ]
  676.     HRESULT Delete (
  677.         [in] BSTR strObjectPath,
  678.         [in, defaultvalue(0)] long iFlags,
  679.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet
  680.         );
  681. [
  682. id(4),
  683. helpstring("Delete a Class or Instance asynchronously")
  684. ]
  685.     HRESULT DeleteAsync (
  686. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  687.         [in] BSTR strObjectPath,
  688.         [in, defaultvalue(0)] long iFlags,
  689.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  690. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  691.         );
  692. [
  693. id(5),
  694. helpstring("Enumerate the Instances of a Class")
  695. ]
  696.     HRESULT InstancesOf(
  697.         [in] BSTR strClass,
  698.         [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  699.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  700.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  701.         );
  702. [
  703. id(6),
  704. helpstring("Enumerate the Instances of a Class asynchronously")
  705. ]
  706.     HRESULT InstancesOfAsync(
  707. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  708.         [in] BSTR strClass,
  709.         [in, defaultvalue(0)] long iFlags,
  710.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  711. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  712.         );
  713. [
  714. id(7),
  715. helpstring("Enumerate the subclasses of a Class")
  716. ]
  717.     HRESULT SubclassesOf(
  718.         [in, defaultvalue("")]  BSTR strSuperclass,
  719.         [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)]  long iFlags,
  720.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  721.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  722.     );
  723. [
  724. id(8),
  725. helpstring("Enumerate the subclasses of a Class asynchronously ")
  726. ]
  727.     HRESULT SubclassesOfAsync(
  728. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  729.         [in, defaultvalue("")]  BSTR strSuperclass,
  730.         [in, defaultvalue(wbemQueryFlagDeep)]  long iFlags,
  731.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  732. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  733.     );
  734.   
  735. // Queries
  736. // =======
  737.     [
  738. id(9),
  739. helpstring("Execute a Query")
  740. ]
  741.     HRESULT ExecQuery(
  742.         [in]  BSTR strQuery,
  743. [in, defaultvalue("WQL")]  BSTR strQueryLanguage,
  744.         [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  745. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  746.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  747.         );
  748. [
  749. id(10),
  750. helpstring("Execute an asynchronous Query")
  751. ]
  752.     HRESULT ExecQueryAsync(
  753. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  754. [in]  BSTR strQuery,
  755. [in, defaultvalue("WQL")]  BSTR strQueryLanguage,
  756.         [in, defaultvalue(0)] long lFlags,
  757. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  758. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  759.         );
  760. [
  761. id(11),
  762. helpstring("Get the Associators of a class or instance")
  763. ]
  764.     HRESULT AssociatorsOf(
  765. [in] BSTR strObjectPath,
  766. [in, defaultvalue("")] BSTR strAssocClass,
  767. [in, defaultvalue("")] BSTR strResultClass,
  768. [in, defaultvalue("")] BSTR strResultRole,
  769. [in, defaultvalue("")] BSTR strRole,
  770. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  771. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  772. [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
  773. [in, defaultvalue("")] BSTR strRequiredQualifier,
  774. [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  775. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  776.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  777.         );
  778. [
  779. id(12),
  780. helpstring("Get the Associators of a class or instance asynchronously")
  781. ]
  782.     HRESULT AssociatorsOfAsync(
  783. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  784. [in] BSTR strObjectPath,
  785. [in, defaultvalue("")] BSTR strAssocClass,
  786. [in, defaultvalue("")] BSTR strResultClass,
  787. [in, defaultvalue("")] BSTR strResultRole,
  788. [in, defaultvalue("")] BSTR strRole,
  789. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  790. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  791. [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
  792. [in, defaultvalue("")] BSTR strRequiredQualifier,
  793. [in, defaultvalue(0)] long iFlags,
  794. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  795. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  796.         );
  797. [
  798. id(13),
  799. helpstring("Get the References to a class or instance")
  800. ]
  801.     HRESULT ReferencesTo(
  802. [in] BSTR strObjectPath,
  803. [in, defaultvalue("")] BSTR strResultClass,
  804. [in, defaultvalue("")] BSTR strRole,
  805. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  806. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  807. [in, defaultvalue("")] BSTR strRequiredQualifier,
  808. [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  809. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  810.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  811.         );
  812. [
  813. id(14),
  814. helpstring("Get the References to a class or instance asynchronously")
  815. ]
  816.     HRESULT ReferencesToAsync(
  817. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  818. [in] BSTR strObjectPath,
  819. [in, defaultvalue("")] BSTR strResultClass,
  820. [in, defaultvalue("")] BSTR strRole,
  821. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  822. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  823. [in, defaultvalue("")] BSTR strRequiredQualifier,
  824. [in, defaultvalue(0)] long iFlags,
  825. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  826. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  827.         );
  828.     
  829.     [
  830. id(15),
  831. helpstring("Execute a Query to receive Notifications")
  832. ]
  833.     HRESULT ExecNotificationQuery(
  834.         [in] BSTR strQuery,
  835.         [in, defaultvalue("WQL")] BSTR strQueryLanguage,
  836.         [in, defaultvalue(wbemFlagReturnImmediately|wbemFlagForwardOnly)] long iFlags,
  837.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  838.         [out, retval] ISWbemEventSource **objWbemEventSource
  839.         );
  840.     [
  841. id(16),
  842. helpstring("Execute an asynchronous Query to receive Notifications")
  843. ]
  844.     HRESULT ExecNotificationQueryAsync(
  845. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  846.         [in] BSTR strQuery,
  847.         [in, defaultvalue("WQL")] BSTR strQueryLanguage,
  848.         [in, defaultvalue(0)] long iFlags,
  849.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  850. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  851.         );
  852. // Method Invocation
  853. // =================
  854.     [
  855. id(17),
  856. helpstring("Execute a Method")
  857. ]
  858.     HRESULT ExecMethod(
  859.         [in] BSTR strObjectPath,
  860.         [in] BSTR strMethodName,
  861.         [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters,
  862.         [in, defaultvalue(0)] long iFlags,
  863.         [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  864.         [out, retval] ISWbemObject **objWbemOutParameters
  865.         );
  866.     [
  867. id(18),
  868. helpstring("Execute a Method asynchronously")
  869. ]
  870.     HRESULT ExecMethodAsync(
  871. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  872.         [in] BSTR strObjectPath,
  873.         [in] BSTR strMethodName,
  874.         [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters,
  875.         [in, defaultvalue(0)] long iFlags,
  876.         [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  877. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  878.         );
  879. [
  880. id(19),
  881. propget,
  882. helpstring("The Security Configurator for this Object")
  883. ]
  884. HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity);
  885. };
  886. [
  887. local, 
  888. object, 
  889. uuid(D2F68443-85DC-427e-91D8-366554CC754C), 
  890. oleautomation, 
  891. dual,
  892. nonextensible,
  893. pointer_default(unique),
  894. hidden,
  895. helpstring("A connection to a Namespace")
  896. ]
  897. interface ISWbemServicesEx : ISWbemServices
  898. {
  899. [
  900. id(20),
  901. helpstring("Save the Object to this Namespace")
  902. ]
  903.     HRESULT Put(
  904. [in] ISWbemObjectEx *objWbemObject,
  905.         [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
  906. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  907. [out, retval] ISWbemObjectPath **objWbemObjectPath
  908.         );
  909. [
  910. id(21),
  911. helpstring("Save the Object to this Namespace asynchronously")
  912. ]
  913.     HRESULT PutAsync(
  914. [in] ISWbemSink *objWbemSink,
  915. [in] ISWbemObjectEx *objWbemObject,
  916.         [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
  917. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  918. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  919.         );
  920. };
  921. [
  922. local, 
  923. object, 
  924. uuid(76A6415A-CB41-11d1-8B02-00600806D9B6), 
  925. dual, 
  926. oleautomation,
  927. hidden,
  928. helpstring("A Class or Instance")
  929. ]
  930. interface ISWbemObject : IDispatch
  931. {
  932. [
  933. id(1),
  934. helpstring("Save this Object")
  935. ]
  936.     HRESULT Put_(
  937.         [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
  938. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  939. [out, retval] ISWbemObjectPath **objWbemObjectPath
  940.         );
  941. [
  942. id(2),
  943. helpstring("Save this Object asynchronously")
  944. ]
  945.     HRESULT PutAsync_(
  946. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  947.         [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags,
  948. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  949. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  950.         );
  951. [
  952. id (3),
  953. helpstring("Delete this Object")
  954. ]
  955. HRESULT Delete_(
  956. [in, defaultvalue(0)] long iFlags,
  957. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet
  958.         );
  959. [
  960. id (4),
  961. helpstring("Delete this Object asynchronously")
  962. ]
  963. HRESULT DeleteAsync_(
  964. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  965. [in, defaultvalue(0)] long iFlags,
  966. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  967. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  968.         );
  969. [
  970. id(5),
  971. helpstring("Return all instances of this Class")
  972. ]
  973. HRESULT Instances_(
  974. [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  975.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  976.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  977.         );
  978. [
  979. id(6),
  980. helpstring("Return all instances of this Class asynchronously")
  981. ]
  982. HRESULT InstancesAsync_(
  983. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  984. [in, defaultvalue(0)] long iFlags,
  985.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  986. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  987.         );
  988. [
  989. id(7),
  990. helpstring("Enumerate subclasses of this Class")
  991. ]
  992.     HRESULT Subclasses_(
  993.         [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)]  long iFlags,
  994.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  995.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  996.     );
  997. [
  998. id(8),
  999. helpstring("Enumerate subclasses of this Class asynchronously")
  1000. ]
  1001.     HRESULT SubclassesAsync_(
  1002. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  1003.         [in, defaultvalue(wbemQueryFlagDeep)]  long iFlags,
  1004.         [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,        
  1005. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  1006.     );
  1007. [
  1008. id(9),
  1009. helpstring("Get the Associators of this Object")
  1010. ]
  1011.     HRESULT Associators_(
  1012. [in, defaultvalue("")] BSTR strAssocClass,
  1013. [in, defaultvalue("")] BSTR strResultClass,
  1014. [in, defaultvalue("")] BSTR strResultRole,
  1015. [in, defaultvalue("")] BSTR strRole,
  1016. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  1017. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  1018. [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
  1019. [in, defaultvalue("")] BSTR strRequiredQualifier,
  1020. [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  1021. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1022.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  1023.         );
  1024. [
  1025. id(10),
  1026. helpstring("Get the Associators of this Object asynchronously")
  1027. ]
  1028.     HRESULT AssociatorsAsync_(
  1029. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  1030. [in, defaultvalue("")] BSTR strAssocClass,
  1031. [in, defaultvalue("")] BSTR strResultClass,
  1032. [in, defaultvalue("")] BSTR strResultRole,
  1033. [in, defaultvalue("")] BSTR strRole,
  1034. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  1035. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  1036. [in, defaultvalue("")] BSTR strRequiredAssocQualifier,
  1037. [in, defaultvalue("")] BSTR strRequiredQualifier,
  1038. [in, defaultvalue(0)] long iFlags,
  1039. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1040. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  1041.         );
  1042. [
  1043. id(11),
  1044. helpstring("Get the References to this Object")
  1045. ]
  1046.     HRESULT References_(
  1047. [in, defaultvalue("")] BSTR strResultClass,
  1048. [in, defaultvalue("")] BSTR strRole,
  1049. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  1050. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  1051. [in, defaultvalue("")] BSTR strRequiredQualifier,
  1052. [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags,
  1053. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1054.         [out, retval] ISWbemObjectSet **objWbemObjectSet
  1055.         );
  1056. [
  1057. id(12),
  1058. helpstring("Get the References to this Object asynchronously")
  1059. ]
  1060.     HRESULT ReferencesAsync_(
  1061. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  1062. [in, defaultvalue("")] BSTR strResultClass,
  1063. [in, defaultvalue("")] BSTR strRole,
  1064. [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly,
  1065. [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly,
  1066. [in, defaultvalue("")] BSTR strRequiredQualifier,
  1067. [in, defaultvalue(0)] long iFlags,
  1068. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1069. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  1070.         );
  1071.     
  1072. [
  1073. id(13),
  1074. helpstring("Execute a Method of this Object")
  1075. ]
  1076.     HRESULT ExecMethod_(
  1077.         [in] BSTR strMethodName,
  1078.         [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters,
  1079.         [in, defaultvalue(0)] long iFlags,
  1080.         [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1081.         [out, retval] ISWbemObject **objWbemOutParameters
  1082.         );
  1083. [
  1084. id(14),
  1085. helpstring("Execute a Method of this Object asynchronously")
  1086. ]
  1087.     HRESULT ExecMethodAsync_(
  1088. [in] /*SWbemSink*/ IDispatch *objWbemSink,
  1089.         [in] BSTR strMethodName,
  1090.         [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters,
  1091.         [in, defaultvalue(0)] long iFlags,
  1092.         [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1093. [in, defaultvalue(0)]  /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext
  1094.         );
  1095. [
  1096. id(15),
  1097. helpstring("Clone this Object")
  1098. ]
  1099.     HRESULT Clone_(
  1100.         [out, retval] ISWbemObject **objWbemObject
  1101.         );
  1102.     [
  1103. id(16),
  1104. helpstring("Get the MOF text of this Object")
  1105. ]
  1106.     HRESULT GetObjectText_(
  1107.         [in, defaultvalue(0)] long iFlags,
  1108. [out, retval] BSTR *strObjectText
  1109.         ); 
  1110.     [
  1111. id(17),
  1112. helpstring("Create a subclass of this Object")
  1113. ]
  1114.     HRESULT SpawnDerivedClass_(
  1115.         [in, defaultvalue(0)] long iFlags,
  1116. [out, retval] ISWbemObject** objWbemObject
  1117.         );
  1118.     [
  1119. id(18),
  1120. helpstring("Create an Instance of this Object")
  1121. ]
  1122.     HRESULT SpawnInstance_(
  1123.         [in, defaultvalue(0)] long iFlags,
  1124. [out, retval] ISWbemObject** objWbemObject
  1125.         );
  1126.     [
  1127. id(19),
  1128. helpstring("Compare this Object with another")
  1129. ]
  1130.     HRESULT CompareTo_(
  1131.         [in] /*ISWbemObject*/ IDispatch *objWbemObject,
  1132.         [in, defaultvalue(wbemComparisonFlagIncludeAll)] long iFlags,
  1133.         [out, retval] VARIANT_BOOL *bResult
  1134.         );
  1135. [
  1136. id(20), 
  1137. propget,
  1138. helpstring("The collection of Qualifiers of this Object")
  1139. HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet);
  1140. [
  1141. id(21), 
  1142. propget,
  1143. helpstring("The collection of Properties of this Object")
  1144. HRESULT Properties_ ([out, retval] ISWbemPropertySet **objWbemPropertySet);
  1145. [
  1146. id(22), 
  1147. propget,
  1148. helpstring("The collection of Methods of this Object")
  1149. ] HRESULT Methods_ ([out, retval] ISWbemMethodSet **objWbemMethodSet);
  1150. const ULONG WBEMS_DISPID_DERIVATION = 23;
  1151. [
  1152. id(WBEMS_DISPID_DERIVATION), 
  1153. propget,
  1154. helpstring("An array of strings describing the class derivation heirarchy, in most-derived-from order (the first element in the array defines the superclass and the last element defines the dynasty class).")
  1155. HRESULT Derivation_ ([out, retval] VARIANT *strClassNameArray);
  1156. [
  1157. id(24),
  1158. propget,
  1159. helpstring("The path of this Object")
  1160. ]
  1161. HRESULT Path_ ([out, retval] ISWbemObjectPath **objWbemObjectPath);
  1162. [
  1163. id(25),
  1164. propget,
  1165. helpstring("The Security Configurator for this Object")
  1166. ]
  1167. HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity);
  1168. };
  1169. [
  1170. local, 
  1171. object, 
  1172. uuid(269AD56A-8A67-4129-BC8C-0506DCFE9880), 
  1173. dual, 
  1174. oleautomation,
  1175. hidden,
  1176. helpstring("A Class or Instance")
  1177. ]
  1178. interface ISWbemObjectEx : ISWbemObject
  1179. {
  1180. [
  1181. id(26),
  1182. helpstring("Refresh this Object")
  1183. ]
  1184. HRESULT Refresh_ (
  1185. [in, defaultvalue(0)] long iFlags,
  1186.         [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet
  1187. );
  1188. [
  1189. id(27), 
  1190. propget,
  1191. helpstring("The collection of System Properties of this Object")
  1192. HRESULT SystemProperties_ ([out, retval] ISWbemPropertySet **objWbemPropertySet);
  1193. [
  1194. id(28),
  1195. helpstring("Retrieve a textual representation of this Object")
  1196. ]
  1197. HRESULT GetText_ (
  1198. [in] WbemObjectTextFormatEnum iObjectTextFormat,
  1199. [in, defaultvalue(0)] long iFlags,
  1200. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  1201. [out, retval] BSTR *bsText
  1202. );
  1203. [
  1204. id(29),
  1205. helpstring("Set this Object using the supplied textual representation")
  1206. ]
  1207. HRESULT SetFromText_ (
  1208. [in] BSTR bsText,
  1209. [in] WbemObjectTextFormatEnum iObjectTextFormat,
  1210. [in, defaultvalue(0)] long iFlags,
  1211. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet
  1212. );
  1213. };
  1214. [
  1215. local, 
  1216. object, 
  1217. uuid(D962DB84-D4BB-11d1-8B09-00600806D9B6), 
  1218. dual, 
  1219. oleautomation,
  1220. hidden,
  1221. helpstring("The last error on the current thread")
  1222. ]
  1223. interface ISWbemLastError : ISWbemObject
  1224. {
  1225. };
  1226. [
  1227. local, 
  1228. object, 
  1229. uuid(76A6415F-CB41-11d1-8B02-00600806D9B6), 
  1230. oleautomation, 
  1231. dual,
  1232. hidden,
  1233. nonextensible,
  1234. helpstring("A collection of Classes or Instances")
  1235. ]
  1236. interface ISWbemObjectSet : IDispatch
  1237. {
  1238. [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk);
  1239. [
  1240. id(DISPID_VALUE),
  1241. helpstring("Get an Object with a specific path from this collection")
  1242. ]
  1243. HRESULT Item (
  1244. [in] BSTR strObjectPath, 
  1245. [in, defaultvalue(0)] long iFlags,
  1246. [out, retval] ISWbemObject **objWbemObject
  1247. );
  1248. [
  1249. id(1), 
  1250. propget,
  1251. helpstring("The number of items in this collection")
  1252. HRESULT Count ([out, retval] long *iCount);
  1253. [
  1254. id(4),
  1255. propget,
  1256. helpstring("The Security Configurator for this Object")
  1257. ]
  1258. HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity);
  1259. };
  1260. /* ISWbemNamedValueSet is a Collection of ISWbemNamedValue elements */
  1261. [
  1262. local, 
  1263. object, 
  1264. uuid(CF2376EA-CE8C-11d1-8B05-00600806D9B6), 
  1265. oleautomation, 
  1266. dual,
  1267. hidden,
  1268. //nonextensible,
  1269. helpstring("A collection of named values")
  1270. ]
  1271. interface ISWbemNamedValueSet : IDispatch
  1272. {
  1273. /* These are used in the context of collections */
  1274. [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk);
  1275. [
  1276. id(DISPID_VALUE),
  1277. helpstring("Get a named value from this Collection")
  1278. ]
  1279. HRESULT Item (
  1280. [in] BSTR strName, 
  1281. [in, defaultvalue(0)] long iFlags,
  1282. [out, retval] ISWbemNamedValue **objWbemNamedValue
  1283. );
  1284. [
  1285. id(1), 
  1286. propget,
  1287. helpstring("The number of items in this collection")
  1288. HRESULT Count ([out, retval] long *iCount);
  1289. [
  1290. id(2),
  1291. helpstring("Add a named value to this collection")
  1292. ]
  1293. HRESULT Add (
  1294. [in] BSTR strName,
  1295. [in] VARIANT *varValue,
  1296.         [in, defaultvalue(0)] long iFlags,
  1297. [out, retval] ISWbemNamedValue **objWbemNamedValue
  1298. );
  1299. [
  1300. id(3),
  1301. helpstring("Remove a named value from this collection")
  1302. ]
  1303. HRESULT Remove (
  1304. [in] BSTR strName,
  1305. [in, defaultvalue(0)] long iFlags
  1306. );
  1307. /* End of collection-specific members */
  1308. [
  1309. id(4),
  1310. helpstring("Make a copy of this collection")
  1311. ]
  1312.     HRESULT Clone(
  1313. [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet
  1314. );
  1315.     [
  1316. id(5),
  1317. helpstring("Delete all items in this collection")
  1318. ]                
  1319.     HRESULT DeleteAll();        
  1320. };
  1321. [
  1322. local, 
  1323. object, 
  1324. uuid(76A64164-CB41-11d1-8B02-00600806D9B6), 
  1325. dual, 
  1326. oleautomation,
  1327. hidden,
  1328. //nonextensible,
  1329. helpstring("A named value")
  1330. ]
  1331. interface ISWbemNamedValue : IDispatch
  1332. {
  1333. [
  1334. id(DISPID_VALUE), 
  1335. propget,
  1336. helpstring("The Value of this Named element")
  1337. HRESULT Value([out, retval] VARIANT *varValue);
  1338. [
  1339. id(DISPID_VALUE), 
  1340. propput
  1341. HRESULT Value([in] VARIANT *varValue);
  1342. [
  1343. id(2), 
  1344. propget,
  1345. helpstring("The Name of this Value")
  1346. HRESULT Name([out, retval] BSTR *strName);
  1347. };
  1348. [
  1349. object, 
  1350. local, 
  1351. uuid(5791BC27-CE9C-11d1-97BF-0000F81E849C), 
  1352. dual, 
  1353. oleautomation,
  1354. hidden,
  1355. //nonextensible,
  1356.   pointer_default(unique),
  1357. helpstring("An Object path")
  1358. ]
  1359. interface ISWbemObjectPath : IDispatch
  1360. {
  1361. [
  1362. id(DISPID_VALUE), 
  1363. propget,
  1364. helpstring("The full path")
  1365. HRESULT Path([out, retval] BSTR *strPath);
  1366. [
  1367. id(DISPID_VALUE), 
  1368. propput
  1369. HRESULT Path([in] BSTR strPath);
  1370. [
  1371. id(1), 
  1372. propget,
  1373. helpstring("The relative path")
  1374. HRESULT RelPath([out, retval] BSTR *strRelPath);
  1375. [
  1376. id(1), 
  1377. propput
  1378. HRESULT RelPath([in] BSTR strRelPath);
  1379. [
  1380. id(2), 
  1381. propget,
  1382. helpstring("The name of the Server")
  1383. HRESULT Server([out, retval] BSTR *strServer);
  1384. [
  1385. id(2), 
  1386. propput
  1387. HRESULT Server([in] BSTR strServer);
  1388. [
  1389. id(3), 
  1390. propget,
  1391. helpstring("The Namespace path")
  1392. HRESULT Namespace([out, retval] BSTR *strNamespace);
  1393. [
  1394. id(3), 
  1395. propput
  1396. HRESULT Namespace([in] BSTR strNamespace);
  1397. [
  1398. id(4), 
  1399. propget,
  1400. helpstring("The parent Namespace path")
  1401. HRESULT ParentNamespace([out, retval] BSTR *strParentNamespace);
  1402. [
  1403. id(5), 
  1404. propget,
  1405. helpstring("The Display Name for this path")
  1406. HRESULT DisplayName([out, retval] BSTR *strDisplayName);
  1407. [
  1408. id(5), 
  1409. propput
  1410. HRESULT DisplayName([in] BSTR strDisplayName);
  1411. [
  1412. id(6), 
  1413. propget,
  1414. helpstring("The Class name")
  1415. HRESULT Class([out, retval] BSTR *strClass);
  1416. [
  1417. id(6), 
  1418. propput
  1419. HRESULT Class([in] BSTR strClass);
  1420. [
  1421. id(7), 
  1422. propget,
  1423. helpstring("Indicates whether this path addresses a Class")
  1424. HRESULT IsClass([out, retval] VARIANT_BOOL *bIsClass);
  1425. [
  1426. id(8),
  1427. helpstring("Coerce this path to address a Class")
  1428. HRESULT SetAsClass();
  1429. [
  1430. id(9), 
  1431. propget,
  1432. helpstring("Indicates whether this path addresses a Singleton Instance")
  1433. HRESULT IsSingleton([out, retval] VARIANT_BOOL *bIsSingleton);
  1434. [
  1435. id(10),
  1436. helpstring("Coerce this path to address a Singleton Instance")
  1437. HRESULT SetAsSingleton();
  1438. [
  1439. id(11), 
  1440. propget,
  1441. helpstring("The collection of Key value bindings for this path")
  1442. HRESULT Keys([out, retval] ISWbemNamedValueSet** objWbemNamedValueSet); 
  1443. [
  1444. id(12),
  1445. propget,
  1446. helpstring("Defines the security components of this path")
  1447. ]
  1448. HRESULT Security_([out,retval] ISWbemSecurity** objWbemSecurity);
  1449. [
  1450. id(13),
  1451. propget,
  1452. helpstring("Defines locale component of this path")
  1453. ]
  1454. HRESULT Locale([out,retval] BSTR* strLocale);
  1455. [
  1456. id(13), 
  1457. propput
  1458. HRESULT Locale([in] BSTR strLocale);
  1459. [
  1460. id(14),
  1461. propget,
  1462. helpstring("Defines authentication authority component of this path")
  1463. ]
  1464. HRESULT Authority([out,retval] BSTR* strAuthority);
  1465. [
  1466. id(14),
  1467. propput
  1468. ]
  1469. HRESULT Authority([in] BSTR strAuthority);
  1470. };
  1471. [
  1472. object, 
  1473. local, 
  1474. uuid(1A388F98-D4BA-11d1-8B09-00600806D9B6), 
  1475. dual, 
  1476. oleautomation,
  1477. hidden,
  1478. //nonextensible,
  1479.   pointer_default(unique),
  1480. helpstring("A Property")
  1481. ]
  1482. interface ISWbemProperty : IDispatch
  1483. {
  1484. [
  1485. id(DISPID_VALUE), 
  1486. propget,
  1487. helpstring("The value of this Property")
  1488. HRESULT Value([out, retval] VARIANT *varValue);
  1489. [
  1490. id(DISPID_VALUE), 
  1491. propput
  1492. HRESULT Value([in] VARIANT *varValue);
  1493. [
  1494. id(1), 
  1495. propget,
  1496. helpstring("The name of this Property")
  1497. HRESULT Name([out, retval] BSTR *strName);
  1498. [
  1499. id(2), 
  1500. propget,
  1501. helpstring("Indicates whether this Property is local or propagated")
  1502. HRESULT IsLocal([out,retval] VARIANT_BOOL *bIsLocal);
  1503. [
  1504. id(3), 
  1505. propget,
  1506. helpstring("The originating class of this Property")
  1507. HRESULT Origin([out,retval] BSTR *strOrigin);
  1508. [
  1509. id(4), 
  1510. propget,
  1511. helpstring("The CIM Type of this Property")
  1512. HRESULT CIMType([out,retval] WbemCimtypeEnum *iCimType);
  1513. [
  1514. id(5), 
  1515. propget,
  1516. helpstring("The collection of Qualifiers of this Property")
  1517. ] HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet);
  1518. [
  1519. id(6),
  1520. propget,
  1521. helpstring("Indicates whether this Property is an array type")
  1522. ]
  1523. HRESULT IsArray([out,retval] VARIANT_BOOL *bIsArray);
  1524. };
  1525. /* ISWbemPropertySet is a Collection of ISWbemProperty elements */
  1526. [
  1527. object, 
  1528. local, 
  1529. uuid(DEA0A7B2-D4BA-11d1-8B09-00600806D9B6), 
  1530. oleautomation, 
  1531. dual,
  1532. hidden,
  1533. //nonextensible,
  1534. helpstring("A collection of Properties")
  1535. ]
  1536. interface ISWbemPropertySet : IDispatch
  1537. {
  1538. /* These are used in the context of collections */
  1539. [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk);
  1540. [
  1541. id(DISPID_VALUE),
  1542. helpstring("Get a named Property from this collection")
  1543. ]
  1544. HRESULT Item (
  1545. [in] BSTR strName, 
  1546. [in, defaultvalue(0)] long iFlags,
  1547. [out, retval] ISWbemProperty **objWbemProperty
  1548. );
  1549. [
  1550. id(1), 
  1551. propget,
  1552. helpstring("The number of items in this collection")
  1553. HRESULT Count ([out, retval] long *iCount);
  1554. [
  1555. id(2),
  1556. helpstring("Add a Property to this collection")
  1557. ]
  1558. HRESULT Add (
  1559. [in] BSTR strName,
  1560. [in] WbemCimtypeEnum iCIMType,
  1561. [in, defaultvalue(FALSE)] VARIANT_BOOL bIsArray,
  1562. [in, defaultvalue(0)] long iFlags,
  1563. [out, retval] ISWbemProperty **objWbemProperty
  1564. );
  1565. [
  1566. id(3),
  1567. helpstring("Remove a Property from this collection")
  1568. ]
  1569. HRESULT Remove (
  1570. [in] BSTR strName,
  1571. [in, defaultvalue(0)] long iFlags
  1572. );
  1573. };
  1574. [
  1575. object, 
  1576. local, 
  1577. uuid(79B05932-D3B7-11d1-8B06-00600806D9B6), 
  1578. dual, 
  1579. oleautomation,
  1580. hidden,
  1581. nonextensible,
  1582.   pointer_default(unique),
  1583. helpstring("A Qualifier")
  1584. ]
  1585. interface ISWbemQualifier : IDispatch
  1586. {
  1587. [
  1588. id(DISPID_VALUE), 
  1589. propget,
  1590. helpstring("The value of this Qualifier")
  1591. HRESULT Value([out, retval] VARIANT *varValue);
  1592. [
  1593. id(DISPID_VALUE), 
  1594. propput
  1595. HRESULT Value([in] VARIANT *varValue);
  1596. [
  1597. id(1), 
  1598. propget,
  1599. helpstring("The name of this Qualifier")
  1600. HRESULT Name([out, retval] BSTR *strName);
  1601. [
  1602. id(2), 
  1603. propget,
  1604. helpstring("Indicates whether this Qualifier is local or propagated")
  1605. HRESULT IsLocal([out,retval] VARIANT_BOOL *bIsLocal);
  1606. [
  1607. id(3), 
  1608. propget,
  1609. helpstring("Determines whether this Qualifier can propagate to subclasses")
  1610. HRESULT PropagatesToSubclass([out, retval] VARIANT_BOOL *bPropagatesToSubclass);
  1611. [
  1612. id(3), 
  1613. propput
  1614. HRESULT PropagatesToSubclass([in] VARIANT_BOOL bPropagatesToSubclass);
  1615. [
  1616. id(4), 
  1617. propget,
  1618. helpstring("Determines whether this Qualifier can propagate to instances")
  1619. HRESULT PropagatesToInstance([out, retval] VARIANT_BOOL *bPropagatesToInstance);
  1620. [
  1621. id(4), 
  1622. propput
  1623. HRESULT PropagatesToInstance([in] VARIANT_BOOL bPropagatesToInstance);
  1624. [
  1625. id(5), 
  1626. propget,
  1627. helpstring("Determines whether this Qualifier can be overridden where propagated")
  1628. HRESULT IsOverridable([out, retval] VARIANT_BOOL *bIsOverridable);
  1629. [
  1630. id(5), 
  1631. propput
  1632. HRESULT IsOverridable([in] VARIANT_BOOL bIsOverridable);
  1633. [
  1634. id(6), 
  1635. propget,
  1636. helpstring("Determines whether the value of this Qualifier has been amended")
  1637. HRESULT IsAmended([out, retval] VARIANT_BOOL *bIsAmended);
  1638. };
  1639. /* ISWbemQualifierSet is a Collection of ISWbemQualifier elements */
  1640. [
  1641. object, 
  1642. local, 
  1643. uuid(9B16ED16-D3DF-11d1-8B08-00600806D9B6), 
  1644. oleautomation, 
  1645. dual,
  1646. hidden,
  1647. nonextensible,
  1648. helpstring("A collection of Qualifiers")
  1649. ]
  1650. interface ISWbemQualifierSet : IDispatch
  1651. {
  1652. /* These are used in the context of collections */
  1653. [
  1654. id(DISPID_NEWENUM), 
  1655. propget, 
  1656. restricted
  1657. HRESULT _NewEnum (
  1658. [out, retval] IUnknown **pUnk
  1659. );
  1660. [
  1661. id(DISPID_VALUE),
  1662. helpstring("Get a named Qualifier from this collection")
  1663. ]
  1664. HRESULT Item (
  1665. [in] BSTR name, 
  1666. [in, defaultvalue(0)] long iFlags,
  1667. [out, retval] ISWbemQualifier **objWbemQualifier
  1668. );
  1669. [
  1670. id(1),
  1671. propget,
  1672. helpstring("The number of items in this collection")
  1673. HRESULT Count (
  1674. [out, retval] long *iCount
  1675. );
  1676. [
  1677. id(2),
  1678. helpstring("Add a Qualifier to this collection")
  1679. ]
  1680. HRESULT Add (
  1681. [in] BSTR strName,
  1682. [in] VARIANT *varVal,
  1683. [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToSubclass,
  1684. [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToInstance,
  1685. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsOverridable,
  1686.         [in, defaultvalue(0)] long iFlags,
  1687. [out, retval] ISWbemQualifier **objWbemQualifier
  1688. );
  1689. [
  1690. id(3),
  1691. helpstring("Remove a Qualifier from this collection")
  1692. ]
  1693. HRESULT Remove (
  1694. [in] BSTR strName,
  1695. [in, defaultvalue(0)] long iFlags
  1696. );
  1697. /* End of collection-specific members */
  1698. };
  1699. [
  1700. object, 
  1701. local, 
  1702. uuid(422E8E90-D955-11d1-8B09-00600806D9B6), 
  1703. dual, 
  1704. oleautomation,
  1705.   pointer_default(unique),
  1706. nonextensible,
  1707. hidden,
  1708. helpstring("A Method")
  1709. ]
  1710. interface ISWbemMethod : IDispatch
  1711. {
  1712. [
  1713. id(1), 
  1714. propget,
  1715. helpstring("The name of this Method")
  1716. HRESULT Name([out, retval] BSTR *strName);
  1717. [
  1718. id(2), 
  1719. propget,
  1720. helpstring("The originating class of this Method")
  1721. HRESULT Origin([out,retval] BSTR *strOrigin);
  1722. [
  1723. id(3), 
  1724. propget,
  1725. helpstring("The in parameters for this Method.")
  1726. HRESULT InParameters ([out, retval] ISWbemObject **objWbemInParameters);
  1727. [
  1728. id(4), 
  1729. propget,
  1730. helpstring("The out parameters for this Method.")
  1731. HRESULT OutParameters ([out, retval] ISWbemObject **objWbemOutParameters);
  1732. [
  1733. id(5), 
  1734. propget,
  1735. helpstring("The collection of Qualifiers of this Method.")
  1736. HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet);
  1737. };
  1738. /* ISWbemMethodSet is a Collection of ISWbemMethod elements */
  1739. [
  1740. local, 
  1741. object, 
  1742. uuid(C93BA292-D955-11d1-8B09-00600806D9B6), 
  1743. oleautomation, 
  1744. dual,
  1745. nonextensible,
  1746. hidden,
  1747. helpstring("A collection of Methods")
  1748. ]
  1749. interface ISWbemMethodSet : IDispatch
  1750. {
  1751. /* These are used in the context of collections */
  1752. [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk);
  1753. [
  1754. id(DISPID_VALUE),
  1755. helpstring("Get a named Method from this collection")
  1756. ]
  1757. HRESULT Item (
  1758. [in] BSTR strName, 
  1759. [in, defaultvalue(0)] long iFlags,
  1760. [out, retval] ISWbemMethod **objWbemMethod
  1761. );
  1762. [
  1763. id(1), 
  1764. propget,
  1765. helpstring("The number of items in this collection")
  1766. HRESULT Count ([out, retval] long *iCount);
  1767. /* End of collection-specific members */
  1768. };
  1769. [
  1770. object, 
  1771. uuid(75718C9F-F029-11d1-A1AC-00C04FB6C223), 
  1772. oleautomation,
  1773. dual,
  1774. hidden,
  1775. nonextensible,
  1776. helpstring("Asynchronous operation control")
  1777. ]
  1778. interface ISWbemSink : IDispatch 
  1779. {
  1780. [
  1781. id(1),
  1782. helpstring("Cancel an asynchronous operation")
  1783. ]
  1784. HRESULT Cancel();
  1785. };
  1786. const ULONG WBEMS_DISPID_OBJECT_READY = 1;
  1787. const ULONG WBEMS_DISPID_COMPLETED = 2;
  1788. const ULONG WBEMS_DISPID_PROGRESS = 3;
  1789. const ULONG WBEMS_DISPID_OBJECT_PUT = 4;
  1790. const ULONG WBEMS_DISPID_CONNECTION_READY = 5;
  1791. [
  1792. uuid(75718CA0-F029-11d1-A1AC-00C04FB6C223), 
  1793. helpstring("A sink for events arising from asynchronous operations"),
  1794. nonextensible,
  1795. hidden
  1796. ]
  1797. dispinterface ISWbemSinkEvents
  1798. {
  1799. properties:
  1800. methods:
  1801. [
  1802. id(WBEMS_DISPID_OBJECT_READY),
  1803. helpstring("Event triggered when an Object is available")
  1804. ]
  1805.     void OnObjectReady(
  1806. ISWbemObject *objWbemObject,
  1807. ISWbemNamedValueSet *objWbemAsyncContext
  1808. );
  1809. [
  1810. id(WBEMS_DISPID_COMPLETED),
  1811. helpstring("Event triggered when an asynchronous operation is completed")
  1812. ]
  1813.     void OnCompleted (
  1814. WbemErrorEnum iHResult,
  1815. ISWbemObject *objWbemErrorObject,
  1816. ISWbemNamedValueSet *objWbemAsyncContext
  1817. );
  1818. [
  1819. id(WBEMS_DISPID_PROGRESS),
  1820. helpstring("Event triggered to report the progress of an asynchronous operation")
  1821. ]
  1822.     void OnProgress (
  1823. long iUpperBound,
  1824. long iCurrent,
  1825. BSTR strMessage,
  1826. ISWbemNamedValueSet *objWbemAsyncContext
  1827. );
  1828. [
  1829. id(WBEMS_DISPID_OBJECT_PUT),
  1830. helpstring("Event triggered when an object path is available following a Put operation")
  1831. ]
  1832.     void OnObjectPut (
  1833. ISWbemObjectPath *objWbemObjectPath,
  1834. ISWbemNamedValueSet *objWbemAsyncContext
  1835. );
  1836. };
  1837. /* ISWbemEventSource is an iterator for returned events from ExecQueryNotification */
  1838. [
  1839. object, 
  1840. local, 
  1841. uuid(27D54D92-0EBE-11d2-8B22-00600806D9B6), 
  1842. oleautomation, 
  1843. dual,
  1844. nonextensible,
  1845. hidden,
  1846. helpstring("An Event source"),
  1847. ]
  1848. interface ISWbemEventSource : IDispatch
  1849. {
  1850. [
  1851. id(1),
  1852. helpstring("Retrieve the next event within a specified time period. The timeout is specified in milliseconds.")
  1853. ]
  1854. HRESULT NextEvent (
  1855. [in, defaultvalue(wbemTimeoutInfinite)] long iTimeoutMs,
  1856. [out, retval] ISWbemObject **objWbemObject
  1857. );
  1858. [
  1859. id(2),
  1860. propget,
  1861. helpstring("The Security Configurator for this Object")
  1862. ]
  1863. HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity);
  1864. };
  1865. /* ISWbemSecurity provides security settings for remotable calls */
  1866. [
  1867. object,
  1868. local,
  1869. uuid(B54D66E6-2287-11d2-8B33-00600806D9B6),
  1870. oleautomation,
  1871. dual,
  1872. nonextensible,
  1873. hidden,
  1874. helpstring("A Security Configurator")
  1875. ]
  1876. interface ISWbemSecurity : IDispatch
  1877. {
  1878. [
  1879. id(1), 
  1880. propget,
  1881. helpstring("The security impersonation level")
  1882. HRESULT ImpersonationLevel ([out, retval] WbemImpersonationLevelEnum *iImpersonationLevel);
  1883. [
  1884. id(1), 
  1885. propput
  1886. HRESULT ImpersonationLevel ([in] WbemImpersonationLevelEnum iImpersonationLevel);
  1887. [
  1888. id(2), 
  1889. propget,
  1890. helpstring("The security authentication level")
  1891. HRESULT AuthenticationLevel ([out, retval] WbemAuthenticationLevelEnum *iAuthenticationLevel);
  1892. [
  1893. id(2), 
  1894. propput
  1895. HRESULT AuthenticationLevel ([in] WbemAuthenticationLevelEnum iAuthenticationLevel);
  1896. [
  1897. id(3),
  1898. propget,
  1899. helpstring ("The collection of privileges for this object")
  1900. ]
  1901. HRESULT Privileges ([out, retval] ISWbemPrivilegeSet **objWbemPrivilegeSet);
  1902. };
  1903. /* ISWbemPrivilege provides security settings for remotable calls */
  1904. [
  1905. object,
  1906. local,
  1907. uuid(26EE67BD-5804-11d2-8B4A-00600806D9B6),
  1908. oleautomation,
  1909. dual,
  1910. nonextensible,
  1911. hidden,
  1912. helpstring("A Privilege Override")
  1913. ]
  1914. interface ISWbemPrivilege : IDispatch
  1915. {
  1916. [
  1917. id(DISPID_VALUE),
  1918. propget,
  1919. helpstring("Whether the Privilege is to be enabled or disabled")
  1920. HRESULT IsEnabled ([out, retval] VARIANT_BOOL *bIsEnabled);
  1921. [
  1922. id(DISPID_VALUE),
  1923. propput
  1924. ]
  1925. HRESULT IsEnabled ([in] VARIANT_BOOL bIsEnabled);
  1926. [
  1927. id(1), 
  1928. propget,
  1929. helpstring("The name of the Privilege")
  1930. HRESULT Name ([out, retval] BSTR *strDisplayName);
  1931. [
  1932. id(2),
  1933. propget,
  1934. helpstring ("The display name of the Privilege")
  1935. ]
  1936. HRESULT DisplayName ([out, retval] BSTR *strDisplayName);
  1937. [
  1938. id(3),
  1939. propget,
  1940. helpstring ("The Privilege identifier")
  1941. ]
  1942. HRESULT Identifier ([out, retval] WbemPrivilegeEnum *iPrivilege);
  1943. };
  1944. /* ISWbemPrivilegeSet is a Collection of ISWbemPrivilege elements */
  1945. [
  1946. object, 
  1947. local, 
  1948. uuid(26EE67BF-5804-11d2-8B4A-00600806D9B6), 
  1949. oleautomation, 
  1950. dual,
  1951. hidden,
  1952. nonextensible,
  1953. helpstring("A collection of Privilege Overrides")
  1954. ]
  1955. interface ISWbemPrivilegeSet : IDispatch
  1956. {
  1957. /* These are used in the context of collections */
  1958. [
  1959. id(DISPID_NEWENUM), 
  1960. propget, 
  1961. restricted
  1962. HRESULT _NewEnum (
  1963. [out, retval] IUnknown **pUnk
  1964. );
  1965. [
  1966. id(DISPID_VALUE),
  1967. helpstring("Get a named Privilege from this collection")
  1968. ]
  1969. HRESULT Item (
  1970. [in] WbemPrivilegeEnum iPrivilege, 
  1971. [out, retval] ISWbemPrivilege **objWbemPrivilege
  1972. );
  1973. [
  1974. id(1),
  1975. propget,
  1976. helpstring("The number of items in this collection")
  1977. HRESULT Count (
  1978. [out, retval] long *iCount
  1979. );
  1980. [
  1981. id(2),
  1982. helpstring("Add a Privilege to this collection")
  1983. ]
  1984. HRESULT Add (
  1985. [in] WbemPrivilegeEnum iPrivilege,
  1986. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled,
  1987. [out, retval] ISWbemPrivilege **objWbemPrivilege
  1988. );
  1989. [
  1990. id(3),
  1991. helpstring("Remove a Privilege from this collection")
  1992. ]
  1993. HRESULT Remove (
  1994. [in] WbemPrivilegeEnum iPrivilege
  1995. );
  1996. /* End of collection-specific members */
  1997. [
  1998. id(4),
  1999. helpstring("Delete all items in this collection")
  2000. ]                
  2001.     HRESULT DeleteAll();        
  2002. [
  2003. id(5),
  2004. helpstring("Add a named Privilege to this collection")
  2005. ]
  2006. HRESULT AddAsString (
  2007. [in] BSTR strPrivilege,
  2008. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled,
  2009. [out, retval] ISWbemPrivilege **objWbemPrivilege
  2010. );
  2011. };
  2012. /* ISWbemDateTime provides a datetime helper wrapper */
  2013. [
  2014. object,
  2015. local,
  2016. uuid(5E97458A-CF77-11d3-B38F-00105A1F473A),
  2017. oleautomation,
  2018. dual,
  2019. nonextensible,
  2020. helpstring("A Datetime")
  2021. ]
  2022. interface ISWbemDateTime : IDispatch
  2023. {
  2024. [
  2025. id(DISPID_VALUE),
  2026. propget,
  2027. helpstring("The DMTF datetime")
  2028. HRESULT Value ([out, retval] BSTR *strValue);
  2029. [
  2030. id(DISPID_VALUE),
  2031. propput
  2032. ]
  2033. HRESULT Value ([in] BSTR strValue);
  2034. [
  2035. id(1),
  2036. propget,
  2037. helpstring("The Year component of the value (must be in the range 0-9999)")
  2038. HRESULT Year ([out, retval] long *iYear);
  2039. [
  2040. id(1),
  2041. propput
  2042. ]
  2043. HRESULT Year ([in] long iYear);
  2044. [
  2045. id(2),
  2046. propget,
  2047. helpstring("Whether the Year component is specified")
  2048. HRESULT YearSpecified ([out, retval] VARIANT_BOOL *bYearSpecified);
  2049. [
  2050. id(2),
  2051. propput
  2052. ]
  2053. HRESULT YearSpecified ([in] VARIANT_BOOL bYearSpecified);
  2054. [
  2055. id(3),
  2056. propget,
  2057. helpstring("The Month component of the value (must be in the range 1-12)")
  2058. HRESULT Month ([out, retval] long *iMonth);
  2059. [
  2060. id(3),
  2061. propput
  2062. ]
  2063. HRESULT Month ([in] long iMonth);
  2064. [
  2065. id(4),
  2066. propget,
  2067. helpstring("Whether the Month component is specified")
  2068. HRESULT MonthSpecified ([out, retval] VARIANT_BOOL *bMonthSpecified);
  2069. [
  2070. id(4),
  2071. propput
  2072. ]
  2073. HRESULT MonthSpecified ([in] VARIANT_BOOL bMonthSpecified);
  2074. [
  2075. id(5),
  2076. propget,
  2077. helpstring("The Day component of the value (must be in the range 1-31, or 0-999999 for interval values)")
  2078. HRESULT Day ([out, retval] long *iDay);
  2079. [
  2080. id(5),
  2081. propput
  2082. ]
  2083. HRESULT Day ([in] long iDay);
  2084. [
  2085. id(6),
  2086. propget,
  2087. helpstring("Whether the Day component is specified")
  2088. HRESULT DaySpecified ([out, retval] VARIANT_BOOL *bDaySpecified);
  2089. [
  2090. id(6),
  2091. propput
  2092. ]
  2093. HRESULT DaySpecified ([in] VARIANT_BOOL bDaySpecified);
  2094. [
  2095. id(7),
  2096. propget,
  2097. helpstring("The Hours component of the value (must be in the range 0-23)")
  2098. HRESULT Hours ([out, retval] long *iHours);
  2099. [
  2100. id(7),
  2101. propput
  2102. ]
  2103. HRESULT Hours ([in] long iHours);
  2104. [
  2105. id(8),
  2106. propget,
  2107. helpstring("Whether the Hours component is specified")
  2108. HRESULT HoursSpecified ([out, retval] VARIANT_BOOL *bHoursSpecified);
  2109. [
  2110. id(8),
  2111. propput
  2112. ]
  2113. HRESULT HoursSpecified ([in] VARIANT_BOOL bHoursSpecified);
  2114. [
  2115. id(9),
  2116. propget,
  2117. helpstring("The Minutes component of the value (must be in the range 0-59)")
  2118. HRESULT Minutes ([out, retval] long *iMinutes);
  2119. [
  2120. id(9),
  2121. propput
  2122. ]
  2123. HRESULT Minutes ([in] long iMinutes);
  2124. [
  2125. id(10),
  2126. propget,
  2127. helpstring("Whether the Minutes component is specified")
  2128. HRESULT MinutesSpecified ([out, retval] VARIANT_BOOL *bMinutesSpecified);
  2129. [
  2130. id(10),
  2131. propput
  2132. ]
  2133. HRESULT MinutesSpecified ([in] VARIANT_BOOL bMinutesSpecified);
  2134. [
  2135. id(11),
  2136. propget,
  2137. helpstring("The Seconds component of the value (must be in the range 0-59)")
  2138. HRESULT Seconds ([out, retval] long *iSeconds);
  2139. [
  2140. id(11),
  2141. propput
  2142. ]
  2143. HRESULT Seconds ([in] long iSeconds);
  2144. [
  2145. id(12),
  2146. propget,
  2147. helpstring("Whether the Seconds component is specified")
  2148. HRESULT SecondsSpecified ([out, retval] VARIANT_BOOL *bSecondsSpecified);
  2149. [
  2150. id(12),
  2151. propput
  2152. ]
  2153. HRESULT SecondsSpecified ([in] VARIANT_BOOL bSecondsSpecified);
  2154. [
  2155. id(13),
  2156. propget,
  2157. helpstring("The Microseconds component of the value (must be in the range 0-999999)")
  2158. HRESULT Microseconds ([out, retval] long *iMicroseconds);
  2159. [
  2160. id(13),
  2161. propput
  2162. ]
  2163. HRESULT Microseconds ([in] long iMicroseconds);
  2164. [
  2165. id(14),
  2166. propget,
  2167. helpstring("Whether the Microseconds component is specified")
  2168. HRESULT MicrosecondsSpecified ([out, retval] VARIANT_BOOL *bMicrosecondsSpecified);
  2169. [
  2170. id(14),
  2171. propput
  2172. ]
  2173. HRESULT MicrosecondsSpecified ([in] VARIANT_BOOL bMicrosecondsSpecified);
  2174. [
  2175. id(15),
  2176. propget,
  2177. helpstring("The UTC component of the value (must be in the range -720 to 720)")
  2178. HRESULT UTC ([out, retval] long *iUTC);
  2179. [
  2180. id(15),
  2181. propput
  2182. ]
  2183. HRESULT UTC ([in] long iUTC);
  2184. [
  2185. id(16),
  2186. propget,
  2187. helpstring("Whether the UTC component is specified")
  2188. HRESULT UTCSpecified ([out, retval] VARIANT_BOOL *bUTCSpecified);
  2189. [
  2190. id(16),
  2191. propput
  2192. ]
  2193. HRESULT UTCSpecified ([in] VARIANT_BOOL bUTCSpecified);
  2194. [
  2195. id(17),
  2196. propget,
  2197. helpstring("Indicates whether this value describes an absolute date and time or is an interval")
  2198. HRESULT IsInterval ([out, retval] VARIANT_BOOL *bIsInterval);
  2199. [
  2200. id(17),
  2201. propput
  2202. ]
  2203. HRESULT IsInterval ([in] VARIANT_BOOL bIsInterval);
  2204. [
  2205. id(18),
  2206. helpstring("Retrieve value in Variant compatible (VT_DATE) format")
  2207. ]
  2208. HRESULT GetVarDate (
  2209. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal,
  2210. [out, retval] DATE *dVarDate
  2211. );
  2212. [
  2213. id(19),
  2214. helpstring("Set the value using Variant compatible (VT_DATE) format")
  2215. ]
  2216. HRESULT SetVarDate (
  2217. [in] DATE dVarDate,
  2218. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal
  2219. );
  2220. [
  2221. id(20),
  2222. helpstring("Retrieve value in FILETIME compatible string representation")
  2223. ]
  2224. HRESULT GetFileTime (
  2225. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal,
  2226. [out, retval] BSTR *strFileTime
  2227. );
  2228. [
  2229. id(21),
  2230. helpstring("Set the value using FILETIME compatible string representation")
  2231. ]
  2232. HRESULT SetFileTime (
  2233. [in] BSTR strFileTime,
  2234. [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal
  2235. );
  2236. };
  2237. /* ISWbemRefreshableItem defines an item in a refresher */
  2238. [
  2239. object,
  2240. local,
  2241. uuid(5AD4BF92-DAAB-11d3-B38F-00105A1F473A),
  2242. oleautomation,
  2243. dual,
  2244. nonextensible,
  2245. helpstring("A single item in a Refresher")
  2246. ]
  2247. interface ISWbemRefreshableItem : IDispatch
  2248. {
  2249. [
  2250. id(1),
  2251. propget,
  2252. helpstring("The index of this item in the parent refresher")
  2253. HRESULT Index (
  2254. [out, retval] long *iIndex
  2255. );
  2256. [
  2257. id(2),
  2258. propget,
  2259. helpstring("The parent refresher")
  2260. HRESULT Refresher (
  2261. [out, retval] ISWbemRefresher **objWbemRefresher
  2262. );
  2263. [
  2264. id(3),
  2265. propget,
  2266. helpstring("Whether this item represents a single object or an object set")
  2267. HRESULT IsSet (
  2268. [out, retval] VARIANT_BOOL *bIsSet
  2269. );
  2270. [
  2271. id(4),
  2272. propget,
  2273. helpstring("The object")
  2274. HRESULT Object (
  2275. [out, retval] ISWbemObjectEx **objWbemObject
  2276. );
  2277. [
  2278. id(5),
  2279. propget,
  2280. helpstring("The object set")
  2281. HRESULT ObjectSet (
  2282. [out, retval] ISWbemObjectSet **objWbemObjectSet
  2283. );
  2284. [
  2285. id(6),
  2286. helpstring("Remove this item from the parent refresher")
  2287. HRESULT Remove (
  2288. [in, defaultvalue(0)] long iFlags
  2289. );
  2290. };
  2291. /* ISWbemRefresher provides an object refresher collection */
  2292. [
  2293. object,
  2294. local,
  2295. uuid(14D8250E-D9C2-11d3-B38F-00105A1F473A),
  2296. oleautomation,
  2297. dual,
  2298. nonextensible,
  2299. helpstring("A Collection of Refreshable Objects")
  2300. ]
  2301. interface ISWbemRefresher : IDispatch
  2302. {
  2303. /* These are used in the context of collections */
  2304. [
  2305. id(DISPID_NEWENUM), 
  2306. propget, 
  2307. restricted
  2308. HRESULT _NewEnum (
  2309. [out, retval] IUnknown **pUnk
  2310. );
  2311. [
  2312. id(DISPID_VALUE),
  2313. helpstring("Get an item from this refresher")
  2314. ]
  2315. HRESULT Item (
  2316. [in] long iIndex, 
  2317. [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem
  2318. );
  2319. [
  2320. id(1),
  2321. propget,
  2322. helpstring("The number of items in this refresher")
  2323. HRESULT Count (
  2324. [out, retval] long *iCount
  2325. );
  2326. [
  2327. id(2),
  2328. helpstring("Add a refreshable instance to this refresher")
  2329. ]
  2330. HRESULT Add (
  2331. [in] ISWbemServicesEx *objWbemServices,
  2332. [in] BSTR bsInstancePath,
  2333. [in, defaultvalue(0)] long iFlags,
  2334. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  2335. [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem
  2336. );
  2337. [
  2338. id(3),
  2339. helpstring("Add a refreshable enumerator to this refresher")
  2340. ]
  2341. HRESULT AddEnum (
  2342. [in] ISWbemServicesEx *objWbemServices,
  2343. [in] BSTR bsClassName,
  2344. [in, defaultvalue(0)] long iFlags,
  2345. [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet,
  2346. [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem
  2347. );
  2348. [
  2349. id(4),
  2350. helpstring("Remove an item from this refresher")
  2351. ]
  2352. HRESULT Remove (
  2353. [in] long iIndex,
  2354. [in, defaultvalue(0)] long iFlags
  2355. );
  2356. [
  2357. id(5),
  2358. helpstring("Refresh all items in this collection")
  2359. ]
  2360. HRESULT Refresh (
  2361. [in, defaultvalue(0)] long iFlags
  2362. );
  2363. [
  2364. id(6),
  2365. propget,
  2366. helpstring("Whether to attempt auto-reconnection to a remote provider")
  2367. HRESULT AutoReconnect (
  2368. [out, retval] VARIANT_BOOL *bCount
  2369. );
  2370. [
  2371. id(6),
  2372. propput
  2373. HRESULT AutoReconnect (
  2374. [in] VARIANT_BOOL bCount
  2375. );
  2376. [
  2377. id(7),
  2378. helpstring("Delete all items in this collection")
  2379. ]                
  2380.     HRESULT DeleteAll();   
  2381. };