Field | Description | Windows-specific requirements |
---|---|---|
Revision | Indicates _BIX revision | Must be set to 0x0 |
Power Unit | Determines the units reported by the hardware. Either: MA/MAh or mW/mWh. | Must be set to 0x0 to indicate units is mW/mWh |
Design Capacity | Indicates the original capacity of the battery in mWh | Must be set to an accurate value and cannot be 0x0 or 0xFFFFFFFF |
Last Full Charge Capacity | Indicates the current full charge capacity of the battery | Must be set to an accurate value and cannot be 0x0 or 0xFFFFFFFF This value must update each time cycle count increases. |
Battery Technology | Indicates if the battery is rechargeable or one-time use. | Must be set to 0x1 to indicate the battery is rechargeable |
Design Voltage | Indicates the design voltage of the battery | Must be set to the design voltage of the battery when new in mV. Must not be set to 0x0 or 0xFFFFFFFF. |
Design capacity of Warning | Indicates an OEM-provided low battery warning level. | This value is ignored by Windows. |
Design capacity of Low | Indicates the critical battery level at which Windows must immediately Shutdown or Hibernate before the system powers off. | Must be set to a value between 0x0 and 5% of the battery design capacity. |
Battery Capacity Granularity 1 | Indicates the minimum amount of remaining charge change that can be detected by the hardware between the Design Capacity of Warning and Design Capacity of Low. | Must be set to a value no larger than 1% of the battery design capacity. |
Battery Capacity Granularity 2 | Indicates the minimum amount of remaining charge change that can be detected by the hardware between Last Full Charge Capacity and Design Capacity of Warning. | Must be set to a value no larger than 75mW (approximately .25% of a 25Whr battery) which is (1/400) of the battery design capacity. |
Cycle Count | Indicates the battery cycle count. | Must be set to a value larger than 0x0. Must not be set to 0xFFFFFFFF. |
Measurement Accuracy | Indicates the accuracy of the battery capacity measurement. | Must be set to 95,000 or better, indicating 95% accuracy or better. |
Max Sampling Time | The maximum supported sampling time between two successive _BST evaluations which will show a difference in remaining capacity. | No specific requirement. |
Min Sampling Time | The minimum supported sampling time between two successive _BST evaluations which will show a difference in remaining capacity | No specific requirement. |
Max Averaging Interval | The maximum averaging interval, in milliseconds, supported by the battery fuel gauge. | No specific requirement. |
Min Averaging Interval | The minimum averaging interval, in milliseconds, supported by the battery fuel gauge. | No specific requirement. |
Model Number | OEM-provided battery model number | Must not be NULL. |
Serial Number | OEM-provided battery serial number | Must not be NULL. |
Battery Type | OEM-provided battery type information | No specific requirement. |
OEM Information | OEM-provided information | No specific requirement. |
Field | Description | Windows-specific requirements |
---|---|---|
Battery State | Indicates if the battery is currently being charged, is discharging or is in a critical state. | The Battery State must report charging only if the battery is charging. Likewise, the Battery State MUST report discharging only if the battery is discharging. A battery that is neither charging nor discharging must report neither bit. |
Battery Present Rate | Provides the current rate of drain in mW from the battery. | Must be greater than 0x0 and less than 0xFFFFFFFF. Must be accurate within the value of Measurement Accuracy in _BIX. |
Battery Remaining Capacity | Provides the remaining battery capacity in mWh. | Must be greater than 0x0 and less than 0xFFFFFFFF. Must be accurate within the value of Measurement Accuracy in _BIX |
Battery Present Voltage | Indicates the current voltage across the terminals of the battery. | Must be between a value of 0x0 and 0xFFFFFFFF in mV. |
Field | Value | Description |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID indicating extensions to the Windows control method battery driver support |
Revision ID | 0x0 | First revision of this capability |
Function Index | 0x1 | Set battery charge throttle |
Arguments | Thermal Limit | Integer value from 0 to 100 indicating the thermal charge limit. A value of 40% indicates the battery should be charged at 40% of maximum rate. A value of 0% indicates battery charging should be stopped until this method is called again. |
Return Value(s) | None | n/a |
Field | Value | Description |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID indicating extensions to the Windows control method battery driver support |
Revision ID | 0x0 | First revision of this capability |
Function Index | 0x2 | Indicates this _DSM is for OSPM to determine if the battery device is user-serviceable or not. |
Arguments | None | No arguments required. |
Return Value(s) | Package containing a single integer. | 0x0 if the battery is not user-serviceable and cannot be replaced by the end user, or can be replaced by the end user with additional tools. 0x1 if the battery can be replaced by the end-user without additional tools. |
Field | Value | Description |
---|---|---|
UUID | 4c2067e3-887d-475c-9720-4af1d3ed602e | GUID indicating extensions to the Windows control method battery driver support |
Revision ID | 0x0 | First revision of this capability |
Function Index | 0x3 | Indicates this _DSM is for the OSPM to determine if the control method battery requires periodic watchdog resetting to maintain high current charging and the period at which the watchdog must be reset |
Arguments | None | No arguments required. |
Return Value(s) | Package containing a single integer. | 0x0 if the battery does not require watchdog servicing. Values inclusive of 0x0000001e and 0x12C indicate the maximum poling interval in seconds. All other values are ignored and are treated as 0x0 and watchdog resetting is not required. If a valid watchdog interval is specified, Windows will execute the _BST method at an interval no longer than the watchdog value specified whenever the value of BatteryState in the _BST method is set to charging. Dynamic update of this value is not supported. |
Surface Model | Naming Format | Download Link |
---|---|---|
Surface RT | Only available via Windows Update | Not Available |
Surface 2 | Only available via Windows Update | Not Available |
Surface 3 | Surface3_WiFi_Windows version_ year month day.msi | Download |
Surface 3 (LTE) | Surface3_Mobile version_Windows version_ year month day.msi | Download |
Surface Pro | SurfacePro_ Windows version_ year month day.zip | Download |
Surface Pro 2 | SurfacePro2_ Windows version_ year month day.zip | Download |
Surface Pro 3 | SurfacePro3_ Windows version_ year month day.msi | Download |
Surface Pro 4 | SurfacePro4_ Windows version_ year month day.msi | Download |
Surface Pro (2017) | SurfacePro_ Windows version_Windows build_ year month day.msi | Download |
Surface Book | SurfaceBook_ Windows version_ year month day.msi | Download |
Surface Book with Performance Base | SurfaceBook_ Windows version_ year month day.msi | Download |
Surface Laptop | SurfaceLaptop_ Windows version_Windows build_ year month day.msi | Download |
Surface Studio | SurfaceStudio_Windows version_Windows build_year month day.msi | Download |