Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
            }
        }
Beispiel #6
0
        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;
            }
        }