Exécution des IIP

« Achèvement d’une IRP » est une expression abrégée qui signifie « autoriser tous les membres de la pile de pilotes à effectuer une opération d’E/S ». Une fois l’IRP terminé, le gestionnaire d’E/S informe l’application de lancement que l’opération d’E/S demandée est terminée.

Lorsqu’un pilote a terminé le traitement d’une IRP, il appelle IoCompleteRequest (généralement à partir d’une routine DpcForIsr ). Cela amène le gestionnaire d’E/S à déterminer si des pilotes de niveau supérieur ont configuré des routines IoCompletion pour l’IRP. Si c’est le cas, chaque routine IoCompletion est appelée, à son tour, jusqu’à ce que chaque pilote en couches de la chaîne ait terminé l’IRP.

Lorsque tous les pilotes ont terminé l’IRP, le gestionnaire d’E/S retourne status au demandeur d’origine de l’opération. Notez qu’un pilote de niveau supérieur qui configure un IRP créé par un pilote doit fournir une routine IoCompletion pour libérer l’IRP qu’il a créé.

Cette section contient les rubriques suivantes :

Quand effectuer une IRP

Exécution des IIP dans les routines de répartition

Utilisation de routines IoCompletion