Obtention d’informations de configuration à partir d’autres piles de pilotes
Parfois, vous devez obtenir des informations à partir de l’espace de configuration d’un périphérique dont le pilote se trouve sur une pile autre que celle sur laquelle se trouve votre pilote. Par instance, supposons que vous souhaitiez définir un peu dans l’espace de configuration d’un pont PCI-à-PCI et que vous n’avez pas de pointeur vers l’AOP du pont. Bien que le système d’exploitation énumère les ponts PCI à PCI et crée un PDO pour chaque pont sur le système, il n’enregistre pas les interfaces d’appareil pour ces appareils. Par conséquent, vous ne pouvez pas utiliser le mécanisme d’interface d’appareil pour accéder à l’espace de configuration de ces ponts. Pour plus d’informations sur les interfaces d’appareil, consultez Présentation des interfaces d’appareil.
Une façon pour un pilote d’accéder au matériel appartenant à d’autres piles de pilotes consiste à écrire un pilote de filtre. Pour accéder au matériel de pont, pour instance, vous pouvez concevoir un pilote de filtre qui implémente les opérations requises sur l’espace de configuration du pont. Vous devez également fournir un fichier INF qui spécifie les ID matériels possibles du matériel de pont, afin que le gestionnaire PnP puisse charger le pilote de filtre sur la pile de pilotes du pont lorsqu’il détecte l’ID de périphérique du pont.
Vous pouvez également installer un filtre par programmation à l’aide des fonctions SetupDiXxx dans le co-programme d’installation de votre appareil.
Le pilote de filtre peut ensuite accéder au pont à l’aide de l’interface BUS_INTERFACE_STANDARD .