Finalización de IRP

"Completar un IRP" es una frase abreviada que significa "permitir que todos los miembros de la pila de controladores completen una operación de E/S". Una vez completado el IRP, el administrador de E/S notifica a la aplicación de inicio que ha finalizado la operación de E/S solicitada.

Cuando un controlador ha terminado de procesar un IRP, llama a IoCompleteRequest (normalmente desde una rutina DpcForIsr ). Esto hace que el administrador de E/S determine si algún controlador de nivel superior ha configurado rutinas de IoCompletion para irP. Si es así, se llama a cada rutina de IoCompletion , a su vez, hasta que cada controlador en capas de la cadena haya completado el IRP.

Cuando todos los controladores han completado el IRP, el administrador de E/S devuelve el estado al solicitante original de la operación. Tenga en cuenta que un controlador de nivel superior que configura un IRP creado por el controlador debe proporcionar una rutina de IoCompletion para liberar el IRP que creó.

Esta sección contiene los siguientes temas:

Cuándo completar un IRP

Finalización de IRP en rutinas de distribución

Uso de rutinas de IoCompletion