다음을 통해 공유


BatteryClassIoctl 함수(batclass.h)

BatteryClassIoctl 은 시스템 정의 배터리 IOCTL을 처리합니다.

구문

NTSTATUS BATTERYCLASSAPI BatteryClassIoctl(
  [in]      PVOID ClassData,
  [in, out] PIRP  Irp
);

매개 변수

[in] ClassData

이전에 BatteryClassInitializeDevice에서 반환된 배터리 클래스 핸들에 대한 포인터입니다.

[in, out] Irp

처리할 IOCTL을 포함하는 IRP에 대한 포인터입니다.

반환 값

BatteryClassIoctl 은 요청을 충족하고 IRP를 완료할 때 STATUS_SUCCESS 반환합니다. 배터리 IOCTL을 지정하는 디바이스 제어 IRP 이외의 모든 IRP에 대한 STATUS_NOT_SUPPORTED 반환합니다.

설명

BatteryClassIoctl 은 배터리용 디바이스 제어 IRP를 처리하고 완료합니다. 이러한 IRP에는 다음 I/O 제어 코드 중 하나가 있습니다.

  • IOCTL_BATTERY_QUERY_INFORMATION
  • IOCTL_BATTERY_QUERY_STATUS
  • IOCTL_BATTERY_QUERY_TAG
  • IOCTL_BATTERY_SET_INFORMATION
표준 배터리 IOCTL은 배터리 미니클래스 드라이버 루틴 (BatteryMiniXxx 루틴)에 해당합니다.

미니클래스 드라이버가 IRP_MJ_DEVICE_CONTROL 요청으로 호출되는 경우 IRP에 미니클래스 드라이버가 정의한 프라이빗 IOCTL이 포함되어 있는지 여부를 결정해야 합니다. 이 경우 미니클래스 드라이버는 요청을 충족하고 IRP를 완료한 다음 반환해야 합니다.

IRP에 공용 IOCTL이 포함된 경우 드라이버는 IRP를 클래스 드라이버의 BatteryClassIoctl 루틴에 전달해야 합니다. 이 루틴은 IRP를 검사하고, 호출자의 배터리 장치에 적용되는지 여부를 확인하고, 그렇다면 적절한 BatteryMiniXxx 루틴을 호출하여 요청된 작업을 수행합니다.

BatteryClassIoctl이 IRP에 대한 STATUS_NOT_SUPPORTED 반환하는 경우 미니클래스 드라이버는 IRP를 완료하거나 다음 하위 드라이버로 전달해야 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 batclass.h(Batclass.h 포함)
라이브러리 Battc.lib

추가 정보

BatteryMiniQueryInformation

BatteryMiniQueryStatus

BatteryMiniQueryTag

BatteryMiniSetInformation