Modification d’une liste des ressources requises

Une fois que le gestionnaire PnP s’est assuré que tous les pilotes d’un appareil nouvellement connecté ont été chargés, il envoie la liste de la configuration matérielle requise de l’appareil à la pile de pilotes de l’appareil.

À mesure que la liste descend de la pile, l’infrastructure appelle la fonction de rappel EvtDeviceFilterRemoveResourceRequirements de chaque fonction et du pilote de filtre, en passant la liste de la configuration matérielle requise en tant qu’argument d’entrée. Cette fonction de rappel peut supprimer des ressources matérielles de la liste matérielle requise que le pilote de bus a spécifiée, mais que le pilote de fonction détermine que ne sont pas nécessaires pour le fonctionnement de l’appareil.

Par exemple, un pilote de bus PCI peut, conformément à la spécification PCI, répliquer une ressource d’espace d’E/S dans l’espace mémoire. Si votre appareil peut fonctionner sans utiliser la ressource d’espace d’E/S, le pilote de fonction de l’appareil peut supprimer la ressource d’espace d’E/S de la liste des configurations matérielles requises.

Pour supprimer des éléments de la liste des exigences, un pilote peut effectuer les opérations suivantes :

À mesure que la liste remonte la pile des pilotes, l’infrastructure appelle chaque fonction et la fonction de rappel EvtDeviceFilterAddResourceRequirements du pilote de filtre, en passant la liste de la configuration matérielle requise en tant qu’argument d’entrée. Cette fonction de rappel peut ajouter des ressources matérielles supplémentaires dont le pilote de fonction a besoin pour rendre l’appareil opérationnel.

Pour ajouter des éléments à la liste matérielle requise, un pilote peut effectuer les opérations suivantes :