Écriture d’une routine StartIo
Comme son nom l’indique, une routine StartIo est responsable du démarrage d’une opération d’E/S sur l’appareil physique.
La plupart des pilotes de niveau inférieur fournissent une routine StartIo et s’appuient sur le gestionnaire d’E/S pour mettre en file d’attente les IRP vers une file d’attente d’appareils fournie par le système. Certains pilotes de niveau inférieur sont conçus pour configurer et gérer leurs propres files d’attente IRP supplémentaires, mais même ceux-ci fournissent généralement également une routine StartIo . (Pour plus d’informations sur les files d’attente supplémentaires, consultez Configuration et utilisation des files d’attente d’appareils et Gestion des files d’attente d’appareils.)
Les pilotes de niveau supérieur, y compris les FSD et les pilotes de fonction pnP et de filtre, ont rarement une routine StartIo , car cela peut nuire aux performances. Au lieu de cela, la plupart des pilotes de système de fichiers configurent et gèrent des files d’attente internes de runtimes d’intégration. D’autres pilotes de niveau supérieur ont des files d’attente internes pour les IRP ou passent simplement des IRP à des pilotes inférieurs de leurs routines de répartition. Pour plus d’informations, consultez Files d’attente IRP gérées par le pilote .
Vous pouvez utiliser la routine IoSetStartIoAttributes pour définir des attributs qui modifient la gestion StartIo pour votre pilote.
Cette section contient les rubriques suivantes :
Routines StartIo dans les pilotes Lowest-Level