
# 场景7：加入会议
#### 描述
在华为云会议账号登录后或者登录前，都可以使用该接口通过会议ID和密码加入会议。
#### 业务流程
使用SDK加入已经存在的会议时，先调用JoinConfById接口，然后处理回调函数OnJoinConfByIdResult和消息通知OnConfState、OnConfInfo。
1. **接口调用**
   
   1. 组装数据结构HwmJoinConfByIdInfo。
   
   2. 调用JoinConfById开始创建，第1步中的数据作为参数。
   
   
   
   
2. **处理回调函数**
   
   处理回调函数OnJoinConfByIdResult。
   
   
3. **处理消息通知**
   
   处理消息通知OnConfState。
   
   
4. **处理消息通知**
   
   处理消息通知OnConfInfo。
   
   
 
#### 示例代码
```
// 通过会议ID加入会议
int demoJoinConfByIdDlg::clickJoinConfById()
{
    // 填写会议ID和会议密码；未登录场景下加入会议时，也可以配置本会场的会场名称
    hwmsdkagent::HwmJoinConfByIdInfo data;
    memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByIdInfo));
 
    strncpy_s(data.confId, GetMeetingID().c_str(), HWM_MAX_CONF_ID_LEN);
    strncpy_s(data.password, GetAccessCode().c_str(), HWM_MAX_PASSWORD_LEN);
    strncpy_s(data.name, GetParticipantName().c_str(), HWM_MAX_DISPLAY_NAME_LEN);
    
    int ret = hwmsdkagent::JoinConfById(&data);
    return ret;
}
```
```
/**
* 会议id入会接口回调
*/
void demoCallbackProc::OnJoinConfByIdResult(hwmsdk::HwmErrCode ret, const char* msg)
{
    CString codeStr;
    codeStr.Format(_T("%d"), ret);
    string msgStr = CTools::UTF82MultiByte(msg);
    CString tips = _T("OnJoinConfByIdResult 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)
OnConfState和OnConfInfo的事件通知跟创建会议场景相同，请参考[创建会议的示例代码](https://support.huaweicloud.com/sdkreference-meeting/win_demo_0009.html)。
