Informationen zur MMDevice-API
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