Example #1
0
        private object GetObject(int type, IntPtr buffer, int len)
        {
            Console.WriteLine("Enter");
            Object obj = null;

            switch ((EM_ALARM_TYPE)type)
            {
            case EM_ALARM_TYPE.ALARM_ACCESS_CTL_EVENT:
            {
                // Получение сообщения о попытке авторизации через: FACEID, FINGERPRINT, CARD

                NET_ALARM_ACCESS_CTL_EVENT_INFO info = new NET_ALARM_ACCESS_CTL_EVENT_INFO();
                info = (NET_ALARM_ACCESS_CTL_EVENT_INFO)Marshal.PtrToStructure(buffer, typeof(NET_ALARM_ACCESS_CTL_EVENT_INFO));

                Console.WriteLine();
                Console.WriteLine("emType = " + info.emOpenMethod);
                Console.WriteLine("nDoor = " + Encoding.UTF8.GetString(info.szReaderID));
                Console.WriteLine("szUserID = " + Encoding.UTF8.GetString(info.szUserID));
                Console.WriteLine("szDoorName = " + Encoding.UTF8.GetString(info.szDoorName));
                Console.WriteLine("szCardNo = " + info.szCardNo);

                obj = info;
                break;
            }

            default:
                break;
            }

            Console.WriteLine("Leave");
            return(obj);
        }
Example #2
0
        private bool AlarmCallBackEx(int lCommand, IntPtr lLoginID, IntPtr pBuf, uint dwBufLen, IntPtr pchDVRIP, int nDVRPort, bool bAlarmAckFlag, int nEventID, IntPtr dwUser)
        {
            Console.WriteLine("Enter");
            AlarmMsg alarmMsg = new AlarmMsg();

            alarmMsg.Time      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            alarmMsg.LoginID   = lLoginID;
            alarmMsg.AlarmType = (EM_ALARM_TYPE)lCommand;
            alarmMsg.IP        = Marshal.PtrToStringAnsi(pchDVRIP);
            alarmMsg.AlarmInfo = GetObject(lCommand, pBuf, (int)dwBufLen);
            alarmMsg.Length    = (int)dwBufLen;

            Console.WriteLine("\nNEW EVENT:");
            Console.WriteLine("lCommand = " + string.Format("0x{0:x16}", lCommand));
            Console.WriteLine("pchDVRIP = " + Marshal.PtrToStringAnsi(pchDVRIP));
            Console.WriteLine("nDVRPort = " + nDVRPort);
            Console.WriteLine("nEventID = " + nEventID);
            Console.WriteLine("Time = " + alarmMsg.Time);
            Console.WriteLine("dwUser = "******"&emOpenMethod=" + info.emOpenMethod.ToString() + "&nDoor=" + info.nDoor.ToString() + "&szUserID=" + Encoding.UTF8.GetString(info.szUserID) +
                    //    "&szDoorName=" + Encoding.UTF8.GetString(info.szDoorName) + "&szCardNo=" + info.szCardNo + "&pchDVRIP=" + Marshal.PtrToStringAnsi(pchDVRIP) +
                    //    "&nDVRPort=" + nDVRPort.ToString() + "&nEventID=" + nEventID.ToString() + "&lCommand=" + lCommand.ToString();

                    //PostAsync(this.apiURL, postParams, "application/x-www-form-urlencoded");
                }
            }
            catch (NullReferenceException)
            {
                Console.WriteLine("NullReferenceException catched... working over");
            }
            catch (Exception e)
            {
                Console.WriteLine("PostAsync part ex: " + e.Message);
            }

            // m_AlarmMsgQueue.Enqueue(alarmMsg);
            Console.WriteLine("Leave");

            return(true);
        }