Share via


PKEY_AudioEndpoint_GUID

Die PKEY_AudioEndpoint_GUID-Eigenschaft stellt den DirectSound-Gerätebezeichner bereit, der dem Audioendpunktgerät entspricht. Der Eigenschaftswert ist eine GUID, die der Client als Gerätebezeichner für die Funktion DirectSoundCreate oder DirectSoundCaptureCreate in der DirectSound-API bereitstellen kann. Dieser Wert identifiziert das Audioendpunktgerät auf allen Audioendpunktgeräten im System eindeutig. Weitere Informationen zu DirectSound finden Sie in der Dokumentation zum DirectX SDK.

Der vt-Member der PROPVARIANT-Struktur ist auf VT_LPWSTR festgelegt.

Das pwszVal-Element der PROPVARIANT-Struktur zeigt auf eine null-endende Breitzeichenzeichenfolge, die eine GUID enthält, die das Audioendpunktgerät in DirectSound identifiziert.

Wie bereits erläutert, unterstützt die MMDevice-APIGeräterollen. Obwohl DirectSound Geräterollen nicht direkt unterstützt, kann ein DirectSound-Client die eigenschaft PKEY_AudioEndpoint_GUID verwenden, um ein DirectSound-Rendering- oder Erfassungsgerät basierend auf seiner Geräterolle auszuwählen.

Eine DirectSound-Anwendung führt beispielsweise die folgenden Schritte aus, um ein DirectSound-Gerät zu erstellen, das dem Renderingendpunktgerät entspricht, dem der Benutzer die Rolle eMultimedia zugewiesen hat:

  1. Rufen Sie die IMMDeviceEnumerator::GetDefaultAudioEndpoint-Methode auf, um die IMMDevice-Schnittstelle des Renderingendpunktgeräts mit der Rolle eMultimedia abzurufen.
  2. Rufen Sie die IMMDevice::OpenPropertyStore-Methode auf, um die IPropertyStore-Schnittstelle des eMultimedia-Geräts abzurufen. Weitere Informationen zu IPropertyStore finden Sie in der Windows SDK-Dokumentation.
  3. Rufen Sie die IPropertyStore::GetValue-Methode auf, um den Wert der PKEY_AudioEndpoint_GUID-Eigenschaft abzurufen.
  4. Konvertieren Sie den Eigenschaftswert aus einer GUID im Zeichenfolgenformat in eine GUID-Struktur mit 16 Byte.
  5. Rufen Sie die DirectSoundCreate-Funktion mit der GUID auf, um das Gerät mit der Rolle eMultimedia zu erstellen.

Hinweis

PKEY_AudioEndpoint_GUID ist eine schreibgeschützte Eigenschaft, unabhängig vom Speicherzugriffsmodus, der von der Anwendung in IMMDevice::OpenPropertyStore angefordert wird. Wenn eine Anwendung versucht, einen Wert mithilfe von IPropertyStore::SetValue festzulegen, schlägt dieser Aufruf mit dem fehlercode E_ACCESSDENIED fehl.

 

Beachten Sie, dass die in Schritt 4 generierte 16-Byte-GUID mit der Geräte-GUID übereinstimmt, die das Gerät während der DirectSound-Geräteenumeration identifiziert. Die DirectSoundEnumerate-Funktion listet Renderingendpunktgeräte auf, und die DirectSoundCaptureEnumerate-Funktion listet Erfassungsendpunkte auf. In beiden Fällen ist die Geräte-GUID der erste Parameter, der an die Enumerationsrückruffunktion übergeben wird. Weitere Informationen zur DirectSound-Enumeration finden Sie in der Dokumentation zum DirectX SDK.

Ein Codebeispiel, das die PKEY_AudioEndpoint_GUID-Eigenschaft verwendet, finden Sie unter Geräterollen für DirectSound-Anwendungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Mmdeviceapi.h

Siehe auch

Audioendpunkteigenschaften

Core-Audio-Eigenschaften