EFI_BATTERY_CHARGING_PROTOCOL.GetBatteryStatus

返回有关主电池当前状态的信息。

语法

typedef EFI_STATUS (EFIAPI * EFI_BATTERY_CHARGING_GET_BATTERY_STATUS) (
    IN EFI_BATTERY_CHARGING_PROTOCOL *This,
    OUT UINT32 *StateOfCharge,
    OUT UINT32 *RatedCapacity,
    OUT INT32 *ChargeCurrent );

参数

This
[in] 指向 EFI_BATTERY_CHARGING_PROTOCOL 实例的指针。

StateOfCharge
[out] 返回主电池的当前充电状态 (SOC)。 SOC 以百分比表示,100% 表示充满电。

RatedCapacity
[out] 以 mAh 为单位返回主电池的分级容量。

ChargeCurrent
[out] 如果电池正在充电过程中,则返回一个正数,指示传递到电池的电流(以 mA 为单位)。 如果电池正在放电过程中,则返回一个负数,指示从电池中提取的电流(以 mA 为单位)。 如果电池既没有充电,也没有放电,则返回 0。 如果硬件无法提供此信息,它将返回 EFI_BATTERY_CHARGE_CURRENT_NOT_SUPPORTED (0x80000000)。

返回值

返回下列状态代码之一。

状态代码 说明
EFI_SUCCESS 函数已成功返回。
EFI_INVALID_PARAMETER 一个参数不正确。
EFI_DEVICE_ERROR 此物理设备报告了一个错误。
EFI_NOT_READY 物理设备正忙或未准备好处理此请求。

注解

此函数返回主电池的分级容量和充电状态 (SOC)。 系统会定期调用此函数,以协助实现此协议的驱动程序进行其他处理。

要求

标头:用户生成

EFI_BATTERY_CHARGING_PROTOCOL