Share via


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 mit NULL endende Breitzeichenzeichenfolge. Die Endpunkt-ID-Zeichenfolge für ein bestimmtes Audioendpunktgerät identifiziert das Gerät unter allen Audioendpunktgeräten im System eindeutig.

Wenn ein System zwei oder mehr identische Audioadaptergeräte enthält, weisen die entsprechenden Audioendpunktgeräte identische Anzeigenamen auf, 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-Schnittstelle instance 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 instance 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 veranlassen, wenn sich die 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 die 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 Geräteereignisse.

Legacy-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 bereitgestellten Geräteabstraktionen zugrunde stehen.

Während der DirectSound-Geräteenumeration stellt DirectSound die Endpunkt-ID-Zeichenfolge für jedes Gerät bereit, das es aufzählt. Weitere Informationen finden Sie unter Audioereignisse für Legacyaudioanwendungen.

Um die Endpunkt-ID-Zeichenfolge für ein Älteres Waveform-Gerät abzurufen, 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 zeigt, finden Sie unter Geräterollen für Legacy-Windows-Multimediaanwendungen.

Weitere Informationen zur Verwendung der Funktionen der Kernaudio-APIs zum Verbessern von Anwendungen, die Legacyaudio-APIs verwenden, finden Sie unter Interoperabilität mit Legacyaudio-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 zu erhalten. Der Grund dafür ist, dass das Zeichenfolgenformat nicht definiert ist und sich möglicherweise von einer Implementierung des MMDevice-API-Systemmoduls zur nächsten ändert.

Die Lebensdauer einer Endpunkt-ID-Zeichenfolge ist an die Geräteinstallation gebunden. Die Endpunkt-ID-Zeichenfolge eines Geräts ändert sich, wenn der Benutzer ein Upgrade des Gerätetreibers führt oder wenn der Benutzer das Gerät deinstalliert und erneut installiert. Die Zeichenfolge der Endpunkt-ID bleibt jedoch bei Systemneustarts unverändert, und die Endpunkt-ID-Zeichenfolge eines USB-Audiogeräts bleibt unverändert, wenn der Benutzer das Gerät absteckt und wieder einsteckt.

Audioendpunktgeräte