BATTERY_WAIT_STATUS 구조체
배터리 상태 검색할 조건에 대한 정보를 포함합니다. 이 구조체는 IOCTL_BATTERY_QUERY_STATUS 제어 코드에서 사용됩니다.
구문
typedef struct _BATTERY_WAIT_STATUS {
ULONG BatteryTag;
ULONG Timeout;
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
멤버
-
BatteryTag
-
배터리의 현재 배터리 태그입니다. 태그와 일치하는 배터리에 대한 정보만 반환할 수 있습니다. 이 값이 배터리의 현재 태그와 일치하지 않을 때마다 DeviceIoControl 작업은 ERROR_FILE_NOT_FOUND 오류 코드와 함께 실패합니다. 이는 태그가 있는 배터리가 더 이상 설치되지 않음을 호출자에게 나타내며, 호출자는 IOCTL_BATTERY_QUERY_TAG 작업을 사용하여 새로 설치된 배터리의 태그를 확인하도록 선택할 수 있습니다. 있는 경우 입니다. 또한 배터리를 제거할 때 요청이 진행 중이거나 태그가 변경되면 ERROR_FILE_NOT_FOUND 상태 작업이 중단됩니다. 자세한 내용은 배터리 태그를 참조하세요.
-
Timeout
-
완료하기 전에 요청이 PowerState, LowCapacity 및 HighCapacity 멤버에 지정된 조건을 기다리는 시간(밀리초)입니다. 값 -1은 요청이 조건이 충족될 때까지 무기한 대기했음을 나타냅니다. 값이 0이면 요청된 배터리 정보가 다른 조건에 관계없이 즉시 반환됨을 나타냅니다. 다른 값은 요청이 해당 시간 길이를 기다리거나 다른 조건 중 하나가 충족될 때까지 기다려야 했음을 나타냅니다.
컴퓨터가 절전 모드로 전환되면 시계가 계속 실행되지만 개수를 소모해도 컴퓨터가 절전 모드에서 해제되지 않습니다. 컴퓨터가 깨어났을 때 개수가 소진되고 다른 조건이 충족되면 각성 시 호출이 즉시 반환됩니다.
-
PowerState
-
배터리 상태를 나타내는 다음 상태 비트 중 0개 이상입니다. BATTERY_STATUS 구조체의 PowerState 멤버와 동일합니다.
값 의미 - BATTERY_CHARGING
- 0x00000004
배터리가 현재 충전 중임을 나타냅니다. - BATTERY_CRITICAL
- 0x00000008
배터리 오류가 임박했음을 나타냅니다. 자세한 내용은 설명 부분을 참조하세요. - BATTERY_DISCHARGING
- 0x00000002
배터리가 현재 방전 중임을 나타냅니다. - BATTERY_POWER_ON_LINE
- 0x00000001
배터리가 AC 전원에 액세스할 수 있음을 나타냅니다. -
LowCapacity
-
현재 배터리 용량(mWh 또는 상대)입니다. 이 값은 BATTERY_STATUS 구조체의 Capacity 멤버와 동일합니다.
-
HighCapacity
-
현재 배터리 용량(mWh 또는 상대)입니다. 이 값은 BATTERY_STATUS 구조체의 Capacity 멤버와 동일합니다.
설명
배터리 정보 요청은 다음 중 하나가 발생할 때까지 연기됩니다.
- 제한 시간이 만료됩니다( 시간 제한이 -1이 아닌 경우).
- 배터리의 현재 상태 PowerState와 일치하지 않습니다.
- 배터리 용량이 LowCapacity보다 낮습니다.
- 배터리 용량이 HighCapacity를 초과합니다.
- 배터리 태그가 변경되었습니다.
이러한 조건 중 하나가 충족되면 데이터가 수집되고 작업이 반환됩니다. 이를 통해 애플리케이션은 디바이스를 폴링하지 않고도 일반적인 동적 배터리 정보를 모니터링할 수 있습니다.
두 용량 조건 중 하나를 사용하기 전에 시간 초과가 0인 IOCTL_BATTERY_QUERY_STATUS 제어 코드를 사용하여 배터리가 이를 지원하는지 확인합니다. 결과를 검사하여 Capacity 멤버가 지원되는지 확인합니다(즉, BATTERY_UNKNOWN_CAPACITY 아님).
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
헤더 |
|