Gestion des topologies dynamiques
Une carte audio contient un certain nombre de sous-appareils pour la maintenance de périphériques audio externes, tels que des haut-parleurs et des microphones, que l’utilisateur connecte aux prises audio avant ou arrière de l’adaptateur. Chaque sous-appareil dessert une prise audio ou un groupe de jacks particulier.
Le pilote audio décrit chaque sous-appareil en présentant une topologie qui est essentiellement une carte des connexions internes et des éléments de traitement au sein du sous-appareil. Les modules d’API Windows fournis par le système et les applications de panneau de contrôle fournies par le fournisseur utilisent les informations de topologie pour déterminer les fonctionnalités du sous-appareil et pour identifier ses points de contrôle internes. Pour plus d’informations, consultez Exposition de la topologie de filtre.
Les pilotes audio WDM qui ont été développés avant que les interfaces IUnregisterSubdevice et IUnregisterPhysicalConnection soient disponibles ont principalement des topologies statiques. Pour ces pilotes, une fois que le pilote d’adaptateur a créé un objet de pilote miniport pour gérer un sous-appareil, cet objet et son sous-appareil associé persistent pendant la durée de vie de l’objet pilote de l’adaptateur.
Toutefois, dans une carte audio configurable dynamiquement, le pilote d’adaptateur peut créer et supprimer des sous-appareils au moment de l’exécution pour refléter les modifications apportées à la configuration matérielle, car l’utilisateur branche des périphériques externes dans des prises audio et les supprime. Ce comportement permet aux sous-appareils de fonctionner comme des fonctions matérielles logiquement indépendantes. En d’autres termes, chaque sous-appareil peut être mis sous tension, configuré et arrêté indépendamment des autres sous-appareils.
Chaque sous-appareil a une topologie interne qui se compose des éléments suivants :
Chemins de données via le sous-appareil.
Les nœuds de topologie (par exemple, le contrôle de volume) qui traitent les flux de données qui circulent le long des chemins de données.
Les connexions physiques du sous-appareil à d’autres sous-appareils dans la même carte.
Lorsqu’un pilote d’adaptateur supprime dynamiquement un sous-appareil, il libère les ressources matérielles liées à la topologie interne du sous-appareil. Le pilote d’adaptateur peut ensuite utiliser ces ressources pour créer un sous-appareil avec une topologie éventuellement différente.
Lors de la configuration d’un nouveau sous-appareil audio, le pilote d’adaptateur inscrit l’interface du pilote du sous-appareil en tant que instance d’une ou plusieurs classes d’interface de périphérique, et le gestionnaire d’E/S ajoute une ou plusieurs entrées de Registre qui contiennent des liens symboliques associant les classes d’interface et les instances d’interface. Pour accéder au sous-appareil, un client en mode utilisateur récupère le lien symbolique à partir du Registre et le transmet en tant que paramètre d’appel à la fonction CreateFile . En règle générale, le client est un module d’API Windows, tel que Dsound.dll ou Wdmaud.drv, ou un panneau de configuration fourni par le fournisseur ou un programme d’utilitaire audio. Pour plus d’informations sur CreateFile, consultez la documentation Microsoft Windows SDK.
Lorsque le pilote miniport appelle la méthode IUnregisterSubdevice::UnregisterSubdevice pour supprimer un sous-appareil, le pilote système PortCls (Portcls.sys) indique au gestionnaire d’E/S de supprimer le lien symbolique de l’interface de périphérique associée du registre. Les composants inscrits pour les événements de suppression d’interface d’appareil reçoivent une notification lorsque l’interface est supprimée.
L’adaptateur audio peut contenir des circuits de présence jack pour notifier le pilote miniport lorsqu’une prise est insérée ou retirée d’une prise audio. Lorsque l’utilisateur insère une connexion dans une prise audio, le pilote de l’adaptateur ajoute l’interface de périphérique du sous-appareil associé au Registre. Lorsque l’utilisateur supprime une prise d’une prise audio, le pilote de l’adaptateur supprime l’interface de périphérique correspondante du Registre.
Les cartes audio qui prennent en charge les topologies dynamiques présentent les avantages suivants :
Convivial
À moins que les haut-parleurs de bureau, les écouteurs et d’autres périphériques audio externes ne soient réellement branchés sur des prises audio sur les panneaux avant ou arrière de l’adaptateur audio, le système ne présente pas ces appareils aux applications audio comme disponibles pour l’utilisation.
Efficacité énergétique
Lorsque l’utilisateur supprime une prise d’une prise audio, le pilote peut mettre hors tension la partie du circuit de l’adaptateur qui dessert cette prise.
Configurable
Après avoir supprimé un sous-appareil, le pilote peut utiliser les ressources matérielles liées à la topologie interne du sous-appareil pour créer un sous-appareil avec une topologie éventuellement différente.