EFI_BATTERY_CHARGING_PROTOCOL.ChargeBattery

使用最大充电电流将主电池充电到指定的目标级别。

语法

typedef EFI_STATUS (EFIAPI * EFI_BATTERY_CHARGING_CHARGE_BATTERY) (
    IN EFI_BATTERY_CHARGING_PROTOCOL *This,
    IN UINT32 MaximumCurrent, 
    IN UINT32 TargetStateOfCharge,
    IN EFI_BATTERY_CHARGING_COMPLETION_TOKEN *CompletionToken );

参数

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

MaximumCurrent
[in] 可选。 可用于为主电池此函数的最大电流(以 mA 为单位)。 NULL 值会提示实现此协议的驱动程序自行处理此类详细信息。

TargetStateOfCharge
[in] 主电池的目标充电状态 (SOC),之后如果 CompletionToken 为 NULL,则函数将返回该状态。 SOC 以百分比表示,100% 表示充满电。

CompletionToken
[in] 指向与所请求充电操作关联的 EFI_BATTERY_CHARGING_COMPLETION_TOKEN 的指针。

返回值

返回下列状态代码之一。

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

注解

此非阻塞函数会以最大充电电流将主电池充电到指定的目标级别。

若要检测错误,CompletionToken 中包含的事件类型必须为 EVT_NOTIFY_SIGNAL,使用 CreateEventEx 创建,并且必须将 NotifyFunctionCompletionToken 关联为 NotifyContext。 状态错误代码将通过 CompletionTokenStatus 成员提供。

要求

标头:用户生成

EFI_BATTERY_CHARGING_PROTOCOL

EFI_BATTERY_CHARGING_COMPLETION_TOKEN