Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La figure suivante montre les objets d’appareil créés pour le système avec un contrôleur PCI IEEE 1394 et un adaptateur PCI SCSI avec un périphérique de disque CD-ROM et partitionnable attaché. Les objets des appareils attachés au contrôleur IEEE 1394 sont affichés et décrits dans Device Object Example pour un contrôleur IEEE 1394.
Arborescence des objets de périphérique pour CD-ROM et les périphériques disque sur un HBA SCSI
À partir du bas de la figure, les éléments suivants décrivent chaque objet de périphérique et son pilote associé :
Le pilote de bus de stockage crée l’objet FDO pour le bus de stockage et l’attache au PDO de bus de stockage créé par le gestionnaire PnP (non illustré dans cette figure). La structure de l’arborescence d’objets de l’appareil située sous le FDO du bus de stockage dépend du bus de stockage et de la façon dont il est intégré au système. Les pilotes de stockage au-dessus du niveau du pilote de port n’interagissent pas avec ces objets inférieurs.
Cette figure montre le FDO de bus de stockage créé par le pilote de bus PCI pour un système avec un bus PCI.
Le pilote de bus PCI énumère et crée une PDO pour chaque adaptateur de stockage sur son bus. Le pilote de port de stockage correspondant crée une FDO et l'attache au PDO de son adaptateur.
Cette figure montre deux PDA d’adaptateur : un pour un contrôleur IEEE 1394 (décrit dans Device Object Example pour un contrôleur IEEE 1394) et un autre pour un HBA SCSI. Le pilote de port SCSI et un pilote miniport associé créent un FDO et l’attachent à l’adaptateur SCSI PDO.
Le pilote de port de stockage virtualise les appareils cibles en créant une PDO pour chaque appareil cible attaché à son adaptateur. Cette figure montre deux PDA de ce type créées par les pilotes de port/miniport SCSI : un pour un disque dur et un pour un CD-ROM.
Un ou plusieurs pilotes de filtre peuvent attacher un objet de périphérique de filtre (filtre DO) à un PDO d’appareil cible exporté par un pilote de port de stockage. Un tel pilote de filtre peut intercepter et modifier les demandes envoyées par le pilote de classe à l’appareil cible, par exemple, pour contourner les problèmes spécifiques à l’appareil sans nécessiter de modifications spécifiques au matériel apportées à la classe générique ou aux pilotes de port.
Cette figure montre un filtre DO attaché par un pilote de filtre audio CD-ROM à l’objet PDO du CD-ROM.
Un pilote de classe de stockage crée un FDO et l’attache à un objet d’appareil inférieur suivant, qui est soit un PDO d’appareil cible exporté par un pilote de port de stockage, soit un filtre DO attaché à la pile par un pilote de filtre intermédiaire. Le pilote de classe émet toutes les demandes suivantes adressées au périphérique de stockage via l’objet de périphérique du pilote inférieur.
Cette figure montre deux FDO : un qui représente un appareil CD-ROM et un qui représente la partition 0 d'un disque dur. La partition 0 représente l’intégralité du disque brut et existe toujours si le lecteur est partitionné ou non.
Un pilote de classe peut également agir en tant que pilote de bus, en retournant une liste de PDO lorsque le gestionnaire PnP interroge ses appareils enfants (IRP_MN_QUERY_DEVICE_RELATIONS avec BusRelations). Par exemple, un pilote d’un périphérique multimédia partitionné tel qu’un disque amovible peut renvoyer une liste de pdos représentant ses partitions. Les pilotes de niveau supérieur attachent les FDO aux PDO.
Cette figure montre trois de ces PDA, chacune représentant une partition de disque qui peut être traitée en tant qu’appareil cible.
Dans le cas d’un disque fixe, le gestionnaire de partitions s’attache au FDO qui représente partition 0 et gère les opérations PnP pour le compte de toutes les partitions. Les activités du gestionnaire de partitions sont transparentes pour le pilote de classe de disque et tous les pilotes de filtre de niveau supérieur.
Un ou plusieurs pilotes de filtre peuvent être attachés au-dessus d’un pilote de classe. Contrairement à un pilote de filtre de niveau inférieur, un pilote de filtre de niveau supérieur intercepte les irPs envoyés au pilote de classe et peut les modifier avant de les transférer vers l’objet périphérique suivant. Le pilote de filtre peut intercepter toutes les demandes de lecture/écriture et transformer les données si nécessaire, ainsi que définir des codes de contrôle d’E/S supplémentaires (IOCTL), par exemple pour permettre à une application utilisateur de fournir des mots de passe ou d’autres informations connexes.
Cette figure montre un filtre DO créé par un pilote de filtre de chiffrement de disque et attaché au PDO de disque pour la partition 1.