#pragma namespace ("\\\\.\\Root\\WMI") // // Wmi internal classes class WMIEvent : __ExtrinsicEvent { }; [abstract] class MSBatteryClass:Win32_PerfRawData{ }; [WMI, Dynamic, Provider("WMIProv"), guid("{fc4670d1-ebbf-416e-87ce-374a4ebc111a}"), localeid(0x409), WmiExpense(1000), Description("Battery Status") : amended, perfdetail(100), hiperf] class BatteryStatus:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, countertype(0x00010000), defaultscale(0), perfdetail(100), Description("Battery Tag") : amended, WmiDataId(1), WmiVolatility(10000)] uint32 Tag; [read, countertype(0x00010000), defaultscale(0), perfdetail(100), Description("Remaining battery capacity") : amended, WmiDataId(2), WmiVolatility(10000)] uint32 RemainingCapacity; [read, countertype(0x00010000), defaultscale(0), perfdetail(100), Description("Charge Rate") : amended, WmiDataId(3), WmiVolatility(10000)] sint32 ChargeRate; [read, countertype(0x00010000), defaultscale(0), perfdetail(100), Description("Discharge Rate") : amended, WmiDataId(4), WmiVolatility(10000)] sint32 DischargeRate; [read, countertype(0x00010000), defaultscale(0), perfdetail(100), Description("Voltage") : amended, WmiDataId(5), WmiVolatility(10000)] uint32 Voltage; [read, Description("Power Online") : amended, WmiDataId(6), WmiVolatility(10000)] boolean PowerOnline; [read, Description("Charging") : amended, WmiDataId(7), WmiVolatility(10000)] boolean Charging; [read, Description("Discharging") : amended, WmiDataId(8), WmiVolatility(10000)] boolean Discharging; [read, Description("Critical") : amended, WmiDataId(9), WmiVolatility(10000)] boolean Critical; }; [WMI, Dynamic, Provider("WMIProv"), guid("{535a3767-1ac2-49bc-a077-3f7a02e40aec}"), localeid(0x409), WmiExpense(1000), Description("Estimated runtime") : amended] class BatteryRuntime:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Estimated System Runtime") : amended, WmiDataId(2), WmiVolatility(10000)] uint32 EstimatedRuntime; }; [WMI, Dynamic, Provider("WMIProv"), guid("{1a52a14d-adce-4a44-9a3e-c8d8f15ff2c2}"), localeid(0x409), WmiExpense(1000), Description("Battery Temperature") : amended] class BatteryTemperature:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Battery Temperature") : amended, WmiDataId(2), WmiVolatility(10000)] uint32 Temperature; }; [WMI, Dynamic, Provider("WMIProv"), guid("{40b40565-96f7-4435-8694-97e0e4395905}"), localeid(0x409), WmiExpense(1000), Description("Full charged Capacity") : amended] class BatteryFullChargedCapacity:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Last measured total full charged battery capacity") : amended, WmiDataId(2), WmiVolatility(100000000)] uint32 FullChargedCapacity; }; [WMI, Dynamic, Provider("WMIProv"), guid("{ef98db24-0014-4c25-a50b-c724ae5cd371}"), localeid(0x409), WmiExpense(1000), Description("Battery Cycle Count") : amended] class BatteryCycleCount:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Cycle Count") : amended, WmiDataId(2), WmiVolatility(100000000)] uint32 CycleCount; }; [WMI, Dynamic, Provider("WMIProv"), guid("{05e1e463-e4e2-4ea9-80cb-9bd4b3ca0655}"), localeid(0x409), WmiExpense(1000), Description("Static Data") : amended] class BatteryStaticData:MSBatteryClass { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Manufacture Date") : amended, WmiDataId(2)] datetime ManufactureDate; [read, Description("Granularity") : amended, WmiDataId(3)] uint64 Granularity0; [read, Description("Granularity") : amended, WmiDataId(4)] uint64 Granularity1; [read, Description("Granularity") : amended, WmiDataId(5)] uint64 Granularity2; [read, Description("Granularity") : amended, WmiDataId(6)] uint64 Granularity3; [read, Description("Capabilities") : amended, WmiDataId(7)] uint32 Capabilities; [read, Description("Technology") : amended, WmiDataId(8)] uint8 Technology; [read, Description("Chemistry") : amended, WmiDataId(9)] uint32 Chemistry; [read, Description("Designed Capacity") : amended, WmiDataId(10)] uint32 DesignedCapacity; [read, Description("Default Critical battery alarm setting") : amended, WmiDataId(11)] uint32 DefaultAlert1; [read, Description("Default Low battery alarm setting") : amended, WmiDataId(12)] uint32 DefaultAlert2; [read, Description("Critical Bias") : amended, WmiDataId(13)] uint32 CriticalBias; [read, Description("Device Name") : amended, WmiDataId(14)] string DeviceName; [read, Description("Manufacture Name") : amended, WmiDataId(15)] string ManufactureName; [read, Description("Serial number") : amended, WmiDataId(16)] string SerialNumber; [read, Description("Unique ID") : amended, WmiDataId(17)] string UniqueID; }; class MSBatteryClassEvent:WmiEvent { }; [WMI, Dynamic, Provider("WMIProv"), guid("{cddfa0c3-7c5b-4e43-a034-059fa5b84364}"), localeid(0x409), WmiExpense(1), Description("Battery Status Change Event") : amended] class BatteryStatusChange:MSBatteryClassEvent { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; [read, Description("Power Online") : amended, WmiDataId(2), WmiVolatility(10000)] boolean PowerOnline; [read, Description("Charging") : amended, WmiDataId(3), WmiVolatility(10000)] boolean Charging; [read, Description("Discharging") : amended, WmiDataId(4), WmiVolatility(10000)] boolean Discharging; [read, Description("Critical") : amended, WmiDataId(5), WmiVolatility(10000)] boolean Critical; }; [WMI, Dynamic, Provider("WMIProv"), guid("{5e1f6e19-8786-4d23-94fc-9e746bd5d888}"), localeid(0x409), WmiExpense(1), Description("Battery inserted or removed") : amended] class BatteryTagChange:MSBatteryClassEvent { [key, read] string InstanceName; [read] boolean Active; [read, Description("Battery Tag") : amended, WmiDataId(1)] uint32 Tag; };