Partager via


DeviceTopology API

Consultez l’exemple DMO de capture vocale de haute qualité Microsoft.

L’API DeviceTopology permet aux applications clientes de parcourir les topologies matérielles fonctionnelles des appareils de rendu et de capture audio. Grâce aux interfaces et méthodes de l’API DeviceTopology, les clients peuvent découvrir les sous-unités fonctionnelles (par exemple, le contrôle de volume) qui se trouvent le long des chemins de données qui mènent vers et à partir d’appareils de point de terminaison audio. Les clients peuvent parcourir les topologies internes des périphériques d’adaptateur audio et des appareils de point de terminaison audio et parcourir les connexions qui relient un appareil à un autre. Pour plus d’informations, consultez Topologies d’appareil.

Le fichier d’en-tête Devicetopology.h définit les interfaces dans l’API DeviceTopology.

Pour accéder aux interfaces de l’API DeviceTopology, un client obtient d’abord une référence à l’interface IDeviceTopology pour un appareil de point de terminaison audio en procédant comme suit :

  1. En utilisant l’une des techniques décrites dans IMMDevice Interface, obtenez une référence à l’interface IMMDevice pour un appareil de point de terminaison audio.
  2. Appelez la méthode IMMDevice::Activate avec le paramètre iid défini sur REFIID IID_IDeviceTopology.

Le client peut obtenir des références aux autres interfaces de l’API DeviceTopology en appelant les méthodes de l’interface IDeviceTopology .

L’API DeviceTopology implémente les interfaces suivantes.

Interface Description
IAudioAutoGainControl Fournit l’accès à un contrôle de gain automatique (AGC) matériel.
IAudioBass Fournit l’accès à un contrôle de niveau de base matériel.
IAudioChannelConfig Fournit l’accès à un contrôle de configuration de canal matériel.
IAudioInputSelector Fournit l’accès à un contrôle de multiplexeur matériel (sélecteur d’entrée).
IAudioLoudness Fournit l’accès à un contrôle de compensation « loudness ».
IAudioMidrange Fournit l’accès à un contrôle matériel de niveau milieu de gamme.
IAudioMute Fournit l’accès à un contrôle de sourdine matériel.
IAudioOutputSelector Fournit l’accès à un contrôle de démultiplexeur matériel (sélecteur de sortie).
IAudioPeakMeter Fournit l’accès à un contrôle de compteur de pointe matériel.
IAudioTreble Fournit l’accès à un contrôle de niveau triple matériel.
IAudioVolumeLevel Fournit l’accès à un contrôle de volume matériel.
IConnector Représente un point de connexion entre les composants.
IControlInterface Représente une interface de contrôle sur une partie (sous-unité ou connecteur).
IDeviceSpecificProperty Représente une propriété spécifique à l’appareil d’un connecteur ou d’une sous-unité.
IDeviceTopology Fournit l’accès à la topologie d’un appareil audio.
IKsFormatSupport Fournit des informations sur les formats de données audio pris en charge par une connexion d’E/S configurée par logiciel (généralement un canal DMA) entre le périphérique audio et la mémoire système.
IKsJackDescription Fournit des informations sur les prises jack ou les connecteurs internes qui fournissent une connexion physique entre un appareil sur une carte audio et un périphérique de point de terminaison externe ou interne (par exemple, un microphone ou un lecteur CD).
IPart Représente une partie (connecteur ou sous-unité) d’une topologie d’appareil.
IPartsList Représente une liste de parties (connecteurs et sous-unités).
IPerChannelDbLevel Représente une interface de contrôle de sous-unité générique qui fournit un contrôle par canal sur le niveau de volume, en décibels, d’un flux audio ou d’une bande de fréquences dans un flux audio.
ISubunit Représente une sous-unité matérielle (par exemple, un contrôle au niveau du volume) qui se trouve dans le chemin des données entre un client et un périphérique de point de terminaison audio.

 

Les clients d’API DeviceTopology qui nécessitent une notification des événements de modification de contrôle dans les connecteurs et sous-unités doivent implémenter l’interface suivante.

Interface Description
IControlChangeNotify Fournit des notifications lorsque le status d’une partie (connecteur ou sous-unité) change.

 

Topologies d’appareil

Guide de référence de programmation