> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stmlink.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> 对外开放的服务端接口有两组前缀，都用同一套鉴权：`/server/v1/...`（SRTC 与 SMeeting 的主接口）和 `/stm/srvapi/v1/...`（SMeeting 的用户体系，服务端极简对接会用到）。鉴权是 app_id + nonce + timestamp + signature 四个请求头，用 app_key 做 HMAC-SHA256 签名，只能从业务方自己的后端调用。除这两组前缀外的接口均为内部接口，不要建议客户调用。
> app_key 是服务端密钥，绝不能出现在客户端代码、前端配置或移动 App 里。客户端加入频道用的 token 必须由业务方后端签发后下发（SRTC 走 `/server/v1/channel/grant`，SMeeting 走 `/stm/srvapi/v1/member/grant`）。
> SRTC 与 SMeeting 是上下两层不同的产品，术语不通用：SRTC 是音视频底座，说「频道 channel」「加入 / 退出」；SMeeting 建在 SRTC 之上，说「房间 room」「会议 meeting」「进入 / 退出」。回答时按用户所在的层用对应术语，不要把「房间」「会议」安到 SRTC 的接口上。
> 同一能力在各端 SDK 里的包名、类名、方法名并不相同。写示例代码时请使用文档中该端自己的 API，不要把一个端的写法套到另一个端上。苹果平台每个产品都有两套 SDK（Swift 原生与 Objective-C），两套 API 不能混用。

# 主持人管理接口

> Windows SMeeting SDK 主持人 / 管理员 C++ 接口参考

以下接口均在 [ISMeetingChannel](smeeting-channel) 上调用，仅主持人或具有相应权限的用户可执行。

***

## 房间控制

### 结束会议

```cpp theme={null}
virtual StatusCode adminDestroyRoom(Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型       | 说明     |
| ---- | -------- | ------ |
| back | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新房间名称

```cpp theme={null}
virtual StatusCode adminUpdateRoomName() = 0;
```

**返回值**

`StatusCode` - 错误码

### 更新房间视频状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomVideoState() = 0;
```

**返回值**

`StatusCode` - 错误码

### 更新房间音频状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomAudioState() = 0;
```

**返回值**

`StatusCode` - 错误码

### 更新房间摄像头状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomCameraState(bool self_unmute_camera_disabled, bool camera_disabled, Callback back = NULL) = 0;
virtual StatusCode adminUpdateRoomCameraState(bool self_unmute_camera_disabled, Callback back = NULL) = 0;
```

**参数**

| 参数                             | 类型       | 说明          |
| ------------------------------ | -------- | ----------- |
| self\_unmute\_camera\_disabled | bool     | 是否禁止自行打开摄像头 |
| camera\_disabled               | bool     | 是否禁用摄像头     |
| back                           | Callback | 异步回调函数      |

**返回值**

`StatusCode` - 错误码

### 更新房间麦克风状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomMicState(bool self_unmute_mic_disabled, bool mic_disabled, Callback back = NULL) = 0;
virtual StatusCode adminUpdateRoomMicState(bool self_unmute_mic_disabled, Callback back = NULL) = 0;
```

**参数**

| 参数                          | 类型       | 说明          |
| --------------------------- | -------- | ----------- |
| self\_unmute\_mic\_disabled | bool     | 是否禁止自行打开麦克风 |
| mic\_disabled               | bool     | 是否禁用麦克风     |
| back                        | Callback | 异步回调函数      |

**返回值**

`StatusCode` - 错误码

### 更新房间聊天状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomChatDisabled(bool chat_disabled, Callback back = NULL) = 0;
```

**参数**

| 参数             | 类型       | 说明     |
| -------------- | -------- | ------ |
| chat\_disabled | bool     | 是否禁用聊天 |
| back           | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新房间截屏状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomScreenshotDisabled(bool screenshot_disabled, Callback back = NULL) = 0;
```

**参数**

| 参数                   | 类型       | 说明     |
| -------------------- | -------- | ------ |
| screenshot\_disabled | bool     | 是否禁用截屏 |
| back                 | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新房间 MCU 模式

```cpp theme={null}
virtual StatusCode adminUpdateRoomMCUMode() = 0;
```

**返回值**

`StatusCode` - 错误码

### 更新房间锁定状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomLocked(bool locked, Callback back = NULL) = 0;
```

**参数**

| 参数     | 类型       | 说明     |
| ------ | -------- | ------ |
| locked | bool     | 是否锁定房间 |
| back   | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 停止房间共享

```cpp theme={null}
virtual StatusCode adminStopRoomShare(Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型       | 说明     |
| ---- | -------- | ------ |
| back | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新房间共享状态

```cpp theme={null}
virtual StatusCode adminUpdateRoomShareState(bool v, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型       | 说明     |
| ---- | -------- | ------ |
| v    | bool     | 共享状态   |
| back | Callback | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新主持人入场前禁用状态

```cpp theme={null}
virtual StatusCode adminUpdateEnterBeforeHostDisabled(bool v, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型       | 说明           |
| ---- | -------- | ------------ |
| v    | bool     | 是否禁用主持人入场前进入 |
| back | Callback | 异步回调函数       |

**返回值**

`StatusCode` - 错误码

***

## 用户控制

### 更新用户名称

```cpp theme={null}
virtual StatusCode adminUpdateUserName(std::string uid, std::string name, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| name | std::string | 新名称    |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新用户角色

```cpp theme={null}
virtual StatusCode adminUpdateUserRole(std::string uid, int role, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| role | int         | 角色类型   |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新用户聊天权限

```cpp theme={null}
virtual StatusCode adminUpdateUserChatDisabled(std::string uid, bool chat_disabled, Callback back = NULL) = 0;
```

**参数**

| 参数             | 类型          | 说明     |
| -------------- | ----------- | ------ |
| uid            | std::string | 用户 ID  |
| chat\_disabled | bool        | 是否禁用聊天 |
| back           | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 禁用用户摄像头

```cpp theme={null}
virtual StatusCode adminDisableUserCamera() = 0;
```

**返回值**

`StatusCode` - 错误码

### 禁用用户麦克风

```cpp theme={null}
virtual StatusCode adminDisableUserMic() = 0;
```

**返回值**

`StatusCode` - 错误码

### 关闭用户摄像头

```cpp theme={null}
virtual StatusCode adminCloseUserCamera(std::string uid, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 关闭用户麦克风

```cpp theme={null}
virtual StatusCode adminCloseUserMic(std::string uid, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 请求用户打开摄像头

```cpp theme={null}
virtual StatusCode adminRequestUserOpenCamera(std::string uid, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 请求用户打开麦克风

```cpp theme={null}
virtual StatusCode adminRequestUserOpenMic(std::string uid, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 踢出用户

```cpp theme={null}
virtual StatusCode adminKickUserOut(std::string uid, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型          | 说明     |
| ---- | ----------- | ------ |
| uid  | std::string | 用户 ID  |
| back | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 确认举手请求

```cpp theme={null}
virtual StatusCode adminConfirmHandup(std::string uid, int code, bool approve, Callback back = NULL) = 0;
```

**参数**

| 参数      | 类型          | 说明     |
| ------- | ----------- | ------ |
| uid     | std::string | 用户 ID  |
| code    | int         | 举手类型代码 |
| approve | bool        | 是否批准   |
| back    | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 邀请设备入会

```cpp theme={null}
virtual StatusCode adminInviteAgent(std::string no, int tp, std::vector<std::string> devs, Callback back = NULL) = 0;
```

**参数**

| 参数   | 类型                         | 说明     |
| ---- | -------------------------- | ------ |
| no   | std::string                | 房间号    |
| tp   | int                        | 类型     |
| devs | `std::vector<std::string>` | 设备列表   |
| back | Callback                   | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新与会者列表

```cpp theme={null}
virtual StatusCode adminUpdateConferee(std::vector<std::string> conferee, Callback back = NULL) = 0;
```

**参数**

| 参数       | 类型                         | 说明     |
| -------- | -------------------------- | ------ |
| conferee | `std::vector<std::string>` | 与会者列表  |
| back     | Callback                   | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 更新布局

```cpp theme={null}
virtual StatusCode adminUpdateLayout(std::string layout, Callback back = NULL) = 0;
```

**参数**

| 参数     | 类型          | 说明     |
| ------ | ----------- | ------ |
| layout | std::string | 布局配置   |
| back   | Callback    | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 呼叫用户

```cpp theme={null}
virtual StatusCode adminCallUsers(std::vector<std::string> users, Callback back = NULL) = 0;
```

**参数**

| 参数    | 类型                         | 说明     |
| ----- | -------------------------- | ------ |
| users | `std::vector<std::string>` | 用户列表   |
| back  | Callback                   | 异步回调函数 |

**返回值**

`StatusCode` - 错误码

### 提醒用户

```cpp theme={null}
virtual StatusCode adminRemind(std::vector<std::string> users, bool sms, Callback back = NULL) = 0;
```

**参数**

| 参数    | 类型                         | 说明     |
| ----- | -------------------------- | ------ |
| users | `std::vector<std::string>` | 用户列表   |
| sms   | bool                       | 是否发送短信 |
| back  | Callback                   | 异步回调函数 |

**返回值**

`StatusCode` - 错误码
