共用方式為


回應電池信息查詢

電池類別驅動程式會呼叫 BatteryMiniQueryInformation 例程,以取得目前電池的各種資訊。 此例程宣告如下:

typedef 
NTSTATUS
(*BCLASS_QUERY_INFORMATION)(
    IN PVOID Context,
    IN ULONG BatteryTag,
    IN BATTERY_QUERY_INFORMATION_LEVEL Level,
    IN LONG AtRate OPTIONAL,
    OUT PVOID Buffer,
    IN ULONG BufferLength,
    OUT PULONG ReturnedLength
    );

Context 參數是迷你類別驅動程式所配置的上下文區域的指標,並在裝置初始化時,透過BATTERY_MINIPORT_INFO結構傳遞到類別驅動程式。 BatteryTag 參數是 BatteryMiniQueryTag 先前傳回的值。

Level 參數會指定所要求的信息種類。 迷你類別驅動程式會將資訊格式化為 BATTERY_INFORMATION 結構,並在 Buffer 提供的位址傳回該資訊,並以 ReturnedLength 中的長度指標傳回該資訊。

迷你類別驅動程式應該準備好處理下列要求:

  • 電池性能、化學成分、容量、低容量警示等級,以及保留電量

  • 溫度,以開爾文為單位的十分之一度

  • 估計剩餘運行時間,以秒為單位

  • 裝置名稱

  • 製造商的電池型號名稱

  • 製造日期

  • 唯一識別碼

  • 序號

某些電池無法報告所有這些資訊。 迷你類別驅動程式應該針對其裝置無法提供的任何資訊傳回STATUS_INVALID_DEVICE_REQUEST。