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 |