다음을 통해 공유


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 는 다음 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
BatteryTag에서 지정한 배터리가 현재 설치되어 있습니다.
STATUS_NO_SUCH_DEVICE
BatteryTag에서 지정한 배터리가 없습니다.

설명

배터리 클래스 드라이버는 BatteryMiniQueryStatus를 호출하여 배터리에 대한 상태 정보를 가져옵니다. 상태 정보에는 배터리의 전원 상태, 용량, 전압 및 요청 시 흐르는 전류의 양이 포함됩니다.

미니클래스 드라이버가 완전 기능의 BatteryMiniSetStatusNotifyBatteryMiniDisableStatusNotify 루틴을 제공하지 않는 경우 배터리 클래스 드라이버는 배터리의 상태 폴링하기 위해 주기적이지만 드문 간격으로 BatteryMiniQueryStatus를 호출합니다. 그렇지 않은 경우 클래스 드라이버는 미니클래스 드라이버가 배터리 상태 변경 사실을 통보한 후 이 루틴을 호출합니다.

매우 낮은 배터리(BATTERY_DISCHARGING 및 BATTERY_CRITICAL)를 보고하기 전에 미니클래스 드라이버는 문제가 일시적인 상태가 아닌 합법적인지 확인해야 하며, 그렇다면 문제를 해결하려고 시도해야 합니다. 가능한 해결 방법은 AC 전원 또는 다른 배터리로의 전환을 포함할 수 있습니다. 미니클래스 드라이버가 배터리가 중요하고 방전 중이라고 보고하면 시스템은 배터리 오류가 임박했다고 가정하고 종료를 준비합니다.

요구 사항

   
대상 플랫폼 데스크톱
머리글 batclass.h(Batclass.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

BatteryClassStatusNotify

BatteryMiniDisableStatusNotify

BatteryMiniSetStatusNotify