다음을 통해 공유


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, LowCapacityHighCapacity 멤버에 지정된 조건을 기다리는 시간(밀리초)입니다. 값 -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 [데스크톱 앱만 해당]
헤더
Poclass.h;
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP의 Batclass.h

추가 정보

BATTERY_STATUS

IOCTL_BATTERY_QUERY_STATUS

IOCTL_BATTERY_QUERY_TAG