PKEY_AudioEndpoint_GUID
PKEY_AudioEndpoint_GUID 属性提供与音频终结点设备对应的 DirectSound 设备标识符。 属性值是一个 GUID,客户端可以将其作为设备标识符提供给 DirectSound API 中的 DirectSoundCreate 或 DirectSoundCaptureCreate 函数。 此值唯一标识系统中所有音频终结点设备的音频终结点设备。 有关 DirectSound 的详细信息,请参阅 DirectX SDK 文档。
PROPVARIANT 结构的 vt 成员设置为 VT_LPWSTR。
PROPVARIANT 结构的 pwszVal 成员指向一个以 null 结尾的宽字符字符串,该字符串包含标识 DirectSound 中音频终结点设备的 GUID。
如前所述, MMDevice API 支持 设备角色。 尽管 DirectSound 不直接支持设备角色,但 DirectSound 客户端可以使用 PKEY_AudioEndpoint_GUID 属性根据其设备角色选择 DirectSound 呈现或捕获设备。
例如,DirectSound 应用程序执行以下步骤来创建一个 DirectSound 设备,该设备对应于用户已向其分配 eMultimedia 角色的呈现终结点设备:
- 调用 IMMDeviceEnumerator::GetDefaultAudioEndpoint 方法以获取具有 eMultimedia 角色的呈现终结点设备的 IMMDevice 接口。
- 调用 IMMDevice::OpenPropertyStore 方法以获取 eMultimedia 设备的 IPropertyStore 接口。 有关 IPropertyStore 的详细信息,请参阅 Windows SDK 文档。
- 调用 IPropertyStore::GetValue 方法以获取PKEY_AudioEndpoint_GUID属性值。
- 将字符串格式的 GUID 中的属性值转换为 16 字节 GUID 结构。
- 使用 GUID 调用 DirectSoundCreate 函数,以创建具有 eMultimedia 角色的设备。
注意
PKEY_AudioEndpoint_GUID 是一个只读属性,而不考虑 IMMDevice::OpenPropertyStore 中应用程序请求的存储访问模式。 如果应用程序尝试使用 IPropertyStore::SetValue 设置值,则此调用将失败并显示E_ACCESSDENIED错误代码。
请注意,步骤 4 中生成的 16 字节 GUID 与在 DirectSound 设备枚举期间标识设备的设备 GUID 匹配。 DirectSoundEnumerate 函数枚举呈现终结点设备,DirectSoundCaptureEnumerate 函数枚举捕获终结点设备。 在任一情况下,设备 GUID 都是传递给枚举回调函数的第一个参数。 有关 DirectSound 枚举的详细信息,请参阅 DirectX SDK 文档。
有关使用 PKEY_AudioEndpoint_GUID 属性的代码示例,请参阅 DirectSound 应用程序的设备角色。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
标头 |
|
请参阅