Compartilhar via


Função IofCompleteRequest (wdm.h)

A macro IoCompleteRequest indica que o chamador concluiu todo o processamento de uma determinada solicitação de E/S e está retornando o IRP especificado para o gerente de E/S.

IoCompleteRequest encapsula IofCompleteRequest .

Sintaxe

void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

Parâmetros

Irp

Ponteiro para o IRP a ser concluído.

PriorityBoost

Especifica uma constante CCHAR definida pelo sistema pela qual incrementar a prioridade de tempo de execução do thread original que solicitou a operação. Esse valor será IO_NO_INCREMENT se o thread original solicitou uma operação que o driver poderia concluir rapidamente (portanto, o thread de solicitação não será compensado pela espera presumida para que a E/S seja concluída) ou se o IRP for concluído com um erro. Caso contrário, o conjunto de constantes PriorityBoost são específicos do tipo de dispositivo. Consulte Ntddk.h ou Wdm.h para obter essas constantes.

Valor de retorno

Nenhum

Observações

Quando um driver concluir todo o processamento de um determinado IRP, ele chamará IoCompleteRequest. O gerente de E/S verifica o IRP para determinar se os drivers de nível superior configuraram uma rotina de IoCompletion para o IRP. Nesse caso, cada rotina de IoCompletion é chamada, por sua vez, até que cada driver em camadas na cadeia conclua o IRP.

Quando todos os drivers tiverem concluído um determinado IRP, o gerente de E/S retornará o status para o solicitante original da operação. Observe que um driver de nível superior que configura um IRP criado pelo driver deve fornecer uma rotina de IoCompletion para liberar o IRP que ele criou.

Nunca chame IoCompleteRequest enquanto mantém um bloqueio de rotação. A tentativa de concluir um IRP enquanto mantém um bloqueio de rotação pode causar deadlocks.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI CompleteRequest, CompleteRequestStatusCheck, DoubleCompletion(wdm), HwStorPortProhibitedDIs(storport), IoAllocateComplete, IoBuildFsdComplete, IoSetCompletionExCompleteIrp, IrpProcessingComplete(wdm), MarkIrpPending, PendedCompletedRequest(wdm), PendedCompletedRequest2, PendedCompletedRequest3, PendedComp, PnpIrpCompletion(wdm), SpinLockSafe(storport), SpinLockSafe(wdm), WmiComplete() wdm)

Consulte também

IoSetCompletionRoutine