IAudioSessionManager::GetAudioSessionControl 方法 (audiopolicy.h)
GetAudioSessionControl 方法检索音频会话控件。
语法
HRESULT GetAudioSessionControl(
[in] LPCGUID AudioSessionGuid,
[in] DWORD StreamFlags,
[out] IAudioSessionControl **SessionControl
);
参数
[in] AudioSessionGuid
指向会话 GUID 的指针。 如果 GUID 未标识以前打开的会话,则调用将打开一个新的但为空的会话。 Sndvol 程序不显示会话的音量级控件,除非它包含一个或多个活动流。 如果此参数为 NULL 或指向值GUID_NULL,则该方法会将流分配给默认会话。
[in] StreamFlags
指定音频流的标志的状态。
[out] SessionControl
指向指针变量的指针,该方法在其中写入指向音频会话控件对象的 IAudioSessionControl 接口的指针。 调用方负责通过调用接口的 Release 方法,在不再需要接口时释放接口。 如果调用失败, *SessionControl 为 NULL。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
音频流尚未成功初始化。 |
|
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。 |
|
Windows 音频服务未运行。 |
|
参数 SessionControl 为 NULL。 |
|
内存不足。 |
注解
有关调用此方法的代码示例,请参阅 旧版音频应用程序的音频事件。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | audiopolicy.h |