IAudioSessionControl::SetGroupingParam 方法 (audiopolicy.h)

SetGroupingParam 方法将会话分配给会话分组。

语法

HRESULT SetGroupingParam(
  [in] LPCGUID Override,
  [in] LPCGUID EventContext
);

参数

[in] Override

新的分组参数。 此参数必须是指向分组参数 GUID 的有效非 NULL 指针。 有关详细信息,请参阅“备注”。

[in] EventContext

指向事件上下文 GUID 的指针。 如果对此方法的调用生成分组更改事件,会话管理器会将通知发送到已注册与会话管理器的 IAudioSessionEvents 接口的所有客户端。 会话管理器包含每个通知的 EventContext 指针值。 收到通知后,客户端可以通过检查 EventContext 值来确定它还是另一个客户端是事件的源。 此方案取决于客户端为此参数选择的值,该值在会话中的所有客户端中都是唯一的。 如果调用方为此参数提供 NULL 指针,则客户端的通知方法将收到 NULL 上下文指针。

返回值

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

返回代码 说明
E_POINTER
参数 分组NULL
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。

注解

客户端调用此方法以更改会话的分组参数。 具有相同分组参数值的所有音频会话都受系统音量控制程序 Sndvol 中相同音量级别滑块的控制。 有关详细信息,请参阅 分组参数

客户端可以通过调用 IAudioSessionControl::GetGroupingParam 方法获取会话的当前分组参数。

如果客户端从未调用 SetGroupingParam 将分组参数分配给会话,则会话不属于任何分组。 不属于任何分组的会话在 Sndvol 程序中具有其自己的专用卷级别滑块。

要求

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

另请参阅

IAudioSessionControl 接口

IAudioSessionControl::GetGroupingParam

IAudioSessionEvents 接口