Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der MMDevice-API (Windows Multimedia Device) können Audioclients Audioendpunkte ermitteln, deren 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 device-enumerator-Objekts ab, indem die CoCreateInstance-Funktion aufgerufen wird, 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 vorherigen 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 nach Verweis. Die Variable hr
hat den Typ HRESULT, und die Variable pEnumerator
ist ein Zeiger auf die IMMDeviceEnumerator-Schnittstelle eines Device-Enumerator-Objekts.
IMMDeviceEnumerator stellt Methoden zum Aufzählen von Audioendpunktgeräten bereit. Informationen zum __uuidof-Operator , zur CoCreateInstance-Funktion und zu den CLSCTX_Xxx-Konstanten finden Sie in der Windows SDK-Dokumentation.
Ü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 Sammlung 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 eine Änderung der einem Gerät zugewiesenen Standardrolle vorliegt. |
Zugehörige Themen