Example #1
0
        public bool StartAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 1; //智能交通设备有效,新报警信息类型
            struAlarmParam.byFaceAlarmDetection = 1; //1-人脸侦测

            for (int i = 0; i < m_cameraInfos.Count; i++)
            {
                Int32 lUserID = m_cameraInfos[i].UserNum;
                m_lAlarmHandle[lUserID] = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, ref struAlarmParam);
                if (m_lAlarmHandle[lUserID] < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    strErr   = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
                    return(false);
                }
                else
                {
                    //布防成功
                }
            }
            return(true);
        }
Example #2
0
        /// <summary>
        /// 开始布防并进行监听
        /// </summary>
        private void startAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize          = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel         = 0; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType = 1; //智能交通设备有效,新报警信息类型

            m_lAlarmHandle[m_lUserID] = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);
            if (m_lAlarmHandle[m_lUserID] < 0)
            {
                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                msgErr   = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
                ShowMsgEvent(msgErr, null);
            }
            else
            {
                //string sLocalIP = sLocalIP;//本地监听地址,可以为空
                ushort wLocalPort = ushort.Parse("7200");//监听端口

                iListenHandle = CHCNetSDK.NET_DVR_StartListen_V30(sLocalIP, wLocalPort, m_falarmData, IntPtr.Zero);
                if (iListenHandle < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    msgErr   = "启动监听失败,错误号:" + iLastErr; //启动监听失败,输出错误号
                    ShowMsgEvent(msgErr, null);
                }
                else
                {
                    StartDetect();
//                    cap.StartCHC();
                    ShowMsgEvent("监听成功", null);
                }
            }
        }
Example #3
0
        private void StartAlarmListener()
        {
            if (m_lUserID < 0)
            {
                return;
            }

            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1;
            struAlarmParam.byAlarmInfoType      = 1;
            struAlarmParam.byFaceAlarmDetection = 1;

            m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);

            if (m_lAlarmHandle < 0)
            {
                Console.WriteLine("[CCTV] - NET_DVR_SetupAlarmChan_V41 Failed : {0)", CHCNetSDK.NET_DVR_GetLastError());
            }
            else
            {
                Console.WriteLine("[CCTV] - Start Alarm Listener.");
                if (ModeListener != null)
                {
                    ModeListener(MODE_ALARM_LISTEN);
                }
            }
            //SystemEnv.ShowLogMessage("[CCTV] - AlarmHandle : {0}", m_lAlarmHandle);
        }
Example #4
0
        /// 1.初始化SDK
        /// 2.设置回调函数
        /// 3.用户注册
        /// 4.配置报警条件
        /// 5.报警布防
        /// 6.报警函数里面接收和处理数据
        /// 7.报警撤防
        /// 8.注销用户
        /// 9.释放SDK资源
        ///
        ///
        ///

        //设备注册-用户登录

        ///

        /// <summary>
        /// 设备注册-用户登录
        /// </summary>
        /// <param name="sDVRIP">登录IP</param>
        /// <param name="wDVRPort">端口</param>
        /// <param name="sUserName">用户名</param>
        /// <param name="sPassword">密码</param>
        /// <returns>返回值小于0登录注册失败</returns>
        public int RegisterDevice(string sDVRIP, Int32 wDVRPort, string sUserName, string sPassword)
        {
            //设备信息输出参数
            CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();



            int m_lUserID = CHCNetSDK.NET_DVR_Login_V30(sDVRIP, wDVRPort, sUserName, sPassword, ref DeviceInfo);

            if (m_lUserID < 0)
            {
                MessageBox.Show("登陆失败");
                return(-1);
            }



            //4.5.启用布防设置布防条件
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM structSetUpParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            structSetUpParam.dwSize          = (uint)Marshal.SizeOf(structSetUpParam);
            structSetUpParam.byLevel         = 1; //布防优先级:0-一级(高) ,1- 二等级(中)
            structSetUpParam.byAlarmInfoType = 1; //上传报警信息类型 1- 新报警信息(NET_ITS_PLATE_RESULT)

            int lhandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref structSetUpParam);

            if (lhandle < 0)
            {
                MessageBox.Show("布防失败");
                return(-1);
            }
            return(m_lUserID);//返回用户登陆成功句柄
        }
Example #5
0
        public void setAlarm(string ip, string port, string name, string password)
        {
            if (ip == "" || port == "" || name == "" || password == "")
            {
                return;
            }
            string DVRIPAddress  = ip;                //设备IP地址或者域名 Device IP
            Int16  DVRPortNumber = Int16.Parse(port); //设备服务端口号 Device Port
            string DVRUserName   = name;              //设备登录用户名 User name to login
            string DVRPassword   = password;          //设备登录密码 Password to login

            CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();

            //登录设备 Login the device
            m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref DeviceInfo);
            if (m_lUserID >= 0)
            {
                //登录成功

                CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
                struAlarmParam.dwSize          = (uint)Marshal.SizeOf(struAlarmParam);
                struAlarmParam.byLevel         = 1;                                                                   //0- 一级布防,1- 二级布防
                struAlarmParam.byAlarmInfoType = 1;                                                                   //智能交通设备有效,新报警信息类型
                m_lAlarmHandle[m_lUserID]      = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam); //布防
                if (m_lAlarmHandle[m_lUserID] >= 0)
                {
                    //布防成功
                }
            }
        }
 /// <summary>
 /// 报警回调函数
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="channel"></param>
 public override void AlarmCallBackFun(int userID, int channel)
 {
     try
     {
         IntPtr pUser = IntPtr.Zero;
         m_falarmData = new CHCNetSDK.MSGCallBack(MsgCallback);                        //注册回调函数
         bool test = CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V30(m_falarmData, pUser); //海康回调SDK
         GC.KeepAlive(m_falarmData);
         GC.KeepAlive(test);
         if (!test)
         {
             iLastErr = CHCNetSDK.NET_DVR_GetLastError();
             MessageBox.Show("Error" + iLastErr);
         }
         else
         {
             //Console.WriteLine("启动报警成功");
         }
         CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM(); //设置布防SDK
         struAlarmParam.dwSize  = (uint)Marshal.SizeOf(struAlarmParam);
         struAlarmParam.byLevel = 1;                                                                   //0- 一级布防,1- 二级布防
         CHCNetSDK.NET_DVR_SetupAlarmChan_V41(userID, ref struAlarmParam);
     }
     catch (Exception e)
     {
         StaticUtils.ShowEventMsg("HikvisionAlarmCallBackFun.class-AlarmCallBackFun : 报警回调函数出现异常!\n");
         Console.WriteLine(e);
     }
 }
Example #7
0
        //布防
        private void setAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 1; //智能交通设备有效,新报警信息类型
            struAlarmParam.byFaceAlarmDetection = 1; //1-人脸侦测

            for (int i = 0; i < Dcommon.GetCount(); i++)
            {
                Dcommon.SetAlarm(i, struAlarmParam);
                m_lAlarmHandle = Dcommon.GetAlarmHandle(i);
                if (m_lAlarmHandle < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    strErr   = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
                    Dcommon.AddLog(strErr);
                }
                else
                {
                    strErr = "布防成功";
                    Dcommon.AddLog(strErr);
                    MessageBox.Show(strErr);
                }
                //btn_SetAlarm.Enabled = false;
            }
        }
        ///// <summary>
        ///// 视频抓图保存成JPEG图片
        ///// </summary>
        ///// <param name="loginId">用户ID值,从HikVisionLogin获取</param>
        ///// <param name="channel">通道号</param>
        ///// <param name="pictureParam">JPEG图像参数</param>
        ///// <param name="pictureFilePath">保存JPEG图的文件路径</param>
        ///// <param name="deviceName">设备名称</param>
        ///// <returns></returns>
        //public string CaptureJPEGPicture(int loginId, int channel, ref CHCNetSDK.NET_DVR_JPEGPARA pictureParam, string pictureFilePath, string deviceName)
        //{
        //    string result = string.Empty;

        //    if (!Directory.Exists(pictureFilePath))
        //    {
        //        try
        //        {
        //            Directory.CreateDirectory(pictureFilePath);
        //        }
        //        catch (Exception ex)
        //        {
        //        }
        //    }

        //    string pictureFileName = string.Format("{0}{1}_{2}.jpg", DateTime.Now.ToString("HHmmss"), DateTime.Now.Millisecond.ToString(), deviceName);

        //    pictureFileName = string.Format(@"{0}\{1}", pictureFilePath, pictureFileName);

        //    bool isSuccess = CHCNetSDK.NET_DVR_CaptureJPEGPicture(loginId, channel, ref pictureParam, pictureFileName);

        //    if (isSuccess)
        //    {
        //        result = pictureFileName;
        //    }

        //    return result;
        //}

        ///// <summary>
        ///// 视频抓图保存成JPEG图片
        ///// </summary>
        ///// <param name="loginId">用户ID值,从HikVisionLogin获取</param>
        ///// <param name="channel">通道号</param>
        ///// <param name="pictureParam">JPEG图像参数</param>
        ///// <param name="pictureFilePath">保存JPEG图的文件路径</param>
        ///// <param name="deviceName">设备名称</param>
        ///// <param name="fileName">图片文件</param>
        ///// <returns>true:抓图成功 false:抓图失败</returns>
        //public bool CaptureJPEGPicture(int loginId, int channel, ref CHCNetSDK.NET_DVR_JPEGPARA pictureParam, string pictureFilePath, string deviceName, out string fileName)
        //{
        //    bool result = false;
        //    fileName = string.Empty;

        //    if (!Directory.Exists(pictureFilePath))
        //    {
        //        try
        //        {
        //            Directory.CreateDirectory(pictureFilePath);
        //        }
        //        catch (Exception ex)
        //        {
        //            return result;
        //        }
        //    }

        //    string pictureFileName = string.Format("{0}{1}_{2}.jpg", DateTime.Now.ToString("HHmmss"), DateTime.Now.Millisecond.ToString(), deviceName);

        //    pictureFileName = string.Format(@"{0}\{1}", pictureFilePath, pictureFileName);

        //    bool isSuccess = CHCNetSDK.NET_DVR_CaptureJPEGPicture(loginId, channel, ref pictureParam, pictureFileName);

        //    if (isSuccess)
        //    {
        //        fileName = pictureFileName;
        //        result = true;
        //    }

        //    return result;
        //}

        #endregion

        /// <summary>
        /// 建立报警上传通道
        /// </summary>
        /// <param name="loginId">用户ID值,从HikVisionLogin获取</param>
        /// <returns>-1:建立失败,否则建立成功</returns>
        public override void SetupAlarmChan(DeviceInfo deviceInfo)
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 1; //智能交通设备有效,新报警信息类型
            struAlarmParam.byFaceAlarmDetection = 1; //1-人脸侦测

            deviceInfo.alarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(deviceInfo.loginId, ref struAlarmParam);
        }
Example #9
0
        /// <summary>
        /// 设备登陆
        /// </summary>
        /// <param name="devIp"></param>
        /// <param name="devPort"></param>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        private DevLoginModel DeviceLogin(string devIp, int devPort, string userName, string password)
        {
            string loginUserKey = GetDeviceLoginUserDictKey(devIp, devPort, userName, password);

            //设备已经登陆,择直接返回登陆id,并增加1此登陆的订阅数
            if (_loginedDeviceDict.ContainsKey(loginUserKey))
            {
                _loginedDeviceDict[loginUserKey].SubscriberCount++;
                return(_loginedDeviceDict[loginUserKey]);
            }

            CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V30();

            //登录设备 Login the device
            int loginId = CHCNetSDK.NET_DVR_Login_V30(devIp, devPort, userName, password, ref DeviceInfo);

            if (loginId < 0)
            {
                uint lastErr = CHCNetSDK.NET_DVR_GetLastError();
                LogHelper.Default.Debug(string.Format("设备{0}-{1}登陆失败,错误代码[{2}]", devIp, devPort, lastErr));
                return(null);
            }

            //设置报警回调函数
            if (_msgCallback_V31 == null)
            {
                _msgCallback_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
            }

            RuntimeTypeHandle handle = GetType().TypeHandle;
            IntPtr            ptr    = handle.Value;

            if (!CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(_msgCallback_V31, ptr))
            {
                uint lastErr = CHCNetSDK.NET_DVR_GetLastError();
                LogHelper.Default.Debug(string.Format("设备{0}-{1}设置报警回调失败,错误代码[{2}]", devIp, devPort, lastErr));
            }

            CHCNetSDK.NET_DVR_SETUPALARM_PARAM setAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            setAlarmParam.byAlarmInfoType = 1;
            setAlarmParam.byLevel         = 1;
            //布防
            long setAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan(loginId);

            DevLoginModel devLoginModel = new DevLoginModel();

            devLoginModel.Key             = loginUserKey;
            devLoginModel.LoginId         = loginId;
            devLoginModel.SubscriberCount = 1;

            _loginedDeviceDict.TryAdd(loginUserKey, devLoginModel);
            return(devLoginModel);
        }
        public int startAlarm(int m_lUserID)
        {
            struAlarmParam                 = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize          = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byAlarmInfoType = 1;//智能交通设备有效
            //一级布防最大连接数为1个,二级最大连接数为3个,三级最大连接数为5个,设备支持一级、二级和
            //三级布防同时进行,一级布防优先上传信息
            struAlarmParam.byLevel = 1;

            m_falarmData = new CHCNetSDK.MSGCallBack(MsgCallback);
            CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V30(m_falarmData, IntPtr.Zero);
            int AlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);

            return(AlarmHandle);
        }
Example #11
0
        /// <summary>
        /// 设备布防
        /// </summary>
        /// <param name="deviceInfo">设备信息</param>
        public void DeviceAlarmOpen(DeviceInfo deviceInfo)
        {
            if (DeviceIsNull(deviceInfo))
            {
                return;
            }

            if (!DeviceIsRegist(deviceInfo, false))
            {
                return;
            }

            if (deviceInfo.DVRAlarmHandle != DeviceInfo.Const_DeviceDisable)
            {
                if (OnShowInfoData != null)
                {
                    OnShowInfoData(InfoType.设备信息, deviceInfo, "已经布防,不能重复布防");
                }
                return;
            }


            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize          = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel         = 0;
            struAlarmParam.byAlarmInfoType = 1;

            int m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(deviceInfo.DVRLoginID, ref struAlarmParam);

            if (m_lAlarmHandle == DeviceInfo.Const_DeviceDisable)
            {
                if (OnShowInfoData != null)
                {
                    OnShowInfoData(InfoType.设备信息, deviceInfo, "布防失败,错误代码:" + CHCNetSDK.NET_DVR_GetLastError().ToString());
                }
            }
            else
            {
                deviceInfo.DVRAlarmHandle = m_lAlarmHandle;
                deviceInfo.LastTime       = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                if (OnShowInfoData != null)
                {
                    OnShowInfoData(InfoType.设备信息, deviceInfo, "布防成功!");
                }
                deviceInfo.State = DeviceInfo.DeviceState.正常状态;
            }
        }
Example #12
0
 private void btnAlarmChanB_Click(object sender, EventArgs e)
 {
     ////报警布防参数结构体
     CHCNetSDK.NET_DVR_SETUPALARM_PARAM nET_DVR_SETUPALARM_PARAM = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
     alarmChan = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref nET_DVR_SETUPALARM_PARAM);
     if (alarmChan == -1)
     {
         MessageBox.Show(CHCNetSDK.NET_DVR_GetLastError().ToString());//报错参数
     }
     else
     {
         MessageBox.Show("布防成功!");
         btnAlarmChanB.Enabled   = false;
         btnAlarmChanEnd.Enabled = true;
     }
 }
Example #13
0
        public int camera_SetAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 1; //智能交通设备有效,新报警信息类型
            struAlarmParam.byFaceAlarmDetection = 1; //1-人脸侦测

            for (int i = 0; i < iDeviceNumber; i++)
            {
                m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);
                if (m_lAlarmHandle < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    strErr   = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
                    return(-1);
                }
            }
            return(0);
        }
Example #14
0
        /**********************************  SDK  **********************************/
        #region SDK

        private void m_SetAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 1; //智能交通设备有效,新报警信息类型
            struAlarmParam.byFaceAlarmDetection = 1; //1-人脸侦测

            m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);
            if (m_lAlarmHandle < 0)
            {
                //布防失败,输出错误号
                iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                WriteLog("NET_DVR_SetupAlarmChan_V41 failed, error code= " + iLastErr);
            }
            else
            {
                WriteLog("NET_DVR_SetupAlarmChan_V41 succeeded!");
            }
        }
Example #15
0
        /// <summary>
        /// 启动布防
        /// </summary>
        /// <returns></returns>
        public bool SetupAlarm()
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize               = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel              = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType      = 0; //智能交通设备有效,新报警信息类型
            struAlarmParam.byDeployType         = 0;
            struAlarmParam.byFaceAlarmDetection = 0; //1-人脸侦测

            int m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);

            if (m_lAlarmHandle < 0)
            {
                uint iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                return(false);
            }
            else
            {
                return(true);
            }
        }
Example #16
0
        private void btn_SetAlarm_Click(object sender, EventArgs e)
        {
            CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
            struAlarmParam.dwSize          = (uint)Marshal.SizeOf(struAlarmParam);
            struAlarmParam.byLevel         = 1; //0- 一级布防,1- 二级布防
            struAlarmParam.byAlarmInfoType = 1; //智能交通设备有效,新报警信息类型

            for (int i = 0; i < iDeviceNumber; i++)
            {
                m_lUserID = Int32.Parse(listViewDevice.Items[i].SubItems[0].Text);
                m_lAlarmHandle[m_lUserID] = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struAlarmParam);
                if (m_lAlarmHandle[m_lUserID] < 0)
                {
                    iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    strErr   = "布防失败,错误号:" + iLastErr; //布防失败,输出错误号
                    listViewDevice.Items[i].SubItems[2].Text = strErr;
                }
                else
                {
                    listViewDevice.Items[i].SubItems[2].Text = "布防成功";
                }
                btn_SetAlarm.Enabled = false;
            }
        }
Example #17
0
        private void btnDeploy_Click(object sender, EventArgs e)
        {
            if (m_UserID < 0)
            {
                MessageBox.Show("Please Login First!");
                return;
            }
            else
            {
                CHCNetSDK.NET_DVR_SETUPALARM_PARAM struSetupAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
                struSetupAlarmParam.dwSize          = (uint)Marshal.SizeOf(struSetupAlarmParam);
                struSetupAlarmParam.byLevel         = 1;
                struSetupAlarmParam.byAlarmInfoType = 1;
                struSetupAlarmParam.byDeployType    = (byte)cbDeployType.SelectedIndex;

                if (CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_UserID, ref struSetupAlarmParam) < 0)
                {
                    MessageBox.Show("NET_DVR_SetupAlarmChan_V41 fail error: " + CHCNetSDK.NET_DVR_GetLastError(), "Setup alarm chan failed");
                    return;
                }
                else
                {
                    MessageBox.Show("Setup alarm chan succeed");
                }

                m_falarmData = new CHCNetSDK.MSGCallBack(MsgCallback);
                if (CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V50(0, m_falarmData, IntPtr.Zero))
                {
                    MessageBox.Show("NET_DVR_SetDVRMessageCallBack_V50 succ", "succ", MessageBoxButtons.OK);
                }
                else
                {
                    MessageBox.Show("NET_DVR_SetDVRMessageCallBack_V50 fail", "operation fail", MessageBoxButtons.OK);
                }
            }
        }
Example #18
0
 //布防
 public void SetAlarm(CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam)
 {
     m_lAlarmHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(UserID, ref struAlarmParam);
 }
Example #19
0
        /// <summary>
        /// 布防获取门禁
        /// </summary>
        public static void SetAlarm()
        {
            //可能有多台道闸
            //string DVRIPAddress = ConfigurationManager.AppSettings["ip"];
            string ipes = ConfigurationManager.AppSettings["ips"];

            string[] ipsTemp = ipes.Split('、');
            foreach (var item in ipsTemp)
            {
                //初始化
                bool isInited = HKCommonSDK.Init();
                if (isInited)
                {
                    CHCNetSDK.NET_DVR_SetLogToFile(3, "C:\\SdkLog\\", false);
                    Console.WriteLine("NET_DVR_Init Success!");
                }
                else
                {
                    uint   iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    string strErr   = "NET_DVR_Init failed, error code= " + iLastErr;
                    Console.WriteLine(strErr);
                }

                string[] ipport = item.Split(':');
                if (ipport.Length != 2)
                {
                    Console.WriteLine("ip地址配置有误!应该是ip1:port1、ip2:port2");
                }
                string DVRIPAddress  = ipport[0];
                ushort DVRPortNumber = ushort.Parse(ipport[1]);
                string DVRUserName   = ConfigurationManager.AppSettings["UserName"];
                string DVRPassword   = ConfigurationManager.AppSettings["Password"];
                int    m_lUserID     = HKCommonSDK.LoginV30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword);
                if (m_lUserID == -1)
                {
                    uint   iLastErr = CHCNetSDK.NET_DVR_GetLastError();
                    string strErr   = "NET_DVR_Login_V30 failed,ip:port=" + DVRIPAddress + ":" + DVRPortNumber + "! error code= " + iLastErr;
                    Console.WriteLine(strErr);
                }
                else
                {
                    Console.WriteLine("NET_DVR_Login_V30 Success,ip:port=" + DVRIPAddress + ":" + DVRPortNumber + "! m_lUserID=" + m_lUserID);
                }

                bool setAlarm = HKAlarm.SetDVRMessageCallBack_V31();
                if (!setAlarm)
                {
                    Console.WriteLine("NET_DVR_SetDVRMessageCallBack_V31 fail!error code= " + CHCNetSDK.NET_DVR_GetLastError());
                    CHCNetSDK.NET_DVR_Logout(m_lUserID);
                    CHCNetSDK.NET_DVR_Cleanup();
                }
                else
                {
                    Console.WriteLine("NET_DVR_SetDVRMessageCallBack_V31 Success! ");
                }

                ////启用布防
                CHCNetSDK.NET_DVR_SETUPALARM_PARAM struSetupParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
                struSetupParam.dwSize = (uint)Marshal.SizeOf(struSetupParam);
                // struSetupParam.byLevel = (byte)1;
                struSetupParam.byDeployType = 1;
                int lHandle = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(m_lUserID, ref struSetupParam);
                if (lHandle < 0)
                {
                    Console.WriteLine("NET_DVR_SetupAlarmChan_V41 fail!error code= " + CHCNetSDK.NET_DVR_GetLastError());
                    CHCNetSDK.NET_DVR_Logout(m_lUserID);
                    CHCNetSDK.NET_DVR_Cleanup();
                }
                ////等待 60s,等待接收设备上传报警
                //Thread.Sleep(600000);
                ////撤销布防
                //if (!CHCNetSDK.NET_DVR_CloseAlarmChan_V30(lHandle))
                //{
                //    Console.WriteLine("NET_DVR_CloseAlarmChan_V30 fail!error code= " + CHCNetSDK.NET_DVR_GetLastError());
                //    CHCNetSDK.NET_DVR_Logout(m_lUserID);
                //    CHCNetSDK.NET_DVR_Cleanup();
                //}
                //CHCNetSDK.NET_DVR_Logout(m_lUserID);
                //CHCNetSDK.NET_DVR_Cleanup();
                Console.WriteLine("-----------------------------------");
            }
        }
Example #20
0
 //布防
 public void SetAlarm(int i, CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam)
 {
     CameraList[i].SetAlarm(struAlarmParam);
 }