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 gerenciador 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 solicitante não será compensado por sua 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 é específico do tipo de dispositivo. Consulte Ntddk.h ou Wdm.h para obter essas constantes.
Retornar valor
Nenhum
Comentários
Quando um driver terminar todo o processamento de um determinado IRP, ele chamará IoCompleteRequest. O gerente de E/S verifica o IRP para determinar se algum driver de nível mais alto configurou uma rotina de IoCompletion para o IRP. Nesse caso, cada rotina 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á status ao solicitante original da operação. Observe que um driver de nível superior que configura um IRP criado pelo driver deve fornecer uma rotina IoCompletion para liberar o IRP que ele criou.
Nunca chame IoCompleteRequest enquanto mantém um bloqueio de rotação. Tentar concluir um IRP enquanto mantém um bloqueio de rotação pode causar deadlocks.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
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, PendedCompletedRequestEx(wdm), PnpIrpCompletion(wdm), SpinLockSafe(storport), SpinLockSafe(wdm), WmiComplete(wdm) |