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. |
Argomenti correlati