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 方法,在不再需要接口时释放接口。 如果调用失败, *SessionControlNULL

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
AUDCLNT_E_NOT_INITIALIZED
音频流尚未成功初始化。
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。
E_POINTER
参数 SessionControlNULL
E_MEMORY
内存不足。

注解

有关调用此方法的代码示例,请参阅 旧版音频应用程序的音频事件

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 audiopolicy.h

另请参阅

IAudioSessionControl 接口

IAudioSessionManager 接口