Função WmiCompleteRequest (wmilib.h)

A rotina WmiCompleteRequest indica que um driver terminou de processar uma solicitação WMI em uma rotina DpWmiXxx .

Sintaxe

NTSTATUS WmiCompleteRequest(
  [in]      PDEVICE_OBJECT DeviceObject,
  [in, out] PIRP           Irp,
  [in]      NTSTATUS       Status,
  [in]      ULONG          BufferUsed,
  [in]      CCHAR          PriorityBoost
);

Parâmetros

[in] DeviceObject

Um ponteiro para o DEVICE_OBJECT do driver.

[in, out] Irp

Um ponteiro para o IRP.

[in] Status

Especifica o status a ser retornado para o IRP.

[in] BufferUsed

Especifica o número de bytes necessários no buffer passado para a rotina DpWmiXxxx do driver. Se o buffer for muito pequeno, o driver definirá Status como STATUS_BUFFER_TOO_SMALL e definirá BufferUsed como o número de bytes necessários para que os dados sejam retornados. Se o buffer passado for grande o suficiente, o driver definirá BufferUsed como o número de bytes realmente usados.

[in] PriorityBoost

Especifica uma constante definida pelo sistema pela qual incrementar a prioridade de tempo de execução do thread original que solicitou a operação. O WMI chama IoCompleteRequest com PriorityBoost quando ele conclui o IRP. Consulte IoCompleteRequest para obter mais informações sobre PriorityBoost.

Retornar valor

WmiCompleteRequest retorna o valor que foi passado para ele no parâmetro Status , a menos que Status tenha sido definido como STATUS_BUFFER_TOO_SMALL. Se o driver definir Status igual a STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest criará uma estrutura WNODE_TOO_SMALL e retornará STATUS_SUCCESS. O valor retornado de WmiCompleteRequest deve ser retornado pelo driver em sua rotina DpWmiXxx .

Comentários

Um driver chama WmiCompleteRequest de uma rotina DpWmiXxx depois de concluir todos os outros processamentos nessa rotina ou depois que o driver concluir todo o processamento de um IRP pendente. WmiCompleteRequest preenche um WNODE_XXX com todos os dados retornados pelo driver e chama IoCompleteRequest para concluir o IRP.

Um driver sempre deve retornar o valor retornado de WmiCompleteRequest em sua rotina DpWmiXxx .

Um driver não deve chamar WmiCompleteRequest de sua rotina DpWmiQueryRegInfo .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wmilib.h (inclua Wmilib.h)
Biblioteca Wmilib.lib
IRQL <= DISPATCH_LEVEL

Confira também

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl