Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2765 lines
64 KiB

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