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.

1428 lines
52 KiB

  1. // Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved
  2. #pragma namespace("\\\\.\\root")
  3. instance of __Namespace
  4. {
  5. Name = "MS_CIM";
  6. };
  7. #pragma namespace("\\\\.\\root\\MS_CIM")
  8. instance of __Win32Provider as $DataProv
  9. {
  10. Name = "MS_VIEW_INSTANCE_PROVIDER";
  11. ClsId = "{AA70DDF4-E11C-11D1-ABB0-00C04FD9159E}";
  12. ImpersonationLevel = 1;
  13. PerUserInitialization = "True";
  14. };
  15. instance of __InstanceProviderRegistration
  16. {
  17. Provider = $DataProv;
  18. SupportsPut = True;
  19. SupportsGet = True;
  20. SupportsDelete = True;
  21. SupportsEnumeration = True;
  22. QuerySupportLevels = {"WQL:UnarySelect"};
  23. };
  24. instance of __MethodProviderRegistration
  25. {
  26. Provider = $DataProv;
  27. };
  28. [Abstract, Locale(1033): ToInstance, UUID("{8502C517-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  29. class CIM_ManagedSystemElement
  30. {
  31. [MaxLen(64): ToSubClass, read: ToSubClass] string Caption;
  32. [read: ToSubClass] string Description;
  33. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass] datetime InstallDate;
  34. [read: ToSubClass] string Name;
  35. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass] string Status;
  36. };
  37. [Abstract, Locale(1033): ToInstance, UUID("{8502C518-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  38. class CIM_LogicalElement : CIM_ManagedSystemElement
  39. {
  40. };
  41. [Abstract, Locale(1033): ToInstance, UUID("{8502C524-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  42. class CIM_System : CIM_LogicalElement
  43. {
  44. [key, read: ToSubClass, Override("Name"): ToSubClass] string Name = NULL;
  45. [key, read: ToSubClass] string CreationClassName;
  46. [read: ToSubClass] string NameFormat;
  47. [read: ToSubClass] string PrimaryOwnerContact;
  48. [read: ToSubClass] string PrimaryOwnerName;
  49. [read: ToSubClass] string Roles[];
  50. };
  51. [Abstract, Locale(1033): ToInstance, UUID("{8502C525-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  52. class CIM_ComputerSystem : CIM_System
  53. {
  54. [read: ToSubClass, Override("NameFormat"): ToSubClass, ValueMap{"IP", "Dial", "HID", "NWA", "HWA", "X25", "ISDN", "IPX", "DCC", "ICD", "E.164", "SNA", "OID/OSI", "Other"}: ToSubClass] string NameFormat = NULL;
  55. };
  56. [Abstract, Locale(1033): ToInstance, UUID("{8502C526-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  57. class CIM_UnitaryComputerSystem : CIM_ComputerSystem
  58. {
  59. [read: ToSubClass] string InitialLoadInfo[];
  60. [read: ToSubClass] string LastLoadInfo;
  61. [read: ToSubClass] boolean PowerManagementSupported;
  62. [read: ToSubClass, MappingStrings{"MIF.DMTF|System Power Controls|001.2"}: ToSubClass] uint16 PowerManagementCapabilities[];
  63. [read: ToSubClass] uint16 PowerState;
  64. [read: ToSubClass, ValueMap{"1", "2", "3", "4", "5"}: ToSubClass, MappingStrings{"MIF.DMTF|System Hardware Security|001.4"}: ToSubClass] uint16 ResetCapability;
  65. uint32 SetPowerState([IN] uint16 PowerState, [IN] datetime Time);
  66. };
  67. [
  68. Union,
  69. ViewSources {"Select * From Win32_ComputerSystem"},
  70. ViewSpaces {"\\\\.\\root\\cimv2"},
  71. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  72. ]
  73. class Win32_ComputerSystem : CIM_UnitaryComputerSystem
  74. {
  75. [MaxLen(64): ToSubClass, read: ToSubClass,
  76. PropertySources{"Caption"}
  77. ]
  78. string Caption;
  79. [read: ToSubClass, Override("CreationClassName"): ToSubClass,
  80. PropertySources{"CreationClassName"}
  81. ]
  82. string CreationClassName ;
  83. [read: ToSubClass,
  84. PropertySources{"Description"}
  85. ]
  86. string Description;
  87. [read: ToSubClass,
  88. PropertySources{"InitialLoadInfo"}
  89. ]
  90. string InitialLoadInfo[];
  91. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  92. PropertySources{"InstallDate"}
  93. ]
  94. datetime InstallDate;
  95. [read: ToSubClass,
  96. PropertySources{"LastLoadInfo"}
  97. ]
  98. string LastLoadInfo;
  99. [read: ToSubClass, Override("Name"): ToSubClass,
  100. PropertySources{"Name"}
  101. ]
  102. string Name;
  103. [read: ToSubClass,
  104. PropertySources{"NameFormat"}
  105. ]
  106. string NameFormat;
  107. [read: ToSubClass, MappingStrings{"MIF.DMTF|System Power Controls|001.2"}: ToSubClass,
  108. PropertySources{"PowerManagementCapabilities"}
  109. ]
  110. uint16 PowerManagementCapabilities[];
  111. [read: ToSubClass,
  112. PropertySources{"PowerManagementSupported"}
  113. ]
  114. boolean PowerManagementSupported;
  115. [read: ToSubClass,
  116. PropertySources{"PowerState"}
  117. ]
  118. uint16 PowerState;
  119. [read: ToSubClass,
  120. PropertySources{"PrimaryOwnerContact"}
  121. ]
  122. string PrimaryOwnerContact;
  123. [read: ToSubClass,
  124. PropertySources{"PrimaryOwnerName"}
  125. ]
  126. string PrimaryOwnerName;
  127. [read: ToSubClass, ValueMap{"1", "2", "3", "4", "5"}: ToSubClass, MappingStrings{"MIF.DMTF|System Hardware Security|001.4"}: ToSubClass,
  128. PropertySources{"ResetCapability"}
  129. ]
  130. uint16 ResetCapability;
  131. [read: ToSubClass,
  132. PropertySources{"Roles"}]
  133. string Roles[];
  134. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  135. PropertySources{"Status"}
  136. ]
  137. string Status;
  138. //Win32 Stuff...
  139. [read: ToSubClass, MappingStrings{"SMBIOS|Type 24|Hardware Security Settings|AdminPasswordStatus"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  140. PropertySources{"AdminPasswordStatus"}
  141. ]
  142. uint16 AdminPasswordStatus;
  143. [read: ToSubClass, MappingStrings{"Win32Registry|HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\CrashControl|AutoReboot"}: ToSubClass,
  144. PropertySources{"AutomaticResetBootOption"}
  145. ]
  146. boolean AutomaticResetBootOption;
  147. [read: ToSubClass, MappingStrings{"WMI|ComputerSystem|GetCompSysInfo"}: ToSubClass,
  148. PropertySources{"AutomaticResetCapability"}
  149. ]
  150. boolean AutomaticResetCapability;
  151. [read: ToSubClass, MappingStrings{"WMI|ComputerSystem|GetCompSysInfo"}: ToSubClass,
  152. PropertySources{"BootROMSupported"}
  153. ]
  154. boolean BootROMSupported;
  155. [read: ToSubClass, MappingStrings{"Win32API|GetSystemMetrics|SM_CLEANBOOT"}: ToSubClass,
  156. PropertySources{"BootupState"}
  157. ]
  158. string BootupState;
  159. [read: ToSubClass, Units("Minutes"): ToSubClass, MappingStrings{"Win32API|Time Structures|TIME_ZONE_INFORMATION|Bias"}: ToSubClass,
  160. PropertySources{"CurrentTimeZone"}
  161. ]
  162. sint16 CurrentTimeZone;
  163. [read: ToSubClass, MappingStrings{"Win32API|Network Management Structures|WKSTA_INFO_100|wki100_langroup"}: ToSubClass,
  164. PropertySources{"Domain"}
  165. ]
  166. string Domain;
  167. [read: ToSubClass, MappingStrings{"WMI|GetDeviceListFilterByClass"}: ToSubClass,
  168. PropertySources{"InfraredSupported"}
  169. ]
  170. boolean InfraredSupported;
  171. [read: ToSubClass, MappingStrings{"SMBIOS|Type 1|System Information|Manufacturer"}: ToSubClass,
  172. PropertySources{"Manufacturer"}
  173. ]
  174. string Manufacturer;
  175. [read: ToSubClass, MappingStrings{"SMBIOS|Type 1|System Information|Product Name"}: ToSubClass,
  176. PropertySources{"Model"}
  177. ]
  178. string Model;
  179. [read: ToSubClass, MappingStrings{"Win32API|Network Management Structures|SERVER_INFO_101|sv101_type|SV_TYPE_SERVER"}: ToSubClass,
  180. PropertySources{"NetworkServerModeEnabled"}
  181. ]
  182. boolean NetworkServerModeEnabled;
  183. [read: ToSubClass, MappingStrings{"WMI|IDS_OemLogoBmp|OemLogo.Bmp"}: ToSubClass,
  184. PropertySources{"OEMLogoBitmap"}
  185. ]
  186. uint8 OEMLogoBitmap[];
  187. [read: ToSubClass, MappingStrings{"Win32API|GetPrivateProfileString|Support Information"}: ToSubClass,
  188. PropertySources{"SupportContactDescription"}
  189. ]
  190. string SupportContactDescription[];
  191. [read: ToSubClass, write: ToSubClass, units("Seconds"): ToSubClass, MappingStrings{"Win32API|GetPrivateProfileInt|Boot Loader|timeout"}: ToSubClass,
  192. PropertySources{"SystemStartupDelay"}
  193. ]
  194. uint16 SystemStartupDelay;
  195. [read: ToSubClass, MappingStrings{"Win32API|GetPrivateProfileSection|Operating Systems"}: ToSubClass,
  196. PropertySources{"SystemStartupOptions"}
  197. ]
  198. string SystemStartupOptions[];
  199. [read: ToSubClass, write: ToSubClass, MappingStrings{"WMI|GetStartupOptions"}: ToSubClass,
  200. PropertySources{"SystemStartupSetting"}
  201. ]
  202. uint8 SystemStartupSetting;
  203. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|SYSTEM_INFO|wProcessorArchitecture"}: ToSubClass, ValueMap{"X86-based PC", "MIPS-based PC", "Alpha-based PC", "Power PC", "SH-x PC", "StrongARM PC", "64-bit Intel PC", "64-bit Alpha PC", "Unknown", "X86-Nec98 PC"}: ToSubClass,
  204. PropertySources{"SystemType"}
  205. ]
  206. string SystemType;
  207. [read: ToSubClass, MappingStrings{"Win32API|System Information Functions|GetUserName"}: ToSubClass,
  208. PropertySources{"UserName"}
  209. ]
  210. string UserName;
  211. [read: ToSubClass, MappingStrings{"Win32API|Directory Service (Ds) Structures| DSROLE_PRIMARY_DOMAIN_INFO_BASIC|DSROLE_MACHINE_ROLE| MachineRole"}: ToSubClass, ValueMap{"0", "1", "2", "3", "4", "5"}: ToSubClass,
  212. PropertySources{"DomainRole"}
  213. ]
  214. uint16 DomainRole;
  215. [read: ToSubClass, MappingStrings{"SMBIOS|Type 1|System Information|Wake-up Type"}: ToSubClass, ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"}: ToSubClass,
  216. PropertySources{"WakeUpType"}
  217. ]
  218. uint16 WakeUpType;
  219. [read: ToSubClass, MappingStrings{"SMBIOS|Type 11|OEM Strings"}: ToSubClass,
  220. PropertySources{"OEMStringArray"}
  221. ]
  222. string OEMStringArray[];
  223. [read: ToSubClass, MappingStrings{"SMBIOS|Type 23|Capabilites|Boot Option on Limit"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  224. PropertySources{"BootOptionOnLimit"}
  225. ]
  226. uint16 BootOptionOnLimit;
  227. [read: ToSubClass, MappingStrings{"SMBIOS|Type 23|Capabilities|Boot Option"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  228. PropertySources{"BootOptionOnWatchDog"}
  229. ]
  230. uint16 BootOptionOnWatchDog;
  231. [read: ToSubClass, MappingStrings{"SMBIOS|Type 23|System Reset|Reset Count"}: ToSubClass,
  232. PropertySources{"ResetCount"}
  233. ]
  234. sint16 ResetCount;
  235. [read: ToSubClass, MappingStrings{"SMBIOS|Type 23|System Reset| Reset Limit"}: ToSubClass,
  236. PropertySources{"ResetLimit"}
  237. ]
  238. sint16 ResetLimit;
  239. [read: ToSubClass, Units("Milliseconds"): ToSubClass, MappingStrings{"SMBIOS|Type 23|Timeout"}: ToSubClass,
  240. PropertySources{"PauseAfterReset"}
  241. ]
  242. sint64 PauseAfterReset;
  243. [read: ToSubClass, MappingStrings{"SMBIOS|Type 24|Hardware Security Settings|PowerOnPasswordStatus"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  244. PropertySources{"PowerOnPasswordStatus"}
  245. ]
  246. uint16 PowerOnPasswordStatus;
  247. [read: ToSubClass, MappingStrings{"SMBIOS|Type 24|Hardware Security Settings|KeyboardPasswordStatus"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  248. PropertySources{"KeyboardPasswordStatus"}
  249. ]
  250. uint16 KeyboardPasswordStatus;
  251. [read: ToSubClass, MappingStrings{"SMBIOS|Type 24|Hardware Security Settings|FrontPanelResetStatus"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass,
  252. PropertySources{"FrontPanelResetStatus"}
  253. ]
  254. uint16 FrontPanelResetStatus;
  255. [read: ToSubClass, MappingStrings{"SMBIOS|Type 3|Bootup State"}: ToSubClass, ValueMap{"1", "2", "3", "4", "5", "6"}: ToSubClass,
  256. PropertySources{"ChassisBootupState"}
  257. ]
  258. uint16 ChassisBootupState;
  259. [read: ToSubClass, MappingStrings{"SMBIOS|Type 3|System Enclosure or Chassis|Power Supply State"}: ToSubClass, ValueMap{"1", "2", "3", "4", "5", "6"}: ToSubClass,
  260. PropertySources{"PowerSupplyState"}
  261. ]
  262. uint16 PowerSupplyState;
  263. [read: ToSubClass, MappingStrings{"SMBIOS|Type 3|System Enclosure or Chassis|Thermal State"}: ToSubClass, ValueMap{"1", "2", "3", "4", "5", "6"}: ToSubClass,
  264. PropertySources{"ThermalState"}
  265. ]
  266. uint16 ThermalState;
  267. [read: ToSubClass, MappingStrings{"Win32API|Time Functions|GetTimeZoneInformation"}: ToSubClass,
  268. PropertySources{"DaylightInEffect"}
  269. ]
  270. boolean DaylightInEffect;
  271. [read: ToSubClass, MappingStrings("Win32API|System Information Structures|SYSTEM_INFO|dwNumberOfProcessors"): ToSubClass,
  272. PropertySources{"NumberOfProcessors"}
  273. ]
  274. uint32 NumberOfProcessors;
  275. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Memory Management Structures|MEMORYSTATUS|dwTotalPhys"}: ToSubClass,
  276. PropertySources{"TotalPhysicalMemory"}
  277. ]
  278. uint64 TotalPhysicalMemory;
  279. };
  280. [Abstract, Locale(1033): ToInstance, UUID("{8502C565-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  281. class CIM_OperatingSystem : CIM_LogicalElement
  282. {
  283. [key, read: ToSubClass, Override("Name"): ToSubClass] string Name = NULL;
  284. [Propagated("CIM_ComputerSystem.CreationClassName"): ToSubClass, Key, read: ToSubClass] string CSCreationClassName;
  285. [Propagated("CIM_ComputerSystem.Name"): ToSubClass, key, read: ToSubClass] string CSName;
  286. [key, read: ToSubClass] string CreationClassName;
  287. [read: ToSubClass] boolean Distributed;
  288. [Units("KiloBytes"): ToSubClass, read: ToSubClass] uint64 FreePhysicalMemory;
  289. [Units("KiloBytes"): ToSubClass, read: ToSubClass] uint64 FreeVirtualMemory;
  290. [read: ToSubClass, Units("KiloBytes"): ToSubClass] uint64 MaxProcessMemorySize;
  291. [read: ToSubClass, ModelCorrespondence{"CIM_OperatingSystem.OtherTypeDescription"}: ToSubClass] uint16 OSType;
  292. [read: ToSubClass, MaxLen(64): ToSubClass, ModelCorrespondence{"CIM_OperatingSystem.OSType"}: ToSubClass] string OtherTypeDescription;
  293. [read: ToSubClass, MappingStrings{"MIF.DMTF|Operating System|001.3"}: ToSubClass] string Version;
  294. [read: ToSubClass, MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate", "MIF.DMTF|General Information|001.6"}: ToSubClass] datetime LocalDateTime;
  295. [read: ToSubClass, Units("Minutes"): ToSubClass] sint16 CurrentTimeZone;
  296. [read: ToSubClass, Units("KiloBytes"): ToSubClass, MappingStrings{"MIF.DMTF|System Memory Settings|001.3"}: ToSubClass] uint64 SizeStoredInPagingFiles;
  297. [read: ToSubClass, Units("KiloBytes"): ToSubClass, MappingStrings{"MIF.DMTF|System Memory Settings|001.4"}: ToSubClass] uint64 FreeSpaceInPagingFiles;
  298. [read: ToSubClass] datetime LastBootUpTime;
  299. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"}: ToSubClass, read: ToSubClass] uint32 MaxNumberOfProcesses;
  300. [read: ToSubClass] uint32 NumberOfLicensedUsers;
  301. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"}: ToSubClass, read: ToSubClass] uint32 NumberOfProcesses;
  302. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"}: ToSubClass, read: ToSubClass] uint32 NumberOfUsers;
  303. [Units("KiloBytes"): ToSubClass, read: ToSubClass] uint64 TotalSwapSpaceSize;
  304. [Units("KiloBytes"): ToSubClass, read: ToSubClass] uint64 TotalVirtualMemorySize;
  305. [read: ToSubClass, Units("KiloBytes"): ToSubClass] uint64 TotalVisibleMemorySize;
  306. uint32 Reboot();
  307. uint32 Shutdown();
  308. };
  309. [
  310. Union,
  311. ViewSources {"Select * From Win32_OperatingSystem"},
  312. ViewSpaces {"\\\\.\\root\\cimv2"},
  313. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  314. ]
  315. class Win32_OperatingSystem : CIM_OperatingSystem
  316. {
  317. //CIM_ManagedSystemElement...
  318. [MaxLen(64): ToSubClass, read: ToSubClass,
  319. PropertySources{"Caption"}
  320. ]
  321. string Caption;
  322. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  323. PropertySources{"InstallDate"}
  324. ]
  325. datetime InstallDate;
  326. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  327. PropertySources{"Status"}
  328. ]
  329. string Status;
  330. //CIM_OS...
  331. [read: ToSubClass, Override("Name"): ToSubClass,
  332. PropertySources{"Name"}
  333. ]
  334. string Name;
  335. [Propagated("CIM_ComputerSystem.CreationClassName"): ToSubClass, read: ToSubClass,
  336. PropertySources{"CSCreationClassName"}
  337. ]
  338. string CSCreationClassName;
  339. [Propagated("CIM_ComputerSystem.Name"): ToSubClass, read: ToSubClass,
  340. PropertySources{"CSName"}
  341. ]
  342. string CSName;
  343. [
  344. PropertySources{"CreationClassName"}
  345. ]
  346. string CreationClassName;
  347. [read: ToSubClass,
  348. PropertySources{"Distributed"}
  349. ]
  350. boolean Distributed;
  351. [Units("KiloBytes"): ToSubClass, read: ToSubClass,
  352. PropertySources{"FreePhysicalMemory"}
  353. ]
  354. uint64 FreePhysicalMemory;
  355. [Units("KiloBytes"): ToSubClass, read: ToSubClass,
  356. PropertySources{"FreeVirtualMemory"}
  357. ]
  358. uint64 FreeVirtualMemory;
  359. [read: ToSubClass, Units("KiloBytes"): ToSubClass,
  360. PropertySources{"MaxProcessMemorySize"}
  361. ]
  362. uint64 MaxProcessMemorySize;
  363. [read: ToSubClass, ModelCorrespondence{"CIM_OperatingSystem.OtherTypeDescription"}: ToSubClass,
  364. PropertySources{"OSType"}
  365. ]
  366. uint16 OSType;
  367. [read: ToSubClass, MaxLen(64): ToSubClass, ModelCorrespondence{"CIM_OperatingSystem.OSType"}: ToSubClass,
  368. PropertySources{"OtherTypeDescription"}
  369. ]
  370. string OtherTypeDescription;
  371. [read: ToSubClass, MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate", "MIF.DMTF|General Information|001.6"}: ToSubClass,
  372. PropertySources{"LocalDateTime"}
  373. ]
  374. datetime LocalDateTime;
  375. [read: ToSubClass, Units("Minutes"): ToSubClass,
  376. PropertySources{"CurrentTimeZone"}
  377. ]
  378. sint16 CurrentTimeZone;
  379. [read: ToSubClass, Units("KiloBytes"): ToSubClass, MappingStrings{"MIF.DMTF|System Memory Settings|001.3"}: ToSubClass,
  380. PropertySources{"SizeStoredInPagingFiles"}
  381. ]
  382. uint64 SizeStoredInPagingFiles;
  383. [read: ToSubClass, Units("KiloBytes"): ToSubClass, MappingStrings{"MIF.DMTF|System Memory Settings|001.4"}: ToSubClass,
  384. PropertySources{"FreeSpaceInPagingFiles"}
  385. ]
  386. uint64 FreeSpaceInPagingFiles;
  387. [read: ToSubClass,
  388. PropertySources{"LastBootUpTime"}
  389. ]
  390. datetime LastBootUpTime;
  391. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses"}: ToSubClass, read: ToSubClass,
  392. PropertySources{"MaxNumberOfProcesses"}
  393. ]
  394. uint32 MaxNumberOfProcesses;
  395. [read: ToSubClass,
  396. PropertySources{"NumberOfLicensedUsers"}
  397. ]
  398. uint32 NumberOfLicensedUsers;
  399. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses"}: ToSubClass, read: ToSubClass,
  400. PropertySources{"NumberOfProcesses"}
  401. ]
  402. uint32 NumberOfProcesses;
  403. [MappingStrings{"MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers"}: ToSubClass, read: ToSubClass,
  404. PropertySources{"NumberOfUsers"}
  405. ]
  406. uint32 NumberOfUsers;
  407. [Units("KiloBytes"): ToSubClass, read: ToSubClass,
  408. PropertySources{"TotalSwapSpaceSize"}
  409. ]
  410. uint64 TotalSwapSpaceSize;
  411. [Units("KiloBytes"): ToSubClass, read: ToSubClass,
  412. PropertySources{"TotalVirtualMemorySize"}
  413. ]
  414. uint64 TotalVirtualMemorySize;
  415. [read: ToSubClass, Units("KiloBytes"): ToSubClass,
  416. PropertySources{"TotalVisibleMemorySize"}
  417. ]
  418. uint64 TotalVisibleMemorySize;
  419. //Win32 Stuff
  420. [read: ToSubClass, write: ToSubClass, Override("Description"): ToSubClass, MappingStrings{"WMI"}: ToSubClass,
  421. PropertySources{"Description"}
  422. ]
  423. string Description = NULL;
  424. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|OSVERSIONINFOEX|dwMajorVersion, dwMinorVersion"}: ToSubClass, Override("Version"): ToSubClass,
  425. PropertySources{"Version"}
  426. ]
  427. string Version = NULL;
  428. [read: ToSubClass, MappingStrings{"Win32API|DRIVE_MAP_INFO|btInt13Unit"}: ToSubClass,
  429. PropertySources{"BootDevice"}
  430. ]
  431. string BootDevice;
  432. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|OSVERSIONINFOEX|dwBuildNumber"}: ToSubClass,
  433. PropertySources{"BuildNumber"}
  434. ]
  435. string BuildNumber;
  436. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows\\CurrentVersion|CurrentType"}: ToSubClass,
  437. PropertySources{"BuildType"}
  438. ]
  439. string BuildType;
  440. [read: ToSubClass, MaxLen(6): ToSubClass, MappingStrings{"Win32API|National Language Support Functions|GetLocaleInfo|LOCALE_IDEFAULTANSICODEPAGE"}: ToSubClass,
  441. PropertySources{"CodeSet"}
  442. ]
  443. string CodeSet;
  444. [read: ToSubClass, MappingStrings{"Win32API|National Language Support Functions|GetLocaleInfo|LOCALE_ICOUNTRY "}: ToSubClass,
  445. PropertySources{"CountryCode"}
  446. ]
  447. string CountryCode;
  448. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|OSVERSIONINFOEX|szCSDVersion"}: ToSubClass,
  449. PropertySources{"CSDVersion"}
  450. ]
  451. string CSDVersion;
  452. [read: ToSubClass, MappingStrings{"Win32API|GetSystemMetrics|SM_DEBUG"}: ToSubClass,
  453. PropertySources{"Debug"}
  454. ]
  455. boolean Debug;
  456. [read: ToSubClass, write: ToSubClass, MappingStrings{"Win32Registry|SYSTEM\\CurrentControlSet\\Control\\PriorityControl|Win32PrioritySeparation"}: ToSubClass,
  457. PropertySources{"ForegroundApplicationBoost"}
  458. ]
  459. uint8 ForegroundApplicationBoost;
  460. [read: ToSubClass, MappingStrings{"Win32API|National Language Support Functions|GetLocaleInfo|LOCALE_ILANGUAGE"}: ToSubClass,
  461. PropertySources{"Locale"}
  462. ]
  463. string Locale;
  464. [read: ToSubClass, MappingStrings{"WMI"}: ToSubClass,
  465. PropertySources{"Manufacturer"}
  466. ]
  467. string Manufacturer;
  468. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows\\CurrentVersion|RegisteredOrganization"}: ToSubClass,
  469. PropertySources{"Organization"}
  470. ]
  471. string Organization;
  472. [read: ToSubClass, MappingStrings{"Win32Registry|DEFAULT\\Control Panel\\International|Locale"}: ToSubClass,
  473. PropertySources{"OSLanguage"}
  474. ]
  475. uint32 OSLanguage;
  476. [read: ToSubClass, BitMap{"0x0001", "0x0002", "0x0004", "0x0008", "0x0010", "0x0020", "0x0040", "0x0080"}: ToSubClass, MappingStrings{"Win32Registry|SYSTEM\\CurrentControlSet\\Control\\ProductOptions|ProductSuite"}: ToSubClass,
  477. PropertySources{"OSProductSuite"}
  478. ]
  479. uint32 OSProductSuite;
  480. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows NT\\CurrentVersion|Plus! ProductId"}: ToSubClass,
  481. PropertySources{"PlusProductID"}
  482. ]
  483. string PlusProductID;
  484. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows NT\\CurrentVersion|Plus! VersionNumber"}: ToSubClass,
  485. PropertySources{"PlusVersionNumber"}
  486. ]
  487. string PlusVersionNumber;
  488. [read: ToSubClass, MappingStrings{"WMI"}: ToSubClass,
  489. PropertySources{"Primary"}
  490. ]
  491. boolean Primary;
  492. [read: ToSubClass, write: ToSubClass, MappingStrings{"Win32Registry|SYSTEM\\CurrentControlSet\\Control\\PriorityControl|Win32PrioritySeparation"}: ToSubClass,
  493. PropertySources{"QuantumLength"}
  494. ]
  495. uint8 QuantumLength;
  496. [read: ToSubClass, write: ToSubClass, MappingStrings{"Win32Registry|SYSTEM\\CurrentControlSet\\Control\\PriorityControl|Win32PrioritySeparation"}: ToSubClass,
  497. PropertySources{"QuantumType"}
  498. ]
  499. uint8 QuantumType;
  500. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows NT\\CurrentVersion|RegisteredOwner"}: ToSubClass,
  501. PropertySources{"RegisteredUser"}
  502. ]
  503. string RegisteredUser;
  504. [read: ToSubClass, MappingStrings{"Win32Registry|Software\\Microsoft\\Windows NT\\CurrentVersion|ProductId"}: ToSubClass,
  505. PropertySources{"SerialNumber"}
  506. ]
  507. string SerialNumber;
  508. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|OSVERSIONINFOEX|wServicePackMajor"}: ToSubClass,
  509. PropertySources{"ServicePackMajorVersion"}
  510. ]
  511. uint16 ServicePackMajorVersion;
  512. [read: ToSubClass, MappingStrings{"Win32API|System Information Structures|OSVERSIONINFOEX|wServicePackMinor"}: ToSubClass,
  513. PropertySources{"ServicePackMinorVersion"}
  514. ]
  515. uint16 ServicePackMinorVersion;
  516. [read: ToSubClass, MappingStrings{"Win32API|Registry Functions|GetPrivateProfileString|Paths|TargetDevice"}: ToSubClass,
  517. PropertySources{"SystemDevice"}
  518. ]
  519. string SystemDevice;
  520. [read: ToSubClass, MappingStrings{"Win32API|System Information Functions|GetSystemDirectory"}: ToSubClass,
  521. PropertySources{"SystemDirectory"}
  522. ]
  523. string SystemDirectory;
  524. [read: ToSubClass, MappingStrings{"Win32API|System Information Functions|GetWindowsDirectory"}: ToSubClass,
  525. PropertySources{"WindowsDirectory"}
  526. ]
  527. string WindowsDirectory;
  528. //Methods
  529. [implemented,
  530. MethodSource{"Reboot"}
  531. ]
  532. uint32 Reboot();
  533. [implemented, Privileges{"SeShutdownPrivilege"},
  534. MethodSource{"Shutdown"}
  535. ]
  536. uint32 Shutdown();
  537. [implemented: ToSubClass, Privileges{"SeShutdownPrivilege"}: ToSubClass, MappingStrings{"Win32API|System Shutdown Functions|ExitWindowsEx"}: ToSubClass,
  538. MethodSource{"Win32Shutdown"}
  539. ]
  540. uint32 Win32Shutdown([in, MappingStrings{"Win32API|System Shutdown Functions|ExitWindowsEx"}: ToSubClass, BitMap{"0x00000000", "0x00000001", "0x00000002", "0x00000004", "0x00000008"}: ToSubClass] sint32 Flags, [in, MappingStrings{"Win32API|System Shutdown Functions|ExitWindowsEx"}: ToSubClass] sint32 Reserved = 0);
  541. };
  542. [Abstract, Locale(1033): ToInstance, UUID("{8502C566-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  543. class CIM_Process : CIM_LogicalElement
  544. {
  545. [Propagated("CIM_OperatingSystem.CSCreationClassName"): ToSubClass, key, read: ToSubClass] string CSCreationClassName;
  546. [Propagated("CIM_OperatingSystem.CSName"): ToSubClass, key, read: ToSubClass] string CSName;
  547. [key, read: ToSubClass] string CreationClassName;
  548. [read: ToSubClass] datetime CreationDate;
  549. [key, read: ToSubClass] string Handle;
  550. [Units("Milliseconds"): ToSubClass, read: ToSubClass] uint64 KernelModeTime;
  551. [Propagated("CIM_OperatingSystem.CreationClassName"): ToSubClass, key, read: ToSubClass] string OSCreationClassName;
  552. [Propagated("CIM_OperatingSystem.Name"): ToSubClass, key, read: ToSubClass] string OSName;
  553. [read: ToSubClass] uint32 Priority;
  554. [read: ToSubClass] uint16 ExecutionState;
  555. [read: ToSubClass] datetime TerminationDate;
  556. [Units("Milliseconds"): ToSubClass, read: ToSubClass] uint64 UserModeTime;
  557. [read: ToSubClass, Units("Bytes"): ToSubClass] uint64 WorkingSetSize;
  558. };
  559. [
  560. Union,
  561. ViewSources {"Select * From Win32_Process"},
  562. ViewSpaces {"\\\\.\\root\\cimv2"},
  563. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  564. ]
  565. class Win32_Process : CIM_Process
  566. {
  567. [MaxLen(64): ToSubClass, read: ToSubClass,
  568. PropertySources{"Caption"}
  569. ]
  570. string Caption;
  571. [read: ToSubClass,
  572. PropertySources{"Description"}
  573. ]
  574. string Description;
  575. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  576. PropertySources{"InstallDate"}
  577. ]
  578. datetime InstallDate;
  579. [read: ToSubClass,
  580. PropertySources{"Name"}
  581. ]
  582. string Name;
  583. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  584. PropertySources{"Status"}
  585. ]
  586. string Status;
  587. //CIM_Process...
  588. [Propagated("CIM_OperatingSystem.CSCreationClassName"): ToSubClass, read: ToSubClass,
  589. PropertySources{"CSCreationClassName"}
  590. ]
  591. string CSCreationClassName;
  592. [Propagated("CIM_OperatingSystem.CSName"): ToSubClass, read: ToSubClass,
  593. PropertySources{"CSName"}
  594. ]
  595. string CSName;
  596. [read: ToSubClass,
  597. PropertySources{"CreationClassName"}
  598. ]
  599. string CreationClassName;
  600. [read: ToSubClass,
  601. PropertySources{"CreationDate"}
  602. ]
  603. datetime CreationDate;
  604. [read: ToSubClass,
  605. PropertySources{"Handle"}
  606. ]
  607. string Handle;
  608. [Units("Milliseconds"): ToSubClass, read: ToSubClass,
  609. PropertySources{"KernelModeTime"}
  610. ]
  611. uint64 KernelModeTime;
  612. [Propagated("CIM_OperatingSystem.CreationClassName"): ToSubClass, read: ToSubClass,
  613. PropertySources{"OSCreationClassName"}
  614. ]
  615. string OSCreationClassName;
  616. [Propagated("CIM_OperatingSystem.Name"): ToSubClass, read: ToSubClass,
  617. PropertySources{"OSName"}
  618. ]
  619. string OSName;
  620. [read: ToSubClass,
  621. PropertySources{"ExecutionState"}
  622. ]
  623. uint16 ExecutionState;
  624. [read: ToSubClass,
  625. PropertySources{"TerminationDate"}
  626. ]
  627. datetime TerminationDate;
  628. [Units("Milliseconds"): ToSubClass, read: ToSubClass,
  629. PropertySources{"UserModeTime"}
  630. ]
  631. uint64 UserModeTime;
  632. [read: ToSubClass, Units("Bytes"): ToSubClass,
  633. PropertySources{"WorkingSetSize"}
  634. ]
  635. uint64 WorkingSetSize;
  636. //Win32 Stuff
  637. [read: ToSubClass, Override("Priority"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|BasePriority"}: ToSubClass,
  638. PropertySources{"Priority"}
  639. ]
  640. uint32 Priority = NULL;
  641. [read: ToSubClass, Privileges{"SeDebugPrivilege"}: ToSubClass, MappingStrings{"Win32API|Tool Help Structures|MODULEENTRY32|szExePath"}: ToSubClass,
  642. PropertySources{"ExecutablePath"}
  643. ]
  644. string ExecutablePath;
  645. [read: ToSubClass, Units("Kilobytes"): ToSubClass, Privileges{"SeDebugPrivilege"}: ToSubClass, MappingStrings{"Win32|WINNT.H|QUOTA_LIMITS|MaximumWorkingSetSize"}: ToSubClass,
  646. PropertySources{"MaximumWorkingSetSize"}
  647. ]
  648. uint32 MaximumWorkingSetSize;
  649. [read: ToSubClass, Units("Kilobytes"): ToSubClass, Privileges{"SeDebugPrivilege"}: ToSubClass, MappingStrings{"Win32|WINNT.H|QUOTA_LIMITS|MinimumWorkingSetSize"}: ToSubClass,
  650. PropertySources{"MinimumWorkingSetSize"}
  651. ]
  652. uint32 MinimumWorkingSetSize;
  653. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PageFaultCount"}: ToSubClass,
  654. PropertySources{"PageFaults"}
  655. ]
  656. uint32 PageFaults;
  657. [read: ToSubClass, Units("Kilobytes"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PagefileUsage"}: ToSubClass,
  658. PropertySources{"PageFileUsage"}
  659. ]
  660. uint32 PageFileUsage;
  661. [read: ToSubClass, Units("Kilobytes"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PeakPagefileUsage"}: ToSubClass,
  662. PropertySources{"PeakPageFileUsage"}
  663. ]
  664. uint32 PeakPageFileUsage;
  665. [read: ToSubClass, Units("Kilobytes"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PeakWorkingSetSize"}: ToSubClass,
  666. PropertySources{"PeakWorkingSetSize"}
  667. ]
  668. uint32 PeakWorkingSetSize;
  669. [read: ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|PROCESS_INFORMATION|dwProcessId "}: ToSubClass,
  670. PropertySources{"ProcessId"}
  671. ]
  672. uint32 ProcessId;
  673. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|QuotaNonPagedPoolUsage"}: ToSubClass,
  674. PropertySources{"QuotaNonPagedPoolUsage"}
  675. ]
  676. uint32 QuotaNonPagedPoolUsage;
  677. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|QuotaPagedPoolUsage"}: ToSubClass,
  678. PropertySources{"QuotaPagedPoolUsage"}
  679. ]
  680. uint32 QuotaPagedPoolUsage;
  681. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|QuotaPeakNonPagedPoolUsage"}: ToSubClass,
  682. PropertySources{"QuotaPeakNonPagedPoolUsage"}
  683. ]
  684. uint32 QuotaPeakNonPagedPoolUsage;
  685. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|QuotaPeakPagedPoolUsage"}: ToSubClass,
  686. PropertySources{"QuotaPeakPagedPoolUsage"}
  687. ]
  688. uint32 QuotaPeakPagedPoolUsage;
  689. [read: ToSubClass, MappingStrings{"Win32API|Process and Thread Functions|GetProcessVersion"}: ToSubClass,
  690. PropertySources{"WindowsVersion"}
  691. ]
  692. string WindowsVersion;
  693. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|NumberOfThreads"}: ToSubClass,
  694. PropertySources{"ThreadCount"}
  695. ]
  696. uint32 ThreadCount;
  697. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|HandleCount"}: ToSubClass,
  698. PropertySources{"HandleCount"}
  699. ]
  700. uint32 HandleCount;
  701. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|InheritedFromUniqueProcessId"}: ToSubClass,
  702. PropertySources{"ParentProcessId"}
  703. ]
  704. uint32 ParentProcessId;
  705. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|SessionId"}: ToSubClass,
  706. PropertySources{"SessionId"}
  707. ]
  708. uint32 SessionId;
  709. [read: ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PrivatePageCount"}: ToSubClass,
  710. PropertySources{"PrivatePageCount"}
  711. ]
  712. uint64 PrivatePageCount;
  713. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|PeakVirtualSize"}: ToSubClass,
  714. PropertySources{"PeakVirtualSize"}
  715. ]
  716. uint64 PeakVirtualSize;
  717. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Process Status|SYSTEM_PROCESS_INFORMATION|VirtualSize"}: ToSubClass,
  718. PropertySources{"VirtualSize"}
  719. ]
  720. uint64 VirtualSize;
  721. [read: ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|ReadOperationCount"}: ToSubClass,
  722. PropertySources{"ReadOperationCount"}
  723. ]
  724. uint64 ReadOperationCount;
  725. [read: ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|WriteOperationCount"}: ToSubClass,
  726. PropertySources{"WriteOperationCount"}
  727. ]
  728. uint64 WriteOperationCount;
  729. [read: ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|OtherOperationCount"}: ToSubClass,
  730. PropertySources{"OtherOperationCount"}
  731. ]
  732. uint64 OtherOperationCount;
  733. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|ReadTransferCount"}: ToSubClass,
  734. PropertySources{"ReadTransferCount"}
  735. ]
  736. uint64 ReadTransferCount;
  737. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|WriteTransferCount"}: ToSubClass,
  738. PropertySources{"WriteTransferCount"}
  739. ]
  740. uint64 WriteTransferCount;
  741. [read: ToSubClass, Units("Bytes"): ToSubClass, MappingStrings{"Win32API|Process and Thread Structures|SYSTEM_PROCESS_INFORMATION|OtherTransferCount"}: ToSubClass,
  742. PropertySources{"OtherTransferCount"}
  743. ]
  744. uint64 OtherTransferCount;
  745. };
  746. [Abstract, Locale(1033): ToInstance, UUID("{8502C527-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  747. class CIM_Service : CIM_LogicalElement
  748. {
  749. [read: ToSubClass, Override("Name"): ToSubClass, key] string Name = NULL;
  750. [key, read: ToSubClass] string CreationClassName;
  751. [ValueMap{"Automatic", "Manual"}: ToSubClass, read: ToSubClass] string StartMode;
  752. [read: ToSubClass] boolean Started;
  753. [Propagated("CIM_System.CreationClassName"): ToSubClass, key, read: ToSubClass] string SystemCreationClassName;
  754. [Propagated("CIM_System.Name"): ToSubClass, key, read: ToSubClass] string SystemName;
  755. uint32 StartService();
  756. uint32 StopService();
  757. };
  758. [
  759. Union,
  760. ViewSources {"Select * From Win32_BaseService"},
  761. ViewSpaces {"\\\\.\\root\\cimv2"},
  762. Abstract, provider("MS_VIEW_INSTANCE_PROVIDER")
  763. ]
  764. class Win32_BaseService : CIM_Service
  765. {
  766. //CIM_ManagedSystemElement...
  767. [MaxLen(64): ToSubClass, read: ToSubClass,
  768. PropertySources{"Caption"}
  769. ]
  770. string Caption;
  771. [read: ToSubClass,
  772. PropertySources{"Description"}
  773. ]
  774. string Description;
  775. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  776. PropertySources{"InstallDate"}
  777. ]
  778. datetime InstallDate;
  779. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  780. PropertySources{"Status"}
  781. ]
  782. string Status;
  783. //CIM_Service
  784. [read: ToSubClass, Override("Name"): ToSubClass,
  785. PropertySources{"Name"}
  786. ]
  787. string Name;
  788. [read: ToSubClass,
  789. PropertySources{"CreationClassName"}
  790. ]
  791. string CreationClassName;
  792. [read: ToSubClass,
  793. PropertySources{"Started"}
  794. ]
  795. boolean Started;
  796. [Propagated("CIM_System.CreationClassName"): ToSubClass, read: ToSubClass,
  797. PropertySources{"SystemCreationClassName"}
  798. ]
  799. string SystemCreationClassName;
  800. [Propagated("CIM_System.Name"): ToSubClass, read: ToSubClass,
  801. PropertySources{"SystemName"}
  802. ]
  803. string SystemName;
  804. //Win32 Stuff
  805. [ValueMap{"Boot", "System", "Auto", "Manual", "Disabled"}: ToSubClass, read: ToSubClass, Override("StartMode"): ToSubClass,
  806. PropertySources{"StartMode"}
  807. ]
  808. string StartMode = NULL;
  809. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_PAUSE_CONTINUE"}: ToSubClass,
  810. PropertySources{"AcceptPause"}
  811. ]
  812. boolean AcceptPause;
  813. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_STOP"}: ToSubClass,
  814. PropertySources{"AcceptStop"}
  815. ]
  816. boolean AcceptStop;
  817. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}: ToSubClass,
  818. PropertySources{"DesktopInteract"}
  819. ]
  820. boolean DesktopInteract;
  821. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}: ToSubClass,
  822. PropertySources{"DisplayName"}
  823. ]
  824. string DisplayName;
  825. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"}: ToSubClass, ValueMap{"Ignore", "Normal", "Severe", "Critical", "Unknown"}: ToSubClass,
  826. PropertySources{"ErrorControl"}
  827. ]
  828. string ErrorControl;
  829. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}: ToSubClass,
  830. PropertySources{"PathName"}
  831. ]
  832. string PathName;
  833. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"}: ToSubClass, ValueMap{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own Process", "Win32 Share Process", "Interactive Process"}: ToSubClass,
  834. PropertySources{"ServiceType"}
  835. ]
  836. string ServiceType;
  837. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}: ToSubClass,
  838. PropertySources{"StartName"}
  839. ]
  840. string StartName;
  841. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCurrentState "}: ToSubClass, ValueMap{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending", "Pause Pending", "Paused", "Unknown"}: ToSubClass,
  842. PropertySources{"State"}
  843. ]
  844. string State;
  845. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwTagId"}: ToSubClass,
  846. PropertySources{"TagId"}
  847. ]
  848. uint32 TagId;
  849. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWin32ExitCode"}: ToSubClass,
  850. PropertySources{"ExitCode"}
  851. ]
  852. uint32 ExitCode;
  853. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwServiceSpecificExitCode"}: ToSubClass,
  854. PropertySources{"ServiceSpecificExitCode"}
  855. ]
  856. uint32 ServiceSpecificExitCode;
  857. //CIM Methods
  858. [Override("StartService"): ToSubClass, Implemented, MappingStrings{"Win32API|Service Functions|StartService"}: ToSubClass,
  859. MethodSource{"StartService"}
  860. ]
  861. uint32 StartService();
  862. [Override("StopService"): ToSubClass, Implemented, MappingStrings{"Win32API|Service Functions|ControlService|dwControl|SERVICE_CONTROL_STOP"}: ToSubClass,
  863. MethodSource{"StopService"}
  864. ]
  865. uint32 StopService();
  866. //Win32 Methods
  867. [Implemented: ToSubClass, MappingStrings{"Win32API|Service Functions|ControlService|dwControl|SERVICE_CONTROL_PAUSE"}: ToSubClass,
  868. MethodSource{"PauseService"}
  869. ]
  870. uint32 PauseService();
  871. [Implemented: ToSubClass, MappingStrings{"Win32API|Service Functions|ControlService|dwControl|SERVICE_CONTROL_CONTINUE"}: ToSubClass,
  872. MethodSource{"ResumeService"}
  873. ]
  874. uint32 ResumeService();
  875. [Implemented: ToSubClass, MappingStrings{"Win32API|Service Functions|ControlService|dwControl|SERVICE_CONTROL_INTERROGATE"}: ToSubClass,
  876. MethodSource{"InterrogateService"}
  877. ]
  878. uint32 InterrogateService();
  879. [Implemented: ToSubClass, MappingStrings{"Win32API|Service Functions|CreateService|dwDesiredAccess|SERVICE_USER_DEFINED_CONTROL"}: ToSubClass,
  880. MethodSource{"UserControlService"}
  881. ]
  882. uint32 UserControlService([In, MappingStrings{"Win32API|Service Functions|ControlService|dwControl"}: ToSubClass] uint8 ControlCode);
  883. [Constructor, Implemented, Static, MappingStrings{"Win32API|Service Functions|CreateService"}: ToSubClass,
  884. MethodSource{"Create"}
  885. ]
  886. uint32 Create([In, MappingStrings{"Win32API|Service Functions|CreateServicelpServiceName"}: ToSubClass] string Name, [In, MappingStrings{"Win32API|Service Functions|CreateServicelpDisplayName"}: ToSubClass] string DisplayName, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName "}: ToSubClass] string PathName, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"}: ToSubClass, BitMap{"0x00000001", "0x00000002", "0x00000004", "0x00000008", "0x00000010", "0x00000020", "0x00000100"}: ToSubClass] uint32 ServiceType, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass] uint8 ErrorControl, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"}: ToSubClass, ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}: ToSubClass] string StartMode, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}: ToSubClass] boolean DesktopInteract, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}: ToSubClass] string StartName, [In, MappingStrings{"Win32API|Service Functions|CreateService|lpPassword"}: ToSubClass] string StartPassword, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpLoadOrderGroup"}: ToSubClass] string LoadOrderGroup, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}: ToSubClass] string LoadOrderGroupDependencies[], [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}: ToSubClass] string ServiceDependencies[]);
  887. [Implemented, MappingStrings{"Win32API|Service Functions|ChangeServiceConfig"}: ToSubClass,
  888. MethodSource{"Change"}
  889. ]
  890. uint32 Change([In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}: ToSubClass] string DisplayName, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}: ToSubClass] string PathName, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"}: ToSubClass, BitMap{"0x00000001", "0x00000002", "0x00000004", "0x00000008", "0x00000010", "0x00000020", "0x00000100"}: ToSubClass] uint8 ServiceType, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"}: ToSubClass, ValueMap{"0", "1", "2", "3"}: ToSubClass] uint8 ErrorControl, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"}: ToSubClass, ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}: ToSubClass] string StartMode, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}: ToSubClass] boolean DesktopInteract, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}: ToSubClass] string StartName, [In, MappingStrings{"Win32API|Service Functions|CreateService|lpPassword"}: ToSubClass] string StartPassword, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpLoadOrderGroup"}: ToSubClass] string LoadOrderGroup, [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}: ToSubClass] string LoadOrderGroupDependencies[], [In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDependencies"}: ToSubClass] string ServiceDependencies[]);
  891. [Implemented, MappingStrings{"Service Functions|ChangeServiceConfig|dwStartType"}: ToSubClass,
  892. MethodSource{"ChangeStartMode"}
  893. ]
  894. uint32 ChangeStartMode([In, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwStartType"}: ToSubClass, ValueMap{"Boot", "System", "Automatic", "Manual", "Disabled"}: ToSubClass] string StartMode = "Automatic");
  895. [Destructor, Implemented, MappingStrings{"Win32API|Service Functions|ChangeServiceConfig|DeleteService"}: ToSubClass,
  896. MethodSource{"Delete"}
  897. ]
  898. uint32 Delete();
  899. };
  900. [
  901. Union,
  902. ViewSources {"Select * From Win32_SystemDriver"},
  903. ViewSpaces {"\\\\.\\root\\cimv2"},
  904. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  905. ]
  906. class Win32_SystemDriver : Win32_BaseService
  907. {
  908. //See Win32_BaseService
  909. [MaxLen(64): ToSubClass, read: ToSubClass,
  910. PropertySources{"Caption"}
  911. ]
  912. string Caption;
  913. [read: ToSubClass,
  914. PropertySources{"Description"}
  915. ]
  916. string Description;
  917. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  918. PropertySources{"InstallDate"}
  919. ]
  920. datetime InstallDate;
  921. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  922. PropertySources{"Status"}
  923. ]
  924. string Status;
  925. [read: ToSubClass, Override("Name"): ToSubClass,
  926. PropertySources{"Name"}
  927. ]
  928. string Name;
  929. [read: ToSubClass,
  930. PropertySources{"CreationClassName"}
  931. ]
  932. string CreationClassName;
  933. [read: ToSubClass,
  934. PropertySources{"Started"}
  935. ]
  936. boolean Started;
  937. [Propagated("CIM_System.CreationClassName"): ToSubClass, read: ToSubClass,
  938. PropertySources{"SystemCreationClassName"}
  939. ]
  940. string SystemCreationClassName;
  941. [Propagated("CIM_System.Name"): ToSubClass, read: ToSubClass,
  942. PropertySources{"SystemName"}
  943. ]
  944. string SystemName;
  945. [ValueMap{"Boot", "System", "Auto", "Manual", "Disabled"}: ToSubClass, read: ToSubClass, Override("StartMode"): ToSubClass,
  946. PropertySources{"StartMode"}
  947. ]
  948. string StartMode = NULL;
  949. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_PAUSE_CONTINUE"}: ToSubClass,
  950. PropertySources{"AcceptPause"}
  951. ]
  952. boolean AcceptPause;
  953. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_STOP"}: ToSubClass,
  954. PropertySources{"AcceptStop"}
  955. ]
  956. boolean AcceptStop;
  957. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}: ToSubClass,
  958. PropertySources{"DesktopInteract"}
  959. ]
  960. boolean DesktopInteract;
  961. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}: ToSubClass,
  962. PropertySources{"DisplayName"}
  963. ]
  964. string DisplayName;
  965. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"}: ToSubClass, ValueMap{"Ignore", "Normal", "Severe", "Critical", "Unknown"}: ToSubClass,
  966. PropertySources{"ErrorControl"}
  967. ]
  968. string ErrorControl;
  969. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}: ToSubClass,
  970. PropertySources{"PathName"}
  971. ]
  972. string PathName;
  973. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"}: ToSubClass, ValueMap{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own Process", "Win32 Share Process", "Interactive Process"}: ToSubClass,
  974. PropertySources{"ServiceType"}
  975. ]
  976. string ServiceType;
  977. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}: ToSubClass,
  978. PropertySources{"StartName"}
  979. ]
  980. string StartName;
  981. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCurrentState "}: ToSubClass, ValueMap{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending", "Pause Pending", "Paused", "Unknown"}: ToSubClass,
  982. PropertySources{"State"}
  983. ]
  984. string State;
  985. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwTagId"}: ToSubClass,
  986. PropertySources{"TagId"}
  987. ]
  988. uint32 TagId;
  989. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWin32ExitCode"}: ToSubClass,
  990. PropertySources{"ExitCode"}
  991. ]
  992. uint32 ExitCode;
  993. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwServiceSpecificExitCode"}: ToSubClass,
  994. PropertySources{"ServiceSpecificExitCode"}
  995. ]
  996. uint32 ServiceSpecificExitCode;
  997. };
  998. [
  999. Union,
  1000. ViewSources {"Select * From Win32_Service"},
  1001. ViewSpaces {"\\\\.\\root\\cimv2"},
  1002. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  1003. ]
  1004. class Win32_Service : Win32_BaseService
  1005. {
  1006. //See Win32_BaseService
  1007. [MaxLen(64): ToSubClass, read: ToSubClass,
  1008. PropertySources{"Caption"}
  1009. ]
  1010. string Caption;
  1011. [read: ToSubClass,
  1012. PropertySources{"Description"}
  1013. ]
  1014. string Description;
  1015. [MappingStrings{"MIF.DMTF|ComponentID|001.5"}: ToSubClass, read: ToSubClass,
  1016. PropertySources{"InstallDate"}
  1017. ]
  1018. datetime InstallDate;
  1019. [MaxLen(10): ToSubClass, ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"}: ToSubClass,
  1020. PropertySources{"Status"}
  1021. ]
  1022. string Status;
  1023. [read: ToSubClass, Override("Name"): ToSubClass,
  1024. PropertySources{"Name"}
  1025. ]
  1026. string Name;
  1027. [read: ToSubClass,
  1028. PropertySources{"CreationClassName"}
  1029. ]
  1030. string CreationClassName;
  1031. [read: ToSubClass,
  1032. PropertySources{"Started"}
  1033. ]
  1034. boolean Started;
  1035. [Propagated("CIM_System.CreationClassName"): ToSubClass, read: ToSubClass,
  1036. PropertySources{"SystemCreationClassName"}
  1037. ]
  1038. string SystemCreationClassName;
  1039. [Propagated("CIM_System.Name"): ToSubClass, read: ToSubClass,
  1040. PropertySources{"SystemName"}
  1041. ]
  1042. string SystemName;
  1043. [ValueMap{"Boot", "System", "Auto", "Manual", "Disabled"}: ToSubClass, read: ToSubClass, Override("StartMode"): ToSubClass,
  1044. PropertySources{"StartMode"}
  1045. ]
  1046. string StartMode = NULL;
  1047. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_PAUSE_CONTINUE"}: ToSubClass,
  1048. PropertySources{"AcceptPause"}
  1049. ]
  1050. boolean AcceptPause;
  1051. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwControlsAccepted|SERVICE_ACCEPT_STOP"}: ToSubClass,
  1052. PropertySources{"AcceptStop"}
  1053. ]
  1054. boolean AcceptStop;
  1055. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType|SERVICE_INTERACTIVE_PROCESS"}: ToSubClass,
  1056. PropertySources{"DesktopInteract"}
  1057. ]
  1058. boolean DesktopInteract;
  1059. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpDisplayName"}: ToSubClass,
  1060. PropertySources{"DisplayName"}
  1061. ]
  1062. string DisplayName;
  1063. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwErrorControl"}: ToSubClass, ValueMap{"Ignore", "Normal", "Severe", "Critical", "Unknown"}: ToSubClass,
  1064. PropertySources{"ErrorControl"}
  1065. ]
  1066. string ErrorControl;
  1067. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpBinaryPathName"}: ToSubClass,
  1068. PropertySources{"PathName"}
  1069. ]
  1070. string PathName;
  1071. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwServiceType"}: ToSubClass, ValueMap{"Kernel Driver", "File System Driver", "Adapter", "Recognizer Driver", "Own Process", "Win32 Share Process", "Interactive Process"}: ToSubClass,
  1072. PropertySources{"ServiceType"}
  1073. ]
  1074. string ServiceType;
  1075. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|lpServiceStartName"}: ToSubClass,
  1076. PropertySources{"StartName"}
  1077. ]
  1078. string StartName;
  1079. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCurrentState "}: ToSubClass, ValueMap{"Stopped", "Start Pending", "Stop Pending", "Running", "Continue Pending", "Pause Pending", "Paused", "Unknown"}: ToSubClass,
  1080. PropertySources{"State"}
  1081. ]
  1082. string State;
  1083. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|QUERY_SERVICE_CONFIG|dwTagId"}: ToSubClass,
  1084. PropertySources{"TagId"}
  1085. ]
  1086. uint32 TagId;
  1087. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWin32ExitCode"}: ToSubClass,
  1088. PropertySources{"ExitCode"}
  1089. ]
  1090. uint32 ExitCode;
  1091. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwServiceSpecificExitCode"}: ToSubClass,
  1092. PropertySources{"ServiceSpecificExitCode"}
  1093. ]
  1094. uint32 ServiceSpecificExitCode;
  1095. //Win32_Service Stuff
  1096. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwCheckPoint"}: ToSubClass,
  1097. PropertySources{"CheckPoint"}
  1098. ]
  1099. uint32 CheckPoint;
  1100. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS|dwWaitHint"}: ToSubClass,
  1101. PropertySources{"WaitHint"}
  1102. ]
  1103. uint32 WaitHint;
  1104. [read: ToSubClass, MappingStrings{"Win32API|Service Structures|SERVICE_STATUS_PROCESS|dwProcessId"}: ToSubClass,
  1105. PropertySources{"ProcessId"}
  1106. ]
  1107. uint32 ProcessId;
  1108. };
  1109. [Association: DisableOverride ToInstance ToSubClass, Abstract, Locale(1033): ToInstance, UUID("{8502C53A-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  1110. class CIM_Dependency
  1111. {
  1112. [read: ToSubClass] CIM_ManagedSystemElement ref Antecedent;
  1113. [read: ToSubClass] CIM_ManagedSystemElement ref Dependent;
  1114. };
  1115. [Abstract, Locale(1033): ToInstance, UUID("{8502C53B-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  1116. class CIM_ServiceServiceDependency : CIM_Dependency
  1117. {
  1118. [Override("Antecedent"): ToSubClass] CIM_Service ref Antecedent = NULL;
  1119. [Override("Dependent"): ToSubClass] CIM_Service ref Dependent = NULL;
  1120. uint16 TypeOfDependency;
  1121. };
  1122. [
  1123. ViewSources {"Select * From Win32_DependentService"},
  1124. ViewSpaces {"\\\\.\\root\\cimv2"},
  1125. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  1126. ]
  1127. class Win32_DependentService : CIM_ServiceServiceDependency
  1128. {
  1129. [Override("Antecedent"): ToSubClass, read: ToSubClass, key, MappingStrings{"WMI|Win32_BaseService"}: ToSubClass,
  1130. PropertySources{"Antecedent"}
  1131. ]
  1132. Win32_BaseService ref Antecedent = NULL;
  1133. [Override("Dependent"): ToSubClass, read: ToSubClass, key, MappingStrings{"WMI|Win32_BaseService"}: ToSubClass,
  1134. PropertySources{"Dependent"}
  1135. ]
  1136. Win32_BaseService ref Dependent = NULL;
  1137. [
  1138. PropertySources{"TypeOfDependency"}
  1139. ]
  1140. uint16 TypeOfDependency;
  1141. };
  1142. [Association: DisableOverride ToInstance ToSubClass, Abstract, Aggregation: ToSubClass, Locale(1033): ToInstance, UUID("{8502C573-5FBB-11D2-AAC1-006008C78BC7}"): ToInstance]
  1143. class CIM_Component
  1144. {
  1145. [read: ToSubClass, Aggregate: ToSubClass] CIM_ManagedSystemElement ref GroupComponent;
  1146. [read: ToSubClass] CIM_ManagedSystemElement ref PartComponent;
  1147. };
  1148. [Abstract, Locale(1033): ToInstance, UUID("{527BC6CE-BAFE-11d2-85E5-0000F8102E5F}"): ToInstance]
  1149. class CIM_SystemComponent : CIM_Component
  1150. {
  1151. [read: ToSubClass, Override("GroupComponent"): ToSubClass] CIM_System ref GroupComponent = NULL;
  1152. [read: ToSubClass, Override("PartComponent"): ToSubClass] CIM_ManagedSystemElement ref PartComponent = NULL;
  1153. };
  1154. [
  1155. ViewSources {"Select * From Win32_SystemServices"},
  1156. ViewSpaces {"\\\\.\\root\\cimv2"},
  1157. dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
  1158. ]
  1159. class Win32_SystemServices : CIM_SystemComponent
  1160. {
  1161. [read: ToSubClass, Override("GroupComponent"): ToSubClass, key, MappingStrings{"WMI|Win32_ComputerSystem"}: ToSubClass,
  1162. PropertySources{"GroupComponent"}
  1163. ]
  1164. Win32_ComputerSystem ref GroupComponent = NULL;
  1165. [read: ToSubClass, Override("PartComponent"): ToSubClass, key, MappingStrings{"WMI|Win32_ComputerSystem"}: ToSubClass,
  1166. PropertySources{"PartComponent"}
  1167. ]
  1168. Win32_Service ref PartComponent = NULL;
  1169. };