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.
In Windows Vista generiert das System Endpunkt-ID-Zeichenfolgen, um die Audioendpunktgeräte im System zu identifizieren. Eine Endpunkt-ID-Zeichenfolge ist eine nullterminierte Breitzeichenfolge. Die Endpunkt-ID-Zeichenfolge für ein bestimmtes Audioendpunktgerät identifiziert das Gerät eindeutig unter allen Audioendpunktgeräten im System.
Wenn ein System zwei oder mehr identische Audioadaptergeräte enthält, verfügen die entsprechenden Audioendpunktgeräte über identische Anzeigenamen, aber jedes Endpunktgerät verfügt über eine eindeutige Endpunkt-ID-Zeichenfolge. Weitere Informationen zum Abrufen des Anzeigenamens eines Endpunktgeräts finden Sie unter "Geräteeigenschaften".
Nach dem Abrufen einer IMMDevice-Schnittstelleninstanz für ein Audioendpunktgerät kann ein Client die IMMDevice::GetId-Methode aufrufen, um die Endpunkt-ID-Zeichenfolge für das Gerät abzurufen. Ein Client kann die Endpunkt-ID-Zeichenfolge verwenden, um eine Instanz des Audioendpunktgeräts zu einem späteren Zeitpunkt oder in einem anderen Prozess zu erstellen, indem die IMMDeviceEnumerator::GetDevice-Methode aufgerufen wird.
Ein Client kann den Empfang einer Benachrichtigung anordnen, wenn sich der Status eines Audioendpunktgeräts ändert. Zum Empfangen von Benachrichtigungen implementiert der Client eine IMMNotificationClient-Schnittstelle und registriert diese Schnittstelle mit der MMDevice-API. Wenn sich der Status eines Endpunktgeräts ändert, ruft die MMDevice-API die entsprechende Methode in der EDataFlow-Schnittstelle des Clients auf. Einer der Eingabeparameter für die Methode ist die Endpunkt-ID-Zeichenfolge, die das Endpunktgerät identifiziert, dessen Status geändert wurde. Weitere Informationen zu EDataFlow finden Sie unter "Device Events".
Ältere Audio-APIs wie DirectSound und die Windows Multimediafunktionen verfügen über eigene Schnittstellen zum Aufzählen und Identifizieren von Audiogeräten. In Windows Vista wurden diese Schnittstellen erweitert, um die Endpunkt-ID-Zeichenfolgen anzugeben, die die Endpunktgeräte identifizieren, die den von den APIs präsentierten Geräteabstraktionen zugrunde stehen.
Während der DirectSound-Geräteaufzählung stellt DirectSound die Endpunkt-ID-Zeichenfolge für jedes Gerät bereit, das aufgezählt wird. Weitere Informationen finden Sie unter Audioereignisse für Legacy-Audioanwendungen.
Verwenden Sie die WaveOutMessage - oder waveInMessage-Funktion , um die Endpunkt-ID-Zeichenfolge für ein älteres Waveform-Gerät abzurufen, um eine DRV_QUERYFUNCTIONINSTANCEID Nachricht an den Waveform-Gerätetreiber zu senden. Ein Codebeispiel, das die Verwendung dieser Meldung zeigt, finden Sie unter "Geräterollen für Legacy-Windows Multimediaanwendungen".
Weitere Informationen zur Verwendung der Funktionen der kernigen Audio-APIs zur Verbesserung von Anwendungen, die ältere Audio-APIs verwenden, finden Sie unter "Interoperabilität mit Legacy-Audio-APIs".
Clients sollten den Inhalt der Endpunkt-ID-Zeichenfolge als undurchsichtig behandeln. Das heißt, Clients sollten nicht versuchen, den Inhalt der Zeichenfolge zu analysieren, um Informationen über das Gerät abzurufen. Der Grund dafür ist, dass das Zeichenfolgenformat nicht definiert ist und sich von einer Implementierung des MMDevice-API-Systemmoduls zum nächsten ändern kann.
Die Lebensdauer einer Endpunkt-ID-Zeichenfolge ist an die Geräteinstallation gebunden. Die Endpunkt-ID-Zeichenfolge eines Geräts ändert sich, wenn der Benutzer den Gerätetreiber aktualisiert oder wenn der Benutzer das Gerät deinstalliert und erneut installiert. Die Endpunkt-ID-Zeichenfolge bleibt jedoch bei Systemneustarts unverändert, und die Endpunkt-ID-Zeichenfolge eines USB-Audiogeräts bleibt unverändert, wenn der Benutzer das Gerät entbindet und wieder einsteckt.
Da Betriebssystem- und Audiotreiberupdates die Endpunkt-ID-Zeichenfolge für einen physischen Audioendpunkt ändern können, stellt die Endpunkt-ID keinen zuverlässigen Mechanismus für eine Anwendung bereit, um einen Audioendpunkt über Benutzersitzungen hinweg zu speichern und nachzuverfolgen. Eine Kommunikations-App kann sich beispielsweise an die Wahl eines Mikrofons und lautsprechers eines Benutzers erinnern, der für einen Anruf verwendet werden soll. Wenn die Anwendung die Endpunkt-ID verwendet, um die Benutzereinstellung nachzuverfolgen, kann eine Aktualisierung des Audiotreibers, die die Endpunkt-ID des Mikrofons/Lautsprechers ändert, dazu führen, dass die Anwendung die Benutzereinstellung verliert.
Ab Windows 11, Version 24H2 (Build 26100), stellt Windows eine PKEY_AudioEndpoint_StableId Eigenschaft für einen Audioendpunkt bereit, die, wenn verfügbar, von einer Anwendung verwendet werden kann, um Audioendpunkte zuverlässig über Betriebssystem- und Audiotreiberupdates hinweg nachzuverfolgen. PKEY_AudioEndpoint_StableId ist eine opake, zwischen Groß- und Kleinschreibung unterscheidende Zeichenfolge, die eine App speichern und später in einem Aufruf von IMMDeviceEnumerator::GetDevice verwenden kann, um denselben Audioendpunkt abzurufen. Weitere Informationen finden Sie unter PKEY_AudioEndpoint_StableId.
Zugehörige Themen