Concluindo IRPs

"Concluir um IRP" é uma frase abreviada que significa "permitir que todos os membros da pilha de driver concluam uma operação de E/S". Depois que o IRP for concluído, o gerenciador de E/S notificará o aplicativo iniciador de que a operação de E/S solicitada foi concluída.

Quando um driver termina de processar um IRP, ele chama IoCompleteRequest (normalmente de dentro de uma rotina DpcForIsr ). Isso faz com que o gerente de E/S determine se algum driver de nível superior configurou rotinas 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 o IRP, o gerenciador 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.

Esta seção contém os seguintes tópicos:

Quando concluir um IRP

Concluindo IRPs em rotinas de expedição

Usando rotinas de IoCompletion