Endpunkt-ID-Zeichenfolgen

In Windows Vista generiert das System Endpunkt-ID-Zeichenfolgen, um die Audioendpunktgeräte im System zu identifizieren. Eine Endpunkt-ID-Zeichenfolge ist eine auf NULL endende Breitzeichenzeichenfolge. 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 Benutzerfreundlichen Namen, aber jedes Endpunktgerät verfügt über eine eindeutige Endpunkt-ID-Zeichenfolge. Weitere Informationen zum Abrufen des Benutzerfreundlichen Namens 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 zu erhalten. Ein Client kann die Endpunkt-ID-Zeichenfolge verwenden, um eine Instanz des Audioendpunktgeräts zu einem späteren Zeitpunkt oder in einem anderen Prozess durch Aufrufen der IMMDeviceEnumerator::GetDevice-Methode zu erstellen.

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 bei 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 sich geändert hat. Weitere Informationen zu EDataFlow finden Sie unter Geräteereignisse.

Legacy-Audio-APIs wie DirectSound und 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 zur Identifizierung der Endpunktgeräte zur Verfügung zu stellen, die den von den APIs dargestellten Geräteabstraktion zugrunde liegen.

Während der DirectSound-Geräteenumeration gibt DirectSound die Endpunkt-ID-Zeichenfolge für jedes Gerät an, das es aufzählt. Weitere Informationen finden Sie unter Audioereignisse für Ältere Audioanwendungen.

Um die Endpunkt-ID-Zeichenfolge für ein Älteres Waveform-Gerät zu erhalten, verwenden Sie die WaveOutMessage- oder waveInMessage-Funktion, um eine DRV _ QUERYFUNCTIONINSTANCEID-Nachricht an den Waveform-Gerätetreiber zu senden. Ein Codebeispiel, das die Verwendung dieser Meldung veranschaulicht, finden Sie unter Geräterollen für Legacy- Windows Multimediaanwendungen.

Weitere Informationen zur Verwendung der Funktionen der Kernaudio-APIs zum Verbessern von Anwendungen, die Legacy-Audio-APIs verwenden, finden Sie unter Interoperabilität mit Legacy-Audio-APIs.

Clients sollten den Inhalt der Endpunkt-ID-Zeichenfolge als nicht transparent behandeln. Das heißt, Clients sollten nicht versuchen, den Inhalt der Zeichenfolge zu analysieren, um Informationen zum Gerät zu erhalten. Der Grund dafür ist, dass das Zeichenfolgenformat nicht definiert ist und sich von einer Implementierung des MMDevice-API-Systemmoduls in die nächste ä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 entkabelt und wieder einsteckt.

Audioendpunktgeräte