PKEY_AudioEndpoint_GUID
Свойство PKEY_AudioEndpoint_GUID предоставляет идентификатор устройства DirectSound, соответствующий устройству конечной точки аудио. Значение свойства — это GUID, который клиент может предоставить в качестве идентификатора устройства функции DirectSoundCreate или DirectSoundCaptureCreate в API DirectSound. Это значение однозначно идентифицирует устройство конечной точки звука на всех конечных устройствах аудио в системе. Дополнительные сведения о DirectSound см. в документации по пакету SDK для DirectX.
Элемент vt структуры PROPVARIANT имеет значение VT_LPWSTR.
Элемент pwszVal структуры PROPVARIANT указывает на строку расширенных символов, завершающуюся null, которая содержит GUID, идентифицирующий устройство конечной точки звука в DirectSound.
Как упоминалось ранее, API MMDevice поддерживает роли устройств. Хотя DirectSound не поддерживает роли устройств напрямую, клиент DirectSound может использовать свойство PKEY_AudioEndpoint_GUID для выбора устройства отрисовки или записи DirectSound в зависимости от его роли устройства.
Например, приложение DirectSound выполняет следующие действия для создания устройства DirectSound, соответствующего устройству конечной точки отрисовки, которому пользователь назначил роль eMultimedia:
- Вызовите метод IMMDeviceEnumerator::GetDefaultAudioEndpoint , чтобы получить интерфейс IMMDevice устройства конечной точки отрисовки с ролью eMultimedia.
- Вызовите метод IMMDevice::OpenPropertyStore , чтобы получить интерфейс IPropertyStore устройства eMultimedia. Дополнительные сведения об IPropertyStore см. в документации по windows SDK.
- Вызовите метод IPropertyStore::GetValue , чтобы получить значение свойства PKEY_AudioEndpoint_GUID.
- Преобразуйте значение свойства из GUID в строковом формате в 16-байтовую структуру GUID.
- Вызовите функцию DirectSoundCreate с идентификатором GUID, чтобы создать устройство с ролью eMultimedia.
Примечание
PKEY_AudioEndpoint_GUID является свойством только для чтения независимо от режима доступа к хранилищу, запрошенного приложением в IMMDevice::OpenPropertyStore. Если приложение пытается задать значение с помощью IPropertyStore::SetValue, этот вызов завершается ошибкой E_ACCESSDENIED.
Обратите внимание, что 16-байтовый GUID, созданный на шаге 4, соответствует GUID устройства, который идентифицирует устройство во время перечисления устройств DirectSound. Функция DirectSoundEnumerate перечисляет отрисовку конечных точек, а функция DirectSoundCaptureEnumerate перечисляет устройства конечных точек записи. В любом случае GUID устройства является первым параметром, передаваемым функции обратного вызова перечисления. Дополнительные сведения о перечислении DirectSound см. в документации по пакету SDK для DirectX.
Пример кода, в котором используется свойство PKEY_AudioEndpoint_GUID, см. в разделе Роли устройств для приложений DirectSound.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Заголовок |
|
См. также раздел