
# 开启功能
#### EnableFeature
**接口描述**
Windows SDK中有些功能特性是通过开关控制是否打开的，该接口用于配置这些功能的打开或者关闭。
**注意事项**
1. 枚举中的功能项均有默认值，若对开关状态不做要求，可以不必调用该接口。
2. 该接口为异步接口，返回值只代表接口是否调用成功，实际业务处理结果在对应的回调函数中返回。
**方法定义**
```
HWM_SDK_AGENT_API hwmsdk::HwmErrCode EnableFeature(HwmEnableFeatureType type, bool isEnable);
```
**回调函数**
```
virtual void OnEnableFeature(hwmsdk::HwmErrCode ret, const char* msg) {};
```
**参数描述**
表1参数说明 
| 参数       | 是否必须 | 类型                   | 描述      |
|:---|:---|:---|:---|
| type     | 是    | HwmEnableFeatureType | 功能开关枚举。 |
| isEnable | 是    | bool                 | 开关状态。   |
   
 表2枚举HwmEnableFeatureType说明 
| 枚举值                                                   | 描述                                                                       |
|:---|:---|
| HWM_ENABLE_FEATURE_TYPE_MULTI_MONITOR                 | 是否启动多显示器模式开关。在多显示器场景下，在两个显示器上同时显示桌面共享窗口和视频窗口；在单显示器模式下，开启共享后，隐藏视频窗口。默认为关。 |
| HWM_ENABLE_FEATURE_TYPE_SHOW_HANGUP_ATTENDEE          | 是否在与会者窗口上显示离会的与会者开关。默认为开。                                                |
| HWM_ENABLE_FEATURE_TYPE_HOWLING_DETECTION             | 是否启用啸叫抑制开关状态。默认为开。                                                       |
| HWM_ENABLE_FEATURE_TYPE_HIGH_RESOLUTION               | 是否启用会议中大画面的1080P高清显示。默认为开。                                               |
| HWM_ENABLE_FEATURE_TYPE_MIC_SWITCH                    | 麦克风在会议中的初始化开关状态。默认为开。                                                    |
| HWM_ENABLE_FEATURE_TYPE_CAM_SWITCH                    | 摄像头在会议中的初始化开关状态。默认为关。                                                    |
| HWM_ENABLE_FEATURE_TYPE_HIDE_EXTERNAL_LABEL           | 外部标签在会议中的显示/隐藏状态。默认为关(显示外部标签)。                                           |
| HWM_ENABLE_FEATURE_AUTO_MIC_VOLUME                    | 自动麦克风音量调整开关，默认为开，如果外接麦克风设备自带有AGC效果时建议关闭                                  |
| HWM_ENABLE_FEATURE_BREAKOUT_CONF                      | 分组讨论功能开关状态。默认为开。                                                         |
| HWM_ENABLE_FEATURE_CONFIRM_RECORD                     | 录制确认开关状态。默认为关。                                                           |
| HWM_ENABLE_FEATURE_DEFAULT_SHARE_AUDIO                | 共享音频开关。默认为关。                                                             |
| HWM_ENABLE_FEATURE_SUPPORT_DISCONNECT_AUDIO           | 断开音频功能开关。默认为关。                                                           |
| HWM_ENABLE_FEATURE_DISCONNECT_AUDIO_TO_JOIN_CONF      | 断开音频入会功能开关。默认为关。                                                         |
| HWM_ENABLE_FEATURE_CPU_REDUCTION_DETECT               | 启用CPU降频检测功能开关。默认为关。                                                      |
| HWM_ENABLE_FEATURE_SUPPORT_GUEST_INVITE               | 是否支持与会者邀请功能开关。默认为关。                                                      |
| HWM_ENABLE_FEATURE_HIDE_INVITE_RESULT_TOAST           | 是否隐藏与会者邀请结果提示开关。默认为关。                                                    |
| HWM_ENABLE_FEATURE_SUPPORT_AUTO_ACCEPT_REMOTE_CONTROL | 是否支持自动接受远程控制开关。默认为关。                                                     |
| HWM_ENABLE_FEATURE_HIDE_OFFLINE_PARTICIPANT_LIST      | 是否支持隐藏与会者列表"未入会"标签。默认为关。                                                 |
| HWM_ENABLE_FEATURE_HIDE_VB_RISK_TIP                   | 是否隐藏虚拟背景隐私风险提示。默认为关。                                                     |
| HWM_ENABLE_FEATURE_CONF_END_SHOW_TIPS                 | 是否会议结束显示提示。默认为关。                                                         |
| HWM_ENABLE_FEATURE_QUERY_AVATAR                       | 查询头像。默认为关。                                                               |
| HWM_ENABLE_FEATURE_UPLOAD_AVATAR                      | 上传头像。默认为关。                                                               |
   
**返回值**
表3返回值 
| 类型         | 描述                                                                                                           |
|:---|:---|
| HwmErrCode | 成功返回0，其他值表示失败。失败返回值见[错误码参考](https://support.huaweicloud.com/sdkreference-meeting/meeting_control_0022.html)。 |
   
**示例代码**
```
/**
* 多显示器模式开关配置
*/
void demoEnableFeatureDlg::OnBnClickedButtonMultiMonitor()
{
    bool isCheck = true;
    int ret = hwmsdkagent::EnableFeature(hwmsdkagent::HWM_ENABLE_FEATURE_TYPE_MULTI_MONITOR, isCheck);
    if (hwmsdk::HWM_COMMON_SUCCESS != ret)
    {
        AfxMessageBox(_T("Enable multi monitor failed"));
    }
}
```
