À propos de l’API MMDevice

L’API d’appareil multimédia Windows (MMDevice) permet aux clients audio de découvrir les appareils de point de terminaison audio, de déterminer leurs fonctionnalités et de créer des instances de pilotes pour ces appareils.

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

L’API MMDevice se compose de plusieurs interfaces. La première d’entre elles est l’interface IMMDeviceEnumerator . Pour accéder aux interfaces dans l’API MMDevice, un client obtient une référence à l’interface IMMDeviceEnumerator d’un objet device-enumerator en appelant la fonction CoCreateInstance , comme indiqué dans le fragment de code suivant :

  const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
  const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
  hr = CoCreateInstance(
         CLSID_MMDeviceEnumerator, NULL,
         CLSCTX_ALL, IID_IMMDeviceEnumerator,
         (void**)&pEnumerator);

Dans le fragment de code précédent, CLSID_MMDeviceEnumerator et IID_IMMDeviceEnumerator sont les valeurs GUID attachées en tant qu’attributs à l’objet de classe MMDeviceEnumerator et à l’interface IMMDeviceEnumerator . L’appel CoCreateInstance passe ces valeurs par référence. La variable hr est de type HRESULT et la variable pEnumerator est un pointeur vers l’interface IMMDeviceEnumerator d’un objet device-énumérerator. IMMDeviceEnumerator fournit des méthodes pour l’énumération des périphériques de point de terminaison audio. Pour plus d’informations sur l’opérateur __uuidof , la fonction CoCreateInstance et les constantes CLSCTX_Xxx , consultez la documentation du Kit de développement logiciel (SDK) Windows.

Par le biais de l’interface IMMDeviceEnumerator , le client peut obtenir des références aux autres interfaces dans l’API MMDevice. L’API MMDevice implémente les interfaces suivantes.

Interface Description
IMMDevice Représente un périphérique audio.
IMMDeviceCollection Représente une collection de périphériques audio.
IMMDeviceEnumerator Fournit des méthodes pour l’énumération des périphériques audio.
IMMEndpoint Représente un appareil de point de terminaison audio.

 

En outre, les clients de l’API MMDevice qui nécessitent une notification de status modifications dans les appareils de point de terminaison audio doivent implémenter l’interface suivante.

Interface Description
IMMNotificationClient Fournit des notifications lorsqu’un appareil de point de terminaison audio est ajouté ou supprimé, lorsque l’état ou les propriétés d’un appareil changent, ou quand un changement est apporté au rôle par défaut attribué à un appareil.

 

Périphériques de point de terminaison audio

Guide de référence de programmation