Informationen zur MMDevice-API

Mit der MMDevice-API (Windows Multimedia Device) können Audioclients Audioendpunktgeräteermitteln, ihre Funktionen bestimmen und Treiberinstanzen für diese Geräte erstellen.

Die Headerdatei Mmdeviceapi.h definiert die Schnittstellen in der MMDevice-API.

Die MMDevice-API besteht aus mehreren Schnittstellen. Die erste davon ist die IMMDeviceEnumerator-Schnittstelle. Um auf die Schnittstellen in der MMDevice-API zuzugreifen, ruft ein Client einen Verweis auf die IMMDeviceEnumerator-Schnittstelle eines Geräteenumeratorobjekts ab, indem er die CoCreateInstance-Funktion aufruft, wie im folgenden Codefragment gezeigt:

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

Im vorangehenden Codefragment sind CLSID _ MMDeviceEnumerator und IID _ IMMDeviceEnumerator die GUID-Werte, die als Attribute an das MMDeviceEnumerator-Klassenobjekt und an die IMMDeviceEnumerator-Schnittstelle angefügt werden. Der CoCreateInstance-Aufruf übergibt diese Werte als Verweis. Variable hr ist vom Typ HRESULT, und variable pEnumerator ist ein Zeiger auf die IMMDeviceEnumerator-Schnittstelle eines Geräteenumeratorobjekts. IMMDeviceEnumerator stellt Methoden zum Auflisten von Audioendpunktgeräten bereit. Informationen zum _ _ uuidof-Operator, zur CoCreateInstance-Funktion und zu den CLSCTX _ Xxx-Konstanten finden Sie in der Dokumentation zum Windows SDK.

Über die IMMDeviceEnumerator-Schnittstelle kann der Client Verweise auf die anderen Schnittstellen in der MMDevice-API abrufen. Die MMDevice-API implementiert die folgenden Schnittstellen.

Schnittstelle BESCHREIBUNG
IMMDevice Stellt ein Audiogerät dar.
IMMDeviceCollection Stellt eine Auflistung von Audiogeräten dar.
IMMDeviceEnumerator Stellt Methoden zum Aufzählen von Audiogeräten bereit.
IMMEndpoint Stellt ein Audioendpunktgerät dar.

Darüber hinaus sollten Clients der MMDevice-API, die eine Benachrichtigung über Statusänderungen auf Audioendpunktgeräten erfordern, die folgende Schnittstelle implementieren.

Schnittstelle BESCHREIBUNG
IMMNotificationClient Stellt Benachrichtigungen bereit, wenn ein Audioendpunktgerät hinzugefügt oder entfernt wird, wenn sich der Zustand oder die Eigenschaften eines Geräts ändern oder wenn sich die Standardrolle ändert, die einem Gerät zugewiesen ist.

Audioendpunktgeräte

Programmierverzeichnis