Função BatteryClassQueryWmiDataBlock (batclass.h)
A rotina BatteryClassQueryWmiDataBlock é usada por drivers de miniclasse de bateria dentro de suas rotinas DpWmiQueryDataBlock para permitir que o driver da classe de bateria processe as solicitações de consulta de bloco de dados WMI que ele manipula em nome do driver.
Sintaxe
NTSTATUS BATTERYCLASSAPI BatteryClassQueryWmiDataBlock(
[in] PVOID ClassData,
[in, out] PDEVICE_OBJECT DeviceObject,
[in, out] PIRP Irp,
[in] ULONG GuidIndex,
[out] PULONG InstanceLengthArray,
[in] ULONG OutBufferSize,
[out, optional] PUCHAR Buffer
);
Parâmetros
[in] ClassData
Ponteiro para um identificador de classe de bateria que foi recebido anteriormente de BatteryClassInitializeDevice.
[in, out] DeviceObject
Ponteiro para o objeto de dispositivo do driver. O driver de miniclasse de bateria deve passar o parâmetro correspondente que recebe como entrada para sua rotina DpWmiQueryDataBlock .
[in, out] Irp
Ponteiro para a solicitação de bloco de dados de consulta WMI. O driver de miniclasse de bateria deve passar o parâmetro correspondente que recebe como entrada para sua rotina DpWmiQueryDataBlock .
[in] GuidIndex
Especifica a classe WMI por seu índice. O driver de miniclasse de bateria deve passar o parâmetro correspondente que recebe como entrada para sua rotina DpWmiQueryDataBlock .
[out] InstanceLengthArray
Ponteiro para uma matriz de valores ULONG que indicam o comprimento de cada instância a ser retornada. O driver de miniclasse de bateria deve passar o parâmetro correspondente que recebe como entrada para sua rotina DpWmiQueryDataBlock .
[in] OutBufferSize
Especifica o número máximo de bytes disponíveis para receber dados no buffer especificado pelo parâmetro Buffer . O driver de miniclasse de bateria deve passar o valor do parâmetro BufferAvail que recebe como entrada para sua rotina DpWmiQueryDataBlock .
[out, optional] Buffer
Ponteiro para o buffer para receber os dados da instância. Se o buffer for muito pequeno para conter os dados, BatteryClassQueryWmiDataBlock retornará um valor status de STATUS_BUFFER_TOO_SMALL. O driver de miniclasse de bateria deve passar o parâmetro correspondente que recebe como entrada para sua rotina DpWmiQueryDataBlock .
Retornar valor
BatteryClassQueryWmiDataBlock retorna um código status NT. Os possíveis valores retornados incluem:
Código de retorno | Descrição |
---|---|
|
O driver da classe de bateria lidou com êxito com a solicitação. |
|
O driver da classe de bateria não pode manipular a solicitação porque o buffer especificado pelo parâmetro Buffer é muito pequeno. |
|
O driver da classe de bateria não lida com essa classe WMI. |
Comentários
Por design, um driver de miniclasse de bateria deve chamar BatteryClassQueryWmiDataBlock dentro de sua rotina DpWmiQueryDataBlock antes de processar a solicitação. O driver de miniclasse deve passar os parâmetros que recebe como entrada para sua rotina DpWmiQueryDataBlock . Se o driver da classe de bateria retornar qualquer status diferente de STATUS_WMI_GUID_NOT_FOUND, a rotina manipulará a solicitação em nome do driver de miniclasse. Nesse caso, o driver de classe já chamou WmiCompleteRequest e o driver de miniclasse não deve chamá-lo novamente.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | batclass.h (inclua Batclass.h) |
Biblioteca | Battc.lib |