IMMDeviceEnumerator::EnumAudioEndpoints-Methode (mmdeviceapi.h)
Die EnumAudioEndpoints-Methode generiert eine Sammlung von Audioendpunktgeräten, die die angegebenen Kriterien erfüllen.
Syntax
HRESULT EnumAudioEndpoints(
[in] EDataFlow dataFlow,
[in] DWORD dwStateMask,
[out] IMMDeviceCollection **ppDevices
);
Parameter
[in] dataFlow
Die Datenflussrichtung für die Endpunktgeräte in der Sammlung. Der Aufrufer sollte diesen Parameter auf einen der folgenden EDataFlow-Enumerationswerte festlegen:
eRender
eCapture
eAll
Wenn der Aufrufer eAll angibt, enthält die Methode sowohl Rendering- als auch Erfassungsendpunkte in der Auflistung.
[in] dwStateMask
Der Zustand oder die Zustände der Endpunkte, die in die Auflistung eingeschlossen werden sollen. Der Aufrufer sollte diesen Parameter auf den bitweisen OR einer oder mehrerer der folgenden DEVICE_STATE_XXX Konstanten festlegen:
DEVICE_STATE_ACTIVE
DEVICE_STATE_DISABLED
DEVICE_STATE_NOTPRESENT
DEVICE_STATE_UNPLUGGED
Wenn der Aufrufer beispielsweise den dwStateMask-Parameter auf DEVICE_STATE_ACTIVE | DEVICE_STATE_UNPLUGGED enthält die Methode Endpunkte, die entweder aktiv sind oder von ihren Buchsen getrennt sind, aber Endpunkte, die sich auf audioadaptern befinden, die deaktiviert wurden oder nicht vorhanden sind. Legen Sie dwStateMask = DEVICE_STATEMASK_ALL fest, um alle Endpunkte unabhängig vom Zustand einzubeziehen.
[out] ppDevices
Zeiger auf eine Zeigervariable, in die die -Methode die Adresse der IMMDeviceCollection-Schnittstelle des Gerätesammlungsobjekts schreibt. Mit dieser Methode erhält der Aufrufer einen gezählten Verweis auf die Schnittstelle. Der Aufrufer ist für das Freigeben der Schnittstelle verantwortlich, wenn sie nicht mehr benötigt wird, indem die Release-Methode der Schnittstelle aufgerufen wird. Wenn der EnumAudioEndpoints-Aufruf fehlschlägt , ist *ppDevicesNULL.
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, können mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte umfassen, sind jedoch nicht darauf beschränkt.
Rückgabecode | Beschreibung |
---|---|
|
Der Parameter ppDevices ist NULL. |
|
Parameter dataFlow oder dwStateMask liegen außerhalb des Bereichs. |
|
Nicht genügend Arbeitsspeicher. |
Hinweise
Der folgende Aufruf listet beispielsweise alle Audiorenderingendpunkte auf, die derzeit aktiv (vorhanden und nicht deaktiviert) sind:
hr = pDevEnum->EnumAudioEndpoints(
eRender, DEVICE_STATE_ACTIVE,
&pEndpoints);
Im vorherigen Codefragment ist die Variable hr vom Typ HRESULT, pDevEnum ist ein Zeiger auf eine IMMDeviceEnumerator-Schnittstelle , und pEndpoints ist ein Zeiger auf eine IMMDeviceCollection-Schnittstelle .
Beispiele
Ein Codebeispiel, das die EnumAudioEndpoints-Methode aufruft , finden Sie unter Geräteeigenschaften.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mmdeviceapi.h |