배터리 상태 및 알림 루틴의 상호 작용

클래스 드라이버는 배터리 상태를 요청하고 받을 수 있으며 미니 클래스 드라이버는 여러 가지 방법으로 배터리 상태를 제공할 수 있습니다.

미니클래스 드라이버가 BatteryMiniSetStatusNotify 루틴을 제공하는 경우, 클래스 드라이버는 배터리 용량이 지정된 범위를 초과하거나 아래로 떨어지거나 전원 상태가 변경될 때 알림을 받도록 등록할 수 있습니다. 등록된 조건이 발생하면 미니클래스 드라이버가 BatteryClassStatusNotify를 호출합니다.

BatteryClassStatusNotify는 상태 정보를 제공하지 않습니다. 유일한 매개 변수는 알림을 트리거한 배터리의 컨텍스트입니다. 단지 클래스 드라이버에게 배터리 상태가 변경되었음을 알릴 뿐입니다. 다시 클래스 드라이버는 세부 정보가 필요한 경우 BatteryMiniQueryStatus 를 호출합니다.

miniclass 드라이버가 BatteryMiniSetStatusNotify를 지원하지 않는 경우 클래스 드라이버는 정기적인 간격으로 BatteryMiniQueryStatus 루틴을 호출하여 상태를 폴링합니다.

모든 알림 요청과는 별개로, 미니클래스 드라이버는 다음이 발생할 때마다 BatteryClassStatusNotify 를 호출해야 합니다.

  • 배터리가 온라인 또는 오프라인으로 전환됩니다.

  • 배터리 용량이 매우 낮아집니다.

  • 배터리의 전원 상태가 변경됩니다. 충전을 시작하거나, 방전을 시작하거나, 충전을 중지하거나, 방전을 중지합니다.

배터리가 매우 낮고 방전되는 것을 보고하기 전에, 미니클래스 드라이버는 배터리 상태 쿼리 응답에 앞서 설명한 대로 문제를 해결하려고 시도해야 합니다.