private bool PostSynProgress_ISAPI() { m_bGetResult = false; string strInfoSyn = null; if (m_command == SynInfoCommand.USER_INFO_SYN) { CUserInfoSynCond JsonUserInfoSynCond = new CUserInfoSynCond(); JsonUserInfoSynCond.UserInfoSyncCond = new CUserInfoSynCondContent(); JsonUserInfoSynCond.UserInfoSyncCond.command = "getProgress"; JsonUserInfoSynCond.UserInfoSyncCond.maxResults = 30; strInfoSyn = JsonConvert.SerializeObject(JsonUserInfoSynCond); } else { CCardInfoSynCond JsonCardInfoSynCond = new CCardInfoSynCond(); JsonCardInfoSynCond.CardInfoSyncCond = new CCardInfoSynCondContent(); JsonCardInfoSynCond.CardInfoSyncCond.command = "getProgress"; JsonCardInfoSynCond.CardInfoSyncCond.maxResults = 30; strInfoSyn = JsonConvert.SerializeObject(JsonCardInfoSynCond); } IntPtr ptrInfoSyn = Marshal.StringToHGlobalAnsi(strInfoSyn); if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lInfoSynHandle, (int)CHCNetSDK.LONG_CFG_SEND_DATA_TYPE_ENUM.ENUM_SEND_JSON_DATA, ptrInfoSyn, (uint)strInfoSyn.Length)) { Marshal.FreeHGlobal(ptrInfoSyn); return(false); } Marshal.FreeHGlobal(ptrInfoSyn); return(true); }
private void buttonStart_Click(object sender, EventArgs e) { if (-1 != m_lInfoSynHandle) { if (CHCNetSDK.NET_DVR_StopRemoteConfig(m_lInfoSynHandle)) { m_lInfoSynHandle = -1; } } if (m_bStart) { return; } m_bStart = true; g_fInfoSynCallback = new CHCNetSDK.RemoteConfigCallback(ProcessInfoSynCallback); string sURL = GetRoute(m_command); if (sURL == null) { return; } IntPtr ptrURL = Marshal.StringToHGlobalAnsi(sURL); m_lInfoSynHandle = CHCNetSDK.NET_DVR_StartRemoteConfig(m_lUserID, CHCNetSDK.NET_DVR_JSON_CONFIG, ptrURL, sURL.Length, g_fInfoSynCallback, this.Handle); string strInfoSyn = null; if (m_command == SynInfoCommand.USER_INFO_SYN) { CUserInfoSynCond JsonUserInfoSynCond = new CUserInfoSynCond(); JsonUserInfoSynCond.UserInfoSyncCond = new CUserInfoSynCondContent(); JsonUserInfoSynCond.UserInfoSyncCond.command = "startSync"; JsonUserInfoSynCond.UserInfoSyncCond.maxResults = 30; strInfoSyn = JsonConvert.SerializeObject(JsonUserInfoSynCond); } else { CCardInfoSynCond JsonCardInfoSynCond = new CCardInfoSynCond(); JsonCardInfoSynCond.CardInfoSyncCond = new CCardInfoSynCondContent(); JsonCardInfoSynCond.CardInfoSyncCond.command = "startSync"; JsonCardInfoSynCond.CardInfoSyncCond.maxResults = 30; strInfoSyn = JsonConvert.SerializeObject(JsonCardInfoSynCond); } IntPtr ptrInfoSyn = Marshal.StringToHGlobalAnsi(strInfoSyn); if (!CHCNetSDK.NET_DVR_SendRemoteConfig(m_lInfoSynHandle, (int)CHCNetSDK.LONG_CFG_SEND_DATA_TYPE_ENUM.ENUM_SEND_JSON_DATA, ptrInfoSyn, (uint)strInfoSyn.Length)) { Marshal.FreeHGlobal(ptrInfoSyn); return; } Marshal.FreeHGlobal(ptrInfoSyn); //获取结果 Thread thread = new Thread(new ThreadStart(GetSynResult)); thread.IsBackground = true; thread.Start(); }