Configuration des IIP dans les pilotes intermédiaires
Tout pilote intermédiaire interposé entre un pilote de système de fichiers et un pilote de périphérique de média amovible doit configurer l’emplacement de la pile d’E/S du pilote de niveau inférieur suivant dans les IIP. À partir des demandes entrantes IRP_MJ_READ, IRP_MJ_WRITE et IRP_MJ_DEVICE_CONTROL , le pilote intermédiaire doit copier ses propres indicateurs d’emplacement de pile d’E/S dans l’emplacement de la pile d’E/S du pilote de niveau inférieur suivant lorsqu’il configure l’emplacement de la pile d’E/S pour le pilote inférieur.
Si le pilote intermédiaire alloue de nouveaux IRPs pour les pilotes de média amovible de niveau inférieur, il doit configurer ces irps comme suit :
Pour les demandes de transfert, il doit configurer le contexte de thread dans chaque IRP alloué au pilote à partir de la valeur tail.Overlay.Thread dans l’IRP d’origine.
Pour les demandes IRP_MJ_READ, IRP_MJ_WRITE et IRP_MJ_DEVICE_CONTROL , il doit copier les indicateurs d’emplacement de la pile d’E/S de l’IRP d’origine vers chaque IRP alloué au pilote.
Sinon, le système de fichiers ne peut ni maintenir l’intégrité des données de fichier mises en cache ni demander à l’utilisateur de remonter le média qui contient un fichier ouvert.