我正在尝试使用 Windows 音频会话 API 在当前音频会话的枚举中定位默认音频会话。目前,我IAudioSessionControl
在角色中引用了音频渲染端点的默认会话eConsole
以及IAudioSessionEnumerator
枚举此默认端点的音频会话的对象,但我需要能够比较IAudioSessionControl
我拥有的对象是否相等返回的IAudioSessionControl
对象IAudioSessionEnumerator::GetSession
。
我希望我可以通过比较IAudioSessionControl
指针是否相等来测试是否相等。当我IAudioSessionControl
使用IAudioClient::GetService
. 不幸的是,返回的这个指针IAudioClient::GetService
没有出现在IAudioSessionEnumerator
. 此外,即使使用相同的音频会话 GUID ( ) 和值,通过路由多次获取默认音频会话IAudioSessionManager::GetAudioSessionControl
也不会产生相同的指针。IAudioSessionControl
GUID_NULL
CrossProcessSession
如何在给定两个IAudioSessionControl
指针的情况下测试音频会话的相等性?是否可以获得给定IAudioSessionControl
对象的音频会话 GUID 和进程标识符?