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); }
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); }