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.

500 lines
18 KiB

  1. // (c) 1998-1999 Microsoft Corporation. All rights reserved.
  2. #pragma autorecover
  3. #pragma classflags("forceupdate")
  4. Qualifier Description : ToSubClass Amended;
  5. Qualifier Values : ToSubClass Amended;
  6. Qualifier DisplayName : Amended;
  7. Qualifier BitValues:ToSubClass Amended ;
  8. Qualifier Aggregate : ToSubClass ;
  9. Qualifier ValueMap : ToSubClass ;
  10. Qualifier Aggregation : ToSubClass ;
  11. Qualifier ArrayType : ToSubClass ;
  12. Qualifier Association : ToInstance ToSubClass DisableOverride ;
  13. Qualifier BitMap : ToSubClass ;
  14. Qualifier CIM_Key : ToSubClass ;
  15. Qualifier CIMTYPE : ToSubClass ;
  16. Qualifier Deprecated : ToSubClass ;
  17. Qualifier Enumeration : ToSubClass ;
  18. Qualifier EnumPrivileges : ToSubClass ;
  19. Qualifier ImplementationSource : ToSubClass ;
  20. Qualifier Key : ToInstance ToSubClass DisableOverride ;
  21. Qualifier Locale : ToInstance ;
  22. Qualifier MappingStrings : ToSubClass ;
  23. Qualifier Max : ToSubClass ;
  24. Qualifier MaxLen : ToSubClass ;
  25. Qualifier Min : ToSubClass ;
  26. Qualifier ModelCorrespondence : ToSubClass ;
  27. Qualifier Not_Null : ToSubClass ;
  28. Qualifier Override : Restricted ;
  29. Qualifier Privileges : ToSubClass ;
  30. Qualifier Propagated : ToSubClass ;
  31. Qualifier provider : ToInstance ;
  32. Qualifier Range : ToSubClass ;
  33. Qualifier Read : ToSubClass ;
  34. Qualifier Schema : ToInstance ;
  35. Qualifier Singleton : ToSubClass ToInstance ;
  36. Qualifier SUBTYPE : ToSubClass ;
  37. Qualifier Units : ToSubClass ;
  38. Qualifier UUID : ToInstance ;
  39. Qualifier Volatile : ToSubClass ;
  40. Qualifier Weak : ToSubClass ;
  41. Qualifier Write : ToSubClass ;
  42. Qualifier WritePrivileges : ToSubClass ;
  43. #pragma namespace ("\\\\.\\Root\\CIMV2")
  44. instance of __Win32Provider as $ShutdownEvent
  45. {
  46. Name = "MS_Shutdown_Event_Provider";
  47. ClsId = "{A3E41207-BE04-492a-AFF0-19E880FF7545}";
  48. HostingModel = "LocalSystemHost";
  49. };
  50. [Locale (0x409), Abstract, Description (
  51. "The CollectionOfMSEs object allows the grouping of Managed"
  52. "SystemElements for the purposes of associating Settings and "
  53. "Configurations. It is abstract to require further definition "
  54. "and semantic refinement in subclasses. The CollectionOfMSEs "
  55. "object does not carry any state or status information, but "
  56. "only represents a grouping or 'bag' of Elements. For this "
  57. "reason, it is incorrect to subclass groups that have state/"
  58. "status from CollectionOfMSEs - an example is CIM_Redundancy"
  59. "Group (which is correctly subclassed from LogicalElement).\n"
  60. "Collections typically aggregate 'like' objects, and represent "
  61. "an optimization. Without Collections, one is forced to define "
  62. "individual ElementSetting and ElementConfiguration "
  63. "associations, to tie Settings and Configuration objects to "
  64. "individual ManagedSystemElements. There may be much "
  65. "duplication in assigning the same Setting to multiple objects. "
  66. "In addition, using the Collection object allows the "
  67. "determination that the Setting and Configuration associations "
  68. "are indeed the same for the Collection's members. This "
  69. "information would otherwise be obtained by defining the "
  70. "Collection in a proprietary manner, and then querying "
  71. "the ElementSetting and ElementConfiguration associations to "
  72. "determine if the Collection set is completely covered.") ]
  73. class CIM_CollectionOfMSEs
  74. {
  75. [MaxLen (256), Description (
  76. "The identification of the Collection object. When subclassed, "
  77. "the CollectionID property can be overridden to be a Key "
  78. "property.") ]
  79. string CollectionID;
  80. [MaxLen (64), Description (
  81. "A short textual description (one-line string) of the "
  82. "CollectionOfMSEs object.") ]
  83. string Caption;
  84. [Description (
  85. "A textual description of the CollectionOfMSEs object.") ]
  86. string Description;
  87. };
  88. [Locale (0x409),Abstract,
  89. Association, Aggregation, Description (
  90. "CIM_CollectedMSEs is a generic association used to "
  91. "establish the members of the grouping object, CollectionOf"
  92. "MSEs.") ]
  93. class CIM_CollectedMSEs
  94. {
  95. [Aggregate, CIM_Key, Description (
  96. "The grouping or 'bag' object that represents the "
  97. "Collection.") ]
  98. CIM_CollectionOfMSEs REF Collection;
  99. [CIM_Key, Description ("The members of the Collection.") ]
  100. CIM_ManagedSystemElement REF Member;
  101. };
  102. [Locale (0x409), Abstract,
  103. Association, Aggregation, Description (
  104. "CIM_CollectedCollections is an aggregation association "
  105. "representing that a CollectionOfMSEs may itself be contained "
  106. "in a CollectionOfMSEs.") ]
  107. class CIM_CollectedCollections
  108. {
  109. [Aggregate, CIM_Key, Description (
  110. "The 'higher level' or parent element in the aggregation.") ]
  111. CIM_CollectionOfMSEs REF Collection;
  112. [CIM_Key, Description ("The 'collected' Collection.") ]
  113. CIM_CollectionOfMSEs REF CollectionInCollection;
  114. };
  115. [Locale (0x409), Abstract,
  116. Association, Description (
  117. "CollectionSetting represents the association between a "
  118. "CollectionOfMSEs class and the Setting class(es) defined for "
  119. "them.") ]
  120. class CIM_CollectionSetting
  121. {
  122. [CIM_Key, Description ("The CollectionOfMSEs.") ]
  123. CIM_CollectionOfMSEs REF Collection;
  124. [CIM_Key, Description (
  125. "The Setting object associated with the Collection.") ]
  126. CIM_Setting REF Setting;
  127. };
  128. [Locale (0x409), Association, Abstract, Description (
  129. "CIM_LogicalIdentity is an abstract and generic association, "
  130. "indicating that two LogicalElements represent different "
  131. "aspects of the same underlying entity. This relationship "
  132. "conveys what could be defined with multiple inheritance. It "
  133. "is restricted to the 'logical' aspects of a ManagedSystem"
  134. "Element. In most scenarios, the Identity relationship is "
  135. "determined by the equivalence of Keys or some other "
  136. "identifying properties of the related Elements. The "
  137. "association should only be used in well understood scenarios. "
  138. "This is why the association is abstract - allowing more "
  139. "concrete definition and clarification in subclasses. One of "
  140. "the scenarios where this relationship is reasonable is to "
  141. "represent that a Device is both a 'bus' entity and a "
  142. "'functional' entity. For example, a Device could be both a "
  143. "USB (bus) and a Keyboard (functional) entity.") ]
  144. class CIM_LogicalIdentity
  145. {
  146. [Key, Description(
  147. "SystemElement represents one aspect of the Logical"
  148. "Element.") ]
  149. CIM_LogicalElement ref SystemElement;
  150. [Key, Description(
  151. "SameElement represents an alternate aspect of the "
  152. "System entity.") ]
  153. CIM_LogicalElement ref SameElement;
  154. };
  155. [Abstract,
  156. Description ("This class represents an association "
  157. "between a managed system element collection and the class "
  158. "representing statistical information about the collection."),
  159. Locale (0x409),
  160. UUID ("{13FFA73F-25AA-4b66-B63C-B635514678C5}") ]
  161. class Win32_CollectionStatistics {
  162. [Description("This property is a reference to the instance that "
  163. "contains statistical information about a collection.")]
  164. CIM_StatisticalInformation REF Stats;
  165. [Description("This property is a reference to an instance of "
  166. "a collection of managed system elements.")]
  167. CIM_CollectionOfMSEs REF Collection;
  168. };
  169. [Description ("This event class represents events related to a "
  170. "computer sytem."),
  171. Locale (0x409),
  172. UUID ("{999A286E-CF9C-4f0c-8F0F-827C4C0D9CC6}")]
  173. class Win32_ComputerSystemEvent : __ExtrinsicEvent {
  174. [Read,
  175. Description ("The MachineName property contains the name of the "
  176. "machine for which the event had occurred.")]
  177. string MachineName;
  178. };
  179. [Description ("This event class represents events "
  180. "when a computer has begun the process of shutting down."),
  181. Locale (0x409),
  182. UUID ("{A6B834B1-F974-4445-8F2E-FC996638B350}")]
  183. class Win32_ComputerShutdownEvent : Win32_ComputerSystemEvent {
  184. [Read,
  185. Description ("The Type property contains the type of shutdown "
  186. "that was initiated. This event pertains to both shutdown as "
  187. "well as reboots of the system."),
  188. Values {"Log Off", "Shutdown or Reboot"}]
  189. uint32 Type;
  190. };
  191. [Dynamic, Provider("CIMWin32a"), Description (
  192. "The Win32_USBHub class represents the management characterisitics "
  193. "of a USB Hub."),
  194. Locale (0x409), UUID ("{52E56374-B17E-41DC-00EC-FC3E6E8D8783}") ]
  195. class Win32_USBHub : CIM_USBHub
  196. {
  197. [read: ToSubClass, Key: ToSubClass, MaxLen (256): ToSubClass,
  198. Override ("DeviceID"): ToSubClass, Description (
  199. "The DeviceID property DeviceID is an address or other identifying "
  200. "information which uniquely identifies the USBHub."): ToSubClass,
  201. MappingStrings {""}: ToSubClass]
  202. string DeviceID;
  203. [read: ToSubClass, Override ("Name"): ToSubClass, Description (
  204. "The Name property indicates the name of the USB Hub."): ToSubClass,
  205. MappingStrings {""}: ToSubClass]
  206. string Name;
  207. };
  208. [Dynamic, Provider("CIMWin32a"), Description (
  209. "USBControllerHasHub defines the Hub(s) that are downstream "
  210. "of the USBController."), Locale (0x409)
  211. ]
  212. class Win32_ControllerHasHub : CIM_USBControllerHasHub
  213. {
  214. [Read, Key,
  215. Override ("Antecedent"),
  216. Min(1), Max(1),
  217. Description ("The USBController.")
  218. ]
  219. Win32_USBController REF Antecedent;
  220. [Read, Key,
  221. Override ("Dependent"),
  222. Min(1), Description (
  223. "The USBHub that is associated with the Controller.")
  224. ]
  225. Win32_USBHub REF Dependent;
  226. };
  227. [Dynamic, Provider ("CIMWin32a") , Description (
  228. "The Win32_PhysicaMedia class represents any type of documentation or "
  229. "storage medium, such as tapes, CD ROMs, etc."): ToSubClass,
  230. Locale (0x409), UUID ("{BF253431-1E4D-4F57-00E7-64B2CACC801E}") ]
  231. class Win32_PhysicalMedia : CIM_PhysicalMedia
  232. {
  233. [read: ToSubClass, Key: ToSubClass,
  234. MaxLen (256): ToSubClass, Override ("Tag"): ToSubClass,
  235. Description ("The Tag property uniquely "
  236. "identifies the physical media in the system."
  237. "\nExample: \\\\PHYSICALDRIVE0"): ToSubClass,
  238. MappingStrings {""}: ToSubClass]
  239. string Tag;
  240. [read: ToSubClass, Override ("SerialNumber"): ToSubClass,
  241. Description ("The Serial number property is a manufacturer-allocated "
  242. "number used to identify the physicalmedia. \nExample: WD-WM3493798728 "
  243. "for a disk serial number."): ToSubClass,
  244. MappingStrings {""}: ToSubClass]
  245. string SerialNumber;
  246. };
  247. [Dynamic, Provider ("CIMWin32a") , Description (
  248. "The Win32_PhysicalElementsOfDiskDrive association defines the "
  249. "mapping between a disk drive and the physical components that "
  250. "implement it."): ToSubClass,
  251. Locale (0x409), UUID ("{}") ]
  252. class Win32_DiskDrivePhysicalMedia: CIM_Realizes
  253. {
  254. [Read: ToSubClass, Key: ToSubClass,
  255. Override ("Antecedent"): ToSubClass,
  256. Description ("The Antecedent reference represents the physical component "
  257. "that implements the DiskDrive device."): ToSubClass,
  258. MappingStrings {""}: ToSubClass]
  259. Win32_PhysicalMedia REF Antecedent;
  260. [Read: ToSubClass, Key: ToSubClass,
  261. Override ("Dependent"): ToSubClass,
  262. Description ("The Dependent reference represents the disk drive."):
  263. ToSubClass,
  264. MappingStrings {""}: ToSubClass]
  265. Win32_DiskDrive REF Dependent;
  266. };
  267. [Dynamic, Provider ("CIMWin32a"), Description (
  268. "The Win32_NTDomain class represents a NT Domain. A "
  269. "domain is a single security boundary of a Windows NT computer "
  270. "network. Active Directory is made up of one or more domains. On a "
  271. "standalone workstation, the domain is the computer itself. A domain "
  272. "can span more than one physical location. Every domain has its own "
  273. "security policies and security relationships with other domains. "
  274. "When multiple domains are connected by trust relationships and share "
  275. "a common schema, configuration, and global catalog, you have a domain "
  276. "tree. Multiple domain trees can be connected together into a forest. "
  277. "All the domains in a forest also share a common schema, configuration, "
  278. "and global catalog."): ToSubClass,
  279. Locale (0x409), UUID ("78F4FA18-EE46-4D4C-AB9B-8CC0D42B7038") ]
  280. class Win32_NTDomain: CIM_System
  281. {
  282. [read : ToSubClass,
  283. Description ("The DomainControllerName property indicates the "
  284. "computer name of the discovered domain controller."): ToSubClass]
  285. string DomainControllerName;
  286. [read : ToSubClass,
  287. Description ("The DomainControllerAddress property indicates the "
  288. "address of the discovered domain controller."): ToSubClass]
  289. string DomainControllerAddress;
  290. [read : ToSubClass,
  291. Description ("Indicates the type of address specified in "
  292. "DomainControllerAddress. The following valid values are presented "
  293. "in order, DS_INET_ADDRESS = Address is a string IP address (for "
  294. "example, \\\\157.55.94.74) of the domain controller. "
  295. "DS_NETBIOS_ADDRESS = The NetBIOS name (for example, \\\\phoenix) "
  296. "of the domain controller."): ToSubClass,
  297. ValueMap {"1", "2"},
  298. Values {"DS_INET_ADDRESS", "DS_NETBIOS_ADDRESS"}]
  299. sint32 DomainControllerAddressType;
  300. [read : ToSubClass , Description ("The GUID of the domain. This member will "
  301. "be zero if the domain controller does not have a Domain GUID "
  302. "(for example, the domain controller is not a Windows 2000 domain "
  303. "controller)."): ToSubClass]
  304. string DomainGuid;
  305. [read : ToSubClass,
  306. Description ("The DomainName property indicates the name of the "
  307. "domain. The DNS-style name (for example, microsoft.com.) will "
  308. "be returned if available. "): ToSubClass]
  309. string DomainName;
  310. [read : ToSubClass,
  311. Description ("The DnsForestName property indicates the name of "
  312. "the domain at the root of the DS tree. The DNS-style name (for "
  313. "example, microsoft.com.) will be returned if available. "): ToSubClass]
  314. string DnsForestName;
  315. [read : ToSubClass,
  316. Description ("Directory Service (DS) flag indicating that the "
  317. "domain controller is the Primary Domain Controller (PDC) of "
  318. "the domain."): ToSubClass]
  319. boolean DSPrimaryDomainControllerFlag;
  320. [read : ToSubClass,
  321. Description ("Directory Service (DS) flag indicating that the "
  322. "domain controller hosts a write able DS or Security Accounts "
  323. "Manager (SAM)."): ToSubClass]
  324. boolean DSWritableFlag;
  325. [read : ToSubClass,
  326. Description ("Directory Service (DS) flag indicating that the domain "
  327. "controller is a Global Catalog (GC) server for DnsForestName."): ToSubClass]
  328. boolean DSGlobalCatalogFlag;
  329. [read : ToSubClass,
  330. Description ("Directory Service (DS) flag indicating that the "
  331. "domain controller is a directory service server for the domain."): ToSubClass]
  332. boolean DSDirectoryServiceFlag;
  333. [read : ToSubClass,
  334. Description ("Directory Service (DS) flag indicating that the domain "
  335. "controller is a Kerberos Key Distribution Center for the domain."): ToSubClass]
  336. boolean DSKerberosDistributionCenterFlag;
  337. [read : ToSubClass,
  338. Description ("Directory Service (DS) flag indicating that the domain "
  339. "controller is running the Windows Time service for the domain."): ToSubClass]
  340. boolean DSTimeServiceFlag;
  341. [read : ToSubClass,
  342. Description ("Directory Service (DS) flag indicating that the "
  343. "Domain Controller Name is in DNS format (for example, "
  344. "www.mynode.com or 135.5.33.19)."): ToSubClass]
  345. boolean DSDnsControllerFlag;
  346. [read : ToSubClass,
  347. Description ("Directory Service (DS) flag indicating that the "
  348. "DomainName is in DNS format(for example, www.mynode.com or "
  349. "135.5.33.19)."): ToSubClass]
  350. boolean DSDnsDomainFlag;
  351. [read : ToSubClass,
  352. Description ("Directory Service (DS) flag indicating that the "
  353. "DnsForestName is in DNS format (for example, www.mynode.com "
  354. "or 135.5.33.19)."): ToSubClass]
  355. boolean DSDnsForestFlag;
  356. [read : ToSubClass,
  357. Description ("The DcSiteName property indicates the name of "
  358. "the site where the domain controller is located. This value "
  359. "may be NULL if the domain controller is not in a site (for "
  360. "example, the domain controller is a Windows NT 4.0 domain "
  361. "controller)."): ToSubClass]
  362. string DcSiteName;
  363. [read : ToSubClass,
  364. Description ("The ClientSiteName property indicates the name "
  365. "of the site where the domain controller is configured to be "
  366. "in. This value may be NULL if the site that the computer named "
  367. "by ComputerName cannot be found (for example, if the DS "
  368. "administrator has not associated the subnet that the computer "
  369. "is in with a valid site)."): ToSubClass]
  370. string ClientSiteName;
  371. };
  372. //RuleBased("Select * From "
  373. // "Win32_NTDomain As A "
  374. // "Join "
  375. // "Win32_UserAccount As B "
  376. // "On A.DomainName = B.Domain")
  377. [Dynamic,
  378. Provider ("CIMWin32a"),
  379. Description ("The Win32_UserInDomain relationship identifies the "
  380. "user accounts associated with a NT domain."),
  381. Locale (0x409), UUID ("B38813CF-0673-495C-A12F-384D47BDF1ED") ]
  382. class Win32_UserInDomain: CIM_Component
  383. {
  384. [Read, key,
  385. Description ("The Antecedent reference represents the domain "
  386. "the user account exists in."),
  387. MappingStrings {"WMI|Win32_NTDomain"}]
  388. Win32_NTDomain REF GroupComponent;
  389. [Read, key,
  390. Description ("The Dependent reference represents the user "
  391. "accounts that exists on the domain."),
  392. MappingStrings {"WMI|Win32_UserAccount"}]
  393. Win32_UserAccount REF PartComponent;
  394. };
  395. //RuleBased("Select * From "
  396. // "Win32_NTDomain As A "
  397. // "Join "
  398. // "Win32_Group As B "
  399. // "On A.DomainName = B.Domain")
  400. [Dynamic,
  401. Provider ("CIMWin32a"),
  402. Description ("The Win32_GroupInDomain relationship identifies the "
  403. "group accounts associated with a NT domain."),
  404. Locale (0x409), UUID ("C1717231-5F16-4AE6-966F-6CA856B7AAF6") ]
  405. class Win32_GroupInDomain: CIM_Component
  406. {
  407. [Read, key,
  408. Description ("The Antecedent reference represents the domain "
  409. "the user account exists in."),
  410. MappingStrings {"WMI|Win32_NTDomain"}]
  411. Win32_NTDomain REF GroupComponent;
  412. [Read, key,
  413. Description ("The Dependent reference represents the group "
  414. "accounts that exists on the domain."),
  415. MappingStrings {"WMI|Win32_Group"}]
  416. Win32_Group REF PartComponent;
  417. };
  418. instance of __EventProviderRegistration
  419. {
  420. Provider = $ShutdownEvent;
  421. EventQueryList = {"select * from Win32_ComputerShutdownEvent"};
  422. };