
# 场景4：编辑会议
#### 描述
预约会议成功后，可以通过编辑会议接口来编辑会议信息，在编辑会议时可以添加与会者。
#### 业务流程
得到会议列表以后，若要编辑会议，需要先通过GetConfDetail接口查询会议详情，在接口回调OnGetConfDetail中处理详情数据，再调用EditConf接口对会议详情进行修改，并处理回调函数OnEditConfResult和消息通知OnConfList。
1. **获取会议详情**
   
   1. 调用GetConfDetail接口。
   
   
   
   
2. **处理回调函数**
   
   处理回调OnGetConfDetail，得到会议详情数据。
   
   
3. **调用编辑会议接口**
   
   1. 使用[步骤2]获取的数据，组装数据结构HwmEditConfParam（包含结构内的
      HwmAttendeeInfo）。
      
   
   2. 调用EditConf接口，[第1步]中的数据作为入参。
   
   
   
   
4. **处理回调函数**
   
   处理回调函数OnEditConfResult。
   
   
5. **处理消息通知**
   
   处理消息通知OnConfList。
   
   
 
#### 示例代码
```
/**
* 获取会议详情
*/
int demoEditConfDlg::GetConfDetail()
{
    int ret =hwmsdkagent::GetConfDetail(GetConfID()); // 使用会议id查询会议详细信息
    return ret;
}
```
```
/**
* 会议详情回调处理
*/
void demoCallbackProc::OnGetConfDetail(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail)
{
    if (confDetail == nullptr)
    {
        return;
    }
    // 此处省略缓存会议详情数据代码
    CString codeStr;
    codeStr.Format(_T("%d"), ret);
    string msgStr = CTools::UTF82MultiByte(msg);
    CString tips = _T("OnGetConfDetail code:") + codeStr + _T(", msg:") + CString(msgStr.c_str());
    AfxMessageBox(tips);
}
```
```
/**
* 编辑会议接口
*/
int demoEditConfDlg::EditConf()
{
    hwmsdkagent::HwmConfDetail confDetail{0}; //从缓存中得到会议详情数据赋予confDetail
    hwmsdkagent::HwmEditConfParam editConfParam{ 0 };
    //根据实际需求拷贝confDetail的数据
    strncpy_s(editConfParam.confId, confDetail.confListInfo.confId, HWM_MAX_CONF_ID_LEN);
    editConfParam.vmrFlag = confDetail.vmrFlag;
    strncpy_s(editConfParam.vmrId, confInfo.vmrId, HWM_MAX_VMR_CONF_ID_LEN);
    // 此处省略部分赋值代码
    editConfParam.timeZone = 56; // 本地时区，用户依据自身情况自己调整，56东八区
    editConfParam.isRecordOn = false; //默认会议不启用允许录制
    editConfParam.isAutoRecordOn = false; //默认会议不启用自动录制
    editConfParam.startTime = 1598398920; //utc时间戳
    editConfParam.duration = 0 * 60 + 30;//会议时长
    editConfParam.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; //取编辑会议上面的允许入会用户类型
    return hwmsdkagent::EditConf(&editConfParam);
}
```
```
/**
* 编辑会议接口回调
*/
void demoCallbackProc::OnEditConfResult()
{
    CString codeStr;
    codeStr.Format(_T("%d"), ret);
    string msgStr = CTools::UTF82MultiByte(msg);
    CString tips = _T("OnEditConfResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str());
    AfxMessageBox(tips);
}
```
![](https://support.huaweicloud.com/sdkreference-meeting/public_sys-resources/note_3.0-zh-cn.png)
OnConfList事件通知跟预约会议场景相同，请参考[预约会议的示例代码](https://support.huaweicloud.com/sdkreference-meeting/win_demo_0005.html#ZH-CN_TOPIC_0272621227__section2486111343813)。
