public void Init() { m_qDoorNoEntry = new Queue <sDoorNoEntry>(); m_qOnOffInfo = new Queue <sOnOffAlarm>(); m_qSealHead = new Queue <sSealHead>(); m_qTempAlarm = new Queue <sTempAlarm>(); m_qTempDiffAlarm = new Queue <sTempDiffAlarm>(); m_qVideoMoveAlarm = new Queue <sVideoMove>(); m_qThermalImagery = new Queue <sThermalImagery>(); m_ReMoteConfig = new RemoteConfigCallback(GetThermInfoCallback); //m_MsgCallback = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); m_singleLock = new object(); //m_threadLoginHost = new Thread(ThreadLoginHost); m_Error = new EXCEPYIONCALLBACK(HikExceptionCallBack); //m_threadLoginHost.IsBackground = true; //m_threadLoginHost.Start(); m_MsgCallBackSelf = new VsClientMsgCB(MsgCallback); m_MsgCallback = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik); //读取配置文件的回调函数 m_funcReadIniMsg = new pReadIniCallBack(ReadIniCallBack); m_sVsClientPath = ""; m_sHCNetSDKPath = ""; m_lstLoginInfo = new List <CLoginInfo>(); m_lstStruIpParaCfgV40 = new List <NET_DVR_IPPARACFG_V40>(); }
/*******************************************************/ /// <summary> /// 初始化 /// </summary> public void Init() { m_MsgCallBack = new VsClientMsgCB(MsgCallback); m_sUrl = ""; m_sStartTime = ""; m_sEndTime = ""; m_sPalyTime = ""; m_sCamId = ""; ///海康摄像机操作 属性初始化 m_MsgCallbackHik = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik); m_lstLoginInfo = new List <CLoginInfo>(); m_oSingleLock = new object(); m_oThread = new Thread(ThreadLogin); m_oThread.Start(); //初始化读取配置文件的信息 m_sCapPicPath = ""; m_sVsClientPath = ""; m_sHCNetSDKPath = ""; //读取配置文件的回调函数 m_funcReadIniMsg = new pReadIniCallBack(ReadIniCallBack); //设备类型初始化 m_iCamType = -1; m_sCapPath = ""; m_bIsFirstFloder = false; m_lstSaveHikChannelInfo = new List <CSaveHikChannelInfo>(); /*\ 初始化子类事件 /*/ ucSVideo.evtCallBackFailed += new FuncRetFailed(CallBackFailed); }
/// <summary> /// 设置报警上传回调 /// </summary> /// <param name="deviceInfo"></param> public void SetDVRMessageCallBack(DeviceInfo deviceInfo, CHCNetSDK.MSGCallBack_V31 msgCallback) { try { BaseHelper hikVisionHelper = new HikVisionHelper(); if (!FaceRecognizeSignForm.isInit) { FaceRecognizeSignForm.isInit = hikVisionHelper.Init(); } if (FaceRecognizeSignForm.isInit) { bool isSuccess = hikVisionHelper.SetDVRMessageCallBack(msgCallback); if (!isSuccess) { RecordErrorCode(string.Format("{0} 设置报警上传回调函数失败", deviceInfo.deviceIp)); } } else { RecordErrorCode("初始化失败"); } } catch (Exception ex) { ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); } }
/*******************************************************/ /// <summary> /// 初始化 /// </summary> public void Init() { m_MsgCallBack = new VsClientMsgCB(MsgCallback); m_sUrl = ""; m_sStartTime = ""; m_sEndTime = ""; m_sPalyTime = ""; m_sCamId = ""; ///海康摄像机操作 属性初始化 m_MsgCallbackHik = new CHCNetSDK.MSGCallBack_V31(MsgCallbackHik); m_lstLoginInfo = new List <CLoginInfo>(); m_oSingleLock = new object(); //m_oThread = new Thread(ThreadLogin); //m_oThread.Start(); //初始化读取配置文件的信息 m_sCapPicPath = ""; m_sVsClientPath = ""; m_sHCNetSDKPath = ""; //读取配置文件的回调函数 m_funcReadIniMsg = new pReadIniCallBack(ReadIniCallBack); //设备类型初始化 m_iCamType = -1; m_sCapPath = ""; m_bIsFirstFloder = false; m_lstStruIpParaCfgV40 = new List <NET_DVR_IPPARACFG_V40>(); }
/// <summary> /// 加载时 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// private void ucDevicemanager_Load(object sender, EventArgs e) { //1.初始化SDK bool m_bInitSDK = CHCNetSDK.NET_DVR_Init(); if (m_bInitSDK == false) { MessageBox.Show("SDK 初始化失败"); return; } //2.设置回调函数 if (m_falarmData_V31 == null) { m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MSgCallback_V31); } CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero); pcAstome.Hide(); panelCom.Hide(); pTcp.Hide(); listBoxControl1.DataSource = BAL.GetAllDeviceInfo(new Models.DeviceList()); listBoxControl1.DisplayMember = "dname"; //选择方式 //listBoxControl1.SelectionMode = SelectionMode.One; List <DeviceList> list = BAL.GetAllDeviceInfo(); DeviceList s = new DeviceList(); for (int i = 0; i < list.Count; i++) { //imagecontrolist ilbcDevice.Items.Add(list.ElementAt(i).dname); if (s.dstate == true) { ilbcDevice.Items[i].ImageIndex = 1; } else { ilbcDevice.Items[i].ImageIndex = 0; } } List <DeviceList> list2 = BAL.GetAllDeviceInfo(); DeviceList s2 = new DeviceList(); for (int i = 0; i < list2.Count; i++) { //imagecontrolist ilbcConnectList.Items.Add(list.ElementAt(i).dname); ilbcConnectList.Items[i].ImageIndex = 0; } }
/// <summary> /// 设置报警上传回调函数 /// </summary> /// <returns></returns> public override bool SetDVRMessageCallBack(CHCNetSDK.MSGCallBack_V31 msgCallback) { bool result = false; result = CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(msgCallback, IntPtr.Zero); return(result); }
/// <summary> /// 设置布防回调函数 /// </summary> /// <returns></returns> public bool SetDVRCallBack() { if (m_falarmData_V31 == null) { m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); } return(CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero)); }
/// <summary> /// 设置报警回调 /// </summary> public static void SetAlarmCallBack() { if (m_falarmData_V31 == null) { m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); } CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero); WriteMsg("当前设备设置报警回调,时间" + DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒"), "ok"); }
/// <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); }
/// <summary> /// 设置布防门禁事件 /// </summary> public static bool SetDVRMessageCallBack_V31() { //设置报警回调函数,刷卡等事件都会触发报警回调函数 // bool setOK= CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(MSesGCallback, IntPtr.Zero); //GC.KeepAlive(msgCall_delegate);//关键的一句, 如果没有KeepAlive,NET_DVR_SetDVRMessageCallBack_V31调用完之后,MSesGCallback就被GC.Collect掉了,以后如果还有调用的话就会抛异常。 //return setOK; //或者 msgCall_delegate = new CHCNetSDK.MSGCallBack_V31(MSesGCallback); bool setOK = CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(msgCall_delegate, IntPtr.Zero); return(setOK); }
private void Initialize() { detectResetTimer = new DispatcherTimer(); detectResetTimer.Interval = new TimeSpan(0, 0, 15); detectResetTimer.Tick += DetectResetTimer_Tick; m_bInitSDK = CHCNetSDK.NET_DVR_Init(); Console.WriteLine("[CCTV] - NET_DVR_Init Result : {0}", m_bInitSDK); if (m_bInitSDK) { if (m_falarmData_V31 == null) { m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); } CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero); } }
public GetInfoDemo() { InitializeComponent(); string str = Application.StartupPath; if (!CHCNetSDK.NET_DVR_Init()) { MessageBox.Show("NET_DVR_Init error!"); return; } //设置报警回调函数 if (m_falarmData_V31 == null) { m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31); } IntPtr pUser = new IntPtr(); CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, pUser); // MessageBox.Show(CHCNetSDK.NET_DVR_GetLastError().ToString()); }
//private void pictureBox1_Paint(object sender, PaintEventArgs e) //{ // try // { // GraphicsPath path = new GraphicsPath(); // path.AddLines( // new Point[] { // new Point(0, 36), // new Point(36, 0), // new Point(1397, 0), // new Point(1433, 36), // new Point(1433, 779), // new Point(1397, 815), // new Point(36, 815), // new Point(0, 779), // new Point(0, 36) // } // ); // this.pictureBox1.Region = new Region(path); // } // catch (Exception ex) // { // ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); // } //} private void FaceRecognizeSignForm_Load(object sender, EventArgs e) { try { this.timer1 = new System.Windows.Forms.Timer(); timer1.Interval = 1000; timer1.Tick += new EventHandler(Timer1_Tick); if (this.IsHandleCreated) { m_falarmData = new CHCNetSDK.MSGCallBack_V31(process.MsgCallback_V31); Action <DeviceInfo, CHCNetSDK.MSGCallBack_V31> setDVRMessageCallBackAction = process.SetDVRMessageCallBack; setDVRMessageCallBackAction.BeginInvoke(deviceInfo, m_falarmData, null, null); Action <DeviceInfo> setupAlarmAction = process.SetupAlarm; setupAlarmAction.BeginInvoke(deviceInfo, null, null); } } catch (Exception ex) { ToolHelper.RecordSystemErrorLog(this.GetType().ToString(), MethodBase.GetCurrentMethod().Name, ex.Message, ex.StackTrace); } }
/// <summary> /// 设置报警上传回调函数 /// </summary> /// <param name="msgCallback"></param> /// <returns></returns> public virtual bool SetDVRMessageCallBack(CHCNetSDK.MSGCallBack_V31 msgCallback) { return(false); }