BATTERY_INFORMATION结构

包含电池信息。 请求 BatteryInformation 信息级别时,此结构由 IOCTL_BATTERY_QUERY_INFORMATION 控制代码返回。

语法

typedef struct _BATTERY_INFORMATION {
  ULONG Capabilities;
  UCHAR Technology;
  UCHAR Reserved[3];
  UCHAR Chemistry[4];
  ULONG DesignedCapacity;
  ULONG FullChargedCapacity;
  ULONG DefaultAlert1;
  ULONG DefaultAlert2;
  ULONG CriticalBias;
  ULONG CycleCount;
} BATTERY_INFORMATION, *PBATTERY_INFORMATION;

成员

功能

电池功能。 此成员可以是以下一个或多个值。

含义
BATTERY_CAPACITY_RELATIVE
0x40000000
指示电池容量和速率信息是相对的,而不是任何特定单位。 如果未设置此位,则报告单位为毫瓦小时 (mWh,容量) 为毫瓦 (mW) 。 如果设置了此位,则可以忽略其他电池文档中对单元的所有引用。 所有费率信息以每小时单位为单位报告。 例如,如果完全充电的容量报告为 100,则速率为 200 表示电池将在半小时内使用其所有容量。
BATTERY_IS_SHORT_TERM
0x20000000
指示正常操作适用于故障安全函数。 如果未设置此位,则电池应在正常系统使用期间使用。
BATTERY_SET_CHARGE_SUPPORTED
0x00000001
指示此电池设备支持 BatteryCharge 类型的设置信息请求。
BATTERY_SET_DISCHARGE_SUPPORTED
0x00000002
指示此电池设备支持 BatteryDischarge 类型的设置信息请求。
BATTERY_SYSTEM_BATTERY
0x80000000
指示电池可以提供运行系统所需的一般功率。

技术

电池技术。 此成员可以是以下值之一。

含义
0
不可充电的电池,例如碱电池。
1
可充电电池,例如铅酸。

Reserved

保留。

化学

指示电池化学成分的缩写字符串。 此字符串不一定以零结尾。 下面是可返回的缩写的部分列表以及关联的化学。

Unicode 字符串 含义
PbAc
铅酸
狮子
锂离子
Li-I
锂离子
NiCd
镍 Cadmium
Nimh
镍氢化物
NiZn
镍锌
RAM
可充电Alkaline-Manganese

将来可能会出现其他化学,代码应该能够处理它们。

DesignedCapacity

除非设置了BATTERY_CAPACITY_RELATIVE,否则新电池的理论容量(以 mWh 为单位)。 在这种情况下,单元是未定义的。

FullChargedCapacity

电池的当前完全充电容量(以 mWh 为单位) (或相对) 。 将此值与 DesignedCapacity 进行比较,以估计电池的磨损。

DefaultAlert1

制造商建议的容量(以 mWh 为单位),此时应出现电池电量不足警报。 低的定义因制造商而异。 一般情况下,警告状态将出现在低状态之前,但不应假定它始终会出现。 为了降低数据丢失的风险,此值通常用作严重电池警报的默认设置。

DefaultAlert2

制造商的建议容量(以 mWh 为单位),此时应发生电池警告警报。 警告的定义因制造商而异。 一般情况下,警告状态将出现在低状态之前,但不应假定它始终会出现。 为了降低数据丢失的风险,此值通常用作电池电量不足警报的默认设置。

CriticalBias

从零开始的偏差(以 mWh 为单位),应用于电池报告。 某些电池保留少量电量,该电量偏离电池的容量值,将“0”显示为关键电池电量。 严重偏差类似于设置燃油仪表,以在剩余几升燃料时显示“空”。

CycleCount

电池经历的充电/放电周期数。 这提供了一种确定电池磨损的方法。 如果电池不支持循环计数器,则此成员为零。

备注

通常,警告状态发生在低状态之前,但不应假定它会。 可以轮询电池并发现两个警报级别均未发生,然后再次轮询电池并发现电池已耗尽,达到这两个级别。 这可能表明轮询频率不够高。 这可能还表明电池无法长时间保持充电,并且正在以比预期快的速度释放。 此类电池可能已接近其使用寿命结束,或者可能已损坏。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Poclass.h;
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP 上的 Batclass.h

另请参阅

IOCTL_BATTERY_QUERY_INFORMATION