public void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { MyDebugInfo AlarmInfo = new MyDebugInfo(DebugInfo); CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string str; switch (struAlarmInfo.dwAlarmType) { case 0: this.BeginInvoke(AlarmInfo, "sensor alarm"); break; case 1: this.BeginInvoke(AlarmInfo, "hard disk full"); break; case 2: this.BeginInvoke(AlarmInfo, "video lost"); break; case 3: str = ""; str += pAlarmer.sDeviceIP; str += " motion detection"; this.BeginInvoke(AlarmInfo, str); m_bJpegCapture = true; break; case 4: this.BeginInvoke(AlarmInfo, "hard disk unformatted"); break; case 5: this.BeginInvoke(AlarmInfo, "hard disk error"); break; case 6: this.BeginInvoke(AlarmInfo, "tampering detection"); break; case 7: this.BeginInvoke(AlarmInfo, "unmatched video output standard"); break; case 8: this.BeginInvoke(AlarmInfo, "illegal operation"); break; default: this.BeginInvoke(AlarmInfo, "Unknow alarm"); break; } }
public void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string strIP = pAlarmer.sDeviceIP; string stringAlarm = ""; int i = 0; switch (struAlarmInfo.dwAlarmType) { case 0: stringAlarm = "信号量报警,报警报警输入口:" + struAlarmInfo.dwAlarmInputNumber + ",触发录像通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwAlarmRelateChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 1: stringAlarm = "硬盘满,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 2: stringAlarm = "信号丢失,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 3: stringAlarm = "移动侦测,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 4: stringAlarm = "硬盘未格式化,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 5: stringAlarm = "读写硬盘出错,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 6: stringAlarm = "遮挡报警,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 7: stringAlarm = "制式不匹配,报警通道"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 8: stringAlarm = "非法访问"; break; default: stringAlarm = "其他未知报警信息"; break; } if (InvokeRequired) { object[] paras = new object[3]; paras[0] = DateTime.Now.ToString(); paras[1] = strIP; paras[2] = stringAlarm; listViewAlarmInfo.BeginInvoke(new UpdateListBoxCallback(UpdateClientList), paras); } else { //创建该控件的主线程直接更新信息列表 UpdateClientList(DateTime.Now.ToString(), strIP, stringAlarm); } }
public void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string strIP = pAlarmer.sDeviceIP; string stringAlarm = ""; int i = 0; switch (struAlarmInfo.dwAlarmType) { case 0: stringAlarm = "信号量报警,报警报警输入口:" + struAlarmInfo.dwAlarmInputNumber + ",触发录像通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwAlarmRelateChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 1: stringAlarm = "硬盘满,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 2: stringAlarm = "信号丢失,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 3: stringAlarm = "移动侦测,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 4: stringAlarm = "硬盘未格式化,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 5: stringAlarm = "读写硬盘出错,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 6: stringAlarm = "遮挡报警,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 7: stringAlarm = "制式不匹配,报警通道"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 8: stringAlarm = "非法访问"; break; default: stringAlarm = "其他未知报警信息"; break; } MessageBox.Show("ProcessCommAlarm:" + stringAlarm); }
public void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser, string commType) { CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string strIP = pAlarmer.sDeviceIP; string stringAlarm = ""; int i = 0; switch (struAlarmInfo.dwAlarmType) { case 0: stringAlarm = "信号量报警,报警报警输入口:" + struAlarmInfo.dwAlarmInputNumber + ",触发录像通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwAlarmRelateChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 1: stringAlarm = "硬盘满,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 2: stringAlarm = "信号丢失,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 3: stringAlarm = "移动侦测,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 4: stringAlarm = "硬盘未格式化,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 5: stringAlarm = "读写硬盘出错,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 6: stringAlarm = "遮挡报警,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 7: stringAlarm = "制式不匹配,报警通道"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 8: stringAlarm = "非法访问"; break; default: stringAlarm = "其他未知报警信息"; break; } if (NoticeAlarmEvent != null) { string ccommType = ObjectCopier.Clone <string>(commType); string cstrIP = ObjectCopier.Clone <string>(strIP); string cstringAlarm = ObjectCopier.Clone <string>(stringAlarm); NoticeAlarmEvent(ccommType, DateTime.Now.ToString(), cstrIP, cstringAlarm); } }
private void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string strIP = pAlarmer.sDeviceIP; string stringAlarm = ""; int i = 0; switch (struAlarmInfo.dwAlarmType) { case 0: stringAlarm = "信号量报警,报警报警输入口:" + struAlarmInfo.dwAlarmInputNumber + ",触发录像通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwAlarmRelateChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 1: stringAlarm = "硬盘满,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 2: stringAlarm = "信号丢失,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 3: stringAlarm = "移动侦测,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 4: stringAlarm = "硬盘未格式化,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 5: stringAlarm = "读写硬盘出错,报警硬盘号:"; for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) { if (struAlarmInfo.dwDiskNumber[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 6: stringAlarm = "遮挡报警,报警通道:"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 7: stringAlarm = "制式不匹配,报警通道"; for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) { if (struAlarmInfo.dwChannel[i] == 1) { stringAlarm += (i + 1) + " \\ "; } } break; case 8: stringAlarm = "非法访问"; break; default: stringAlarm = "其他未知报警信息"; break; } if (true) { string[] paras = new string[3]; paras[0] = DateTime.Now.ToString(); //当前PC系统时间 paras[1] = strIP; paras[2] = stringAlarm; // Console.WriteLine(paras[0] + " " + paras[1] + " " + paras[2]); } else { //创建该控件的主线程直接更新信息列表 // UpdateClientList(DateTime.Now.ToString(), strIP, stringAlarm); } }
private void ProcessCommAlarm(ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser) { CHCNetSDK.NET_DVR_ALARMINFO struAlarmInfo = new CHCNetSDK.NET_DVR_ALARMINFO(); struAlarmInfo = (CHCNetSDK.NET_DVR_ALARMINFO)Marshal.PtrToStructure(pAlarmInfo, typeof(CHCNetSDK.NET_DVR_ALARMINFO)); string strIP = pAlarmer.sDeviceIP; // string stringAlarm = ""; int i = 0; switch (struAlarmInfo.dwAlarmType) { case 0: log.Info(string.Format("端口{0}输出报警。", struAlarmInfo.dwAlarmInputNumber)); foreach (Device di in _curIOconfig.InDeviceList) { if (struAlarmInfo.dwAlarmInputNumber.ToString() == di.Port) { lock (di) { //System.Diagnostics.Debug.WriteLine(string.Format("报警端口:{0}。时间:{1}",di.Port, di.ReceiveSignalTime)); di.ReceiveSignalTime = DateTime.Now; } //if (di.Port == "0") //{ // System.Diagnostics.Debug.WriteLine(string.Format("报警时间:{0}", di.ReceiveSignalTime)); //} break; } } //stringAlarm = "信号量报警,报警报警输入口:" + struAlarmInfo.dwAlarmInputNumber + ",触发录像通道:"; //for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) //{ // if (struAlarmInfo.dwAlarmRelateChannel[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } //} break; //case 1: // stringAlarm = "硬盘满,报警硬盘号:"; // for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) // { // if (struAlarmInfo.dwDiskNumber[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 2: // stringAlarm = "信号丢失,报警通道:"; // for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) // { // if (struAlarmInfo.dwChannel[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 3: // stringAlarm = "移动侦测,报警通道:"; // for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) // { // if (struAlarmInfo.dwChannel[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 4: // stringAlarm = "硬盘未格式化,报警硬盘号:"; // for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) // { // if (struAlarmInfo.dwDiskNumber[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 5: // stringAlarm = "读写硬盘出错,报警硬盘号:"; // for (i = 0; i < CHCNetSDK.MAX_DISKNUM; i++) // { // if (struAlarmInfo.dwDiskNumber[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 6: // stringAlarm = "遮挡报警,报警通道:"; // for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) // { // if (struAlarmInfo.dwChannel[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 7: // stringAlarm = "制式不匹配,报警通道"; // for (i = 0; i < CHCNetSDK.MAX_CHANNUM; i++) // { // if (struAlarmInfo.dwChannel[i] == 1) // { // stringAlarm += (i + 1) + " \\ "; // } // } // break; //case 8: // stringAlarm = "非法访问"; // break; default: //stringAlarm = "其他未知报警信息"; break; } }