Пример #1
1
        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);
        }
Пример #2
0
        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();
        }