Compartilhar via


Função BatteryClassIoctl (batclass.h)

BatteryClassIoctl manipula IOCTLs de bateria definidas pelo sistema.

Sintaxe

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

Parâmetros

[in] ClassData

Ponteiro para um identificador de classe de bateria que foi retornado anteriormente por BatteryClassInitializeDevice.

[in, out] Irp

Ponteiro para o IRP que contém o IOCTL a ser tratado.

Retornar valor

BatteryClassIoctl retorna STATUS_SUCCESS quando atende à solicitação e conclui o IRP. Ele retorna STATUS_NOT_SUPPORTED para todos os IRPs que não sejam IRPs de controle de dispositivo que especificam IOCTLs de bateria.

Comentários

BatteryClassIoctl manipula e conclui o controle de dispositivo IRPs destinados à bateria. Esses IRPs têm um dos seguintes códigos de controle de E/S:

  • IOCTL_BATTERY_QUERY_INFORMATION
  • IOCTL_BATTERY_QUERY_STATUS
  • IOCTL_BATTERY_QUERY_TAG
  • IOCTL_BATTERY_SET_INFORMATION
As IOCTLs de bateria padrão correspondem às rotinas do driver de miniclasse de bateria (rotinas BatteryMiniXxx ).

Quando o driver de miniclasse é chamado com uma solicitação IRP_MJ_DEVICE_CONTROL , ele deve determinar se o IRP contém qualquer IOCTL privado definido pelo driver de miniclasse. Nesse caso, o driver de miniclasse deve atender à solicitação, concluir o IRP e retornar.

Se o IRP contiver um IOCTL público, o driver deverá passar o IRP para a rotina BatteryClassIoctl do driver de classe. Essa rotina examina o IRP, determina se ele se aplica ao dispositivo de bateria do chamador e, nesse caso, chama a rotina BatteryMiniXxx apropriada para executar a operação solicitada.

Se BatteryClassIoctl retornar STATUS_NOT_SUPPORTED para o IRP, o driver de miniclasse deverá concluir o IRP ou encaminhá-lo para o driver mais baixo.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho batclass.h (inclua Batclass.h)
Biblioteca Battc.lib

Confira também

BatteryMiniQueryInformation

BatteryMiniQueryStatus

BatteryMiniQueryTag

BatteryMiniSetInformation