void CDlgTalk::OnCheckTalkAttachEvent() { // 订阅事件 if (IsDlgButtonChecked(IDC_CHECK_TALK_ATTACH_EVENT)) { CLIENT_SetDVRMessCallBack(EventCallBack, (LDWORD)this); if (CLIENT_StartListenEx(m_lLoginID)) { // 订阅成功 } else { MessageBox(ConvertString("Attach event error."), ConvertString("Prompt")); } } // 取消订阅 else { CLIENT_StopListen(m_lLoginID); } }
static int dah_init(service_template_t *self) { int ret = 0; dah_conn_t *conn_info; dah_service_basic_t *dah_basic; NMP_ASSERT(self); dah_basic = (dah_service_basic_t*)self; conn_info = &dah_basic->conn_info; if (!CLIENT_Init(conn_info->dis_conn, (DWORD)dah_basic)) { ret = -1; show_warn("NET_DVR_Init() failure!\n"); } else { CLIENT_SetConnectTime(conn_info->conn_wait_time, conn_info->conn_try_times); CLIENT_SetDVRMessCallBack(dah_message_call_back, (LDWORD)dah_basic); } return ret; }