BCLASS_QUERY_STATUS_CALLBACK 콜백 함수(batclass.h)
BatteryMiniQueryStatus는 지정된 배터리 디바이스에 대한 상태 정보를 반환합니다.
구문
BCLASS_QUERY_STATUS_CALLBACK BclassQueryStatusCallback;
NTSTATUS BclassQueryStatusCallback(
[in] PVOID Context,
[in] ULONG BatteryTag,
[out] PBATTERY_STATUS BatteryStatus
)
{...}
매개 변수
[in] Context
배터리 디바이스의 미니클래스 드라이버에서 할당한 컨텍스트 영역에 대한 포인터입니다.
[in] BatteryTag
BatteryMiniQueryTag에서 이전에 반환한 배터리 태그 값입니다.
[out] BatteryStatus
미니클래스 드라이버가 정보를 반환하는 BATTERY_STATUS 구조체에 대한 포인터입니다.
반환 값
BatteryMiniQueryStatus 는 다음 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
BatteryTag에서 지정한 배터리가 현재 설치되어 있습니다. |
|
BatteryTag에서 지정한 배터리가 없습니다. |
설명
배터리 클래스 드라이버는 BatteryMiniQueryStatus를 호출하여 배터리에 대한 상태 정보를 가져옵니다. 상태 정보에는 배터리의 전원 상태, 용량, 전압 및 요청 시 흐르는 전류의 양이 포함됩니다.
미니클래스 드라이버가 완전 기능의 BatteryMiniSetStatusNotify 및 BatteryMiniDisableStatusNotify 루틴을 제공하지 않는 경우 배터리 클래스 드라이버는 배터리의 상태 폴링하기 위해 주기적이지만 드문 간격으로 BatteryMiniQueryStatus를 호출합니다. 그렇지 않은 경우 클래스 드라이버는 미니클래스 드라이버가 배터리 상태 변경 사실을 통보한 후 이 루틴을 호출합니다.
매우 낮은 배터리(BATTERY_DISCHARGING 및 BATTERY_CRITICAL)를 보고하기 전에 미니클래스 드라이버는 문제가 일시적인 상태가 아닌 합법적인지 확인해야 하며, 그렇다면 문제를 해결하려고 시도해야 합니다. 가능한 해결 방법은 AC 전원 또는 다른 배터리로의 전환을 포함할 수 있습니다. 미니클래스 드라이버가 배터리가 중요하고 방전 중이라고 보고하면 시스템은 배터리 오류가 임박했다고 가정하고 종료를 준비합니다.
요구 사항
대상 플랫폼 | 데스크톱 |
머리글 | batclass.h(Batclass.h 포함) |
IRQL | PASSIVE_LEVEL |