Informazioni sull'API MMDevice

L'API Windows Multimedia Device (MMDevice) consente ai client audio di individuare i dispositivi endpoint audio, determinarne le funzionalità e creare istanze del driver per tali dispositivi.

Il file di intestazione Mmdeviceapi.h definisce le interfacce nell'API MMDevice.

L'API MMDevice è costituita da diverse interfacce. Il primo di questi è l'interfaccia IMMDeviceEnumerator . Per accedere alle interfacce nell'API MMDevice, un client ottiene un riferimento all'interfaccia IMMDeviceEnumerator di un oggetto enumeratore dispositivo chiamando la funzione CoCreateInstance, come illustrato nel frammento di codice seguente:

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

Nel frammento di codice precedente CLSID_MMDeviceEnumerator e IID_IMMDeviceEnumerator sono i valori GUID associati come attributi all'oggetto classe MMDeviceEnumerator e all'interfaccia IMMDeviceEnumerator. La chiamata CoCreateInstance passa questi valori per riferimento. La variabile hr è di tipo HRESULT e la variabile è un puntatore pEnumerator all'interfaccia IMMDeviceEnumerator di un oggetto enumeratore di dispositivo. IMMDeviceEnumerator fornisce metodi per enumerare i dispositivi endpoint audio. Per informazioni sull'operatore __uuidof , sulla funzione CoCreateInstance e sulle costanti CLSCTX_Xxx , vedere la documentazione di Windows SDK.

Tramite l'interfaccia IMMDeviceEnumerator , il client può ottenere riferimenti alle altre interfacce nell'API MMDevice. L'API MMDevice implementa le interfacce seguenti.

Interfaccia Descrizione
IMMDevice Rappresenta un dispositivo audio.
IMMDeviceCollection Rappresenta una raccolta di dispositivi audio.
IMMDeviceEnumerator Fornisce metodi per enumerare i dispositivi audio.
IMMEndpoint Rappresenta un dispositivo endpoint audio.

 

Inoltre, i client dell'API MMDevice che richiedono la notifica delle modifiche di stato nei dispositivi endpoint audio devono implementare l'interfaccia seguente.

Interfaccia Descrizione
IMMNotificationClient Fornisce notifiche quando un dispositivo endpoint audio viene aggiunto o rimosso, quando lo stato o le proprietà di un dispositivo cambiano o quando si verifica una modifica del ruolo predefinito assegnato a un dispositivo.

 

Dispositivi endpoint audio

Informazioni di riferimento sulla programmazione