public bool CloseTransfer485() { this.CheckLogined(true, "CloseTransfer485"); this.CheckTransfer485(true, "CloseTransfer485"); bool result = HCNetSDK.NET_DVR_SerialStop(this.transfer485Handle); if (result) { this.transfer485Handle = -1; this.Serial485DataHandle = null; } return result; }
public bool OpenTransfer485() { this.CheckLogined(true, "OpenTransfer485"); this.CheckTransfer485(false, "OpenTransfer485"); this.Serial485DataHandle = new HCNetSDK.SerialDataCallBack(Serial485DataCall); this.transfer485Handle = HCNetSDK.NET_DVR_SerialStart(this.userID, 2, this.Serial485DataHandle, 0); return this.transfer485Handle >= 0; }
public bool ShutdownRouteway485() { if (Serial485Handle < 0) throw new InvalidOperationException(); bool Result = HCNetSDK.NET_DVR_SerialStop(Serial485Handle); if (Result) { Serial485Handle = -1; Serial485ReceiveHandle = null; Serial485DataHandle = null; } return Result; }
public void Start(CameraInfo camera, CardOutType cardOutType, int id) { CurrentCardOutType = cardOutType; CurrentCardOutId = id; IsValidChannel = false; NET_DVR_CLIENTINFO struClientInfo; //定义预览参数结构体 struClientInfo.lChannel = camera.ChannelNo; struClientInfo.lLinkMode = 0; struClientInfo.hPlayWnd = IntPtr.Zero; //camera.Handle; int m_iSubWndIndex = 1000; //用户数据 struClientInfo.sMultiCastIP = "0.0.0.0"; // 实时预览 不回调 // m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true); //实时预览 回调 _cameraInfo = camera; ListPorts = new Dictionary<int, IntPtr>(); switch (cardOutType) { case CardOutType.DefaultDisplay: stream_callback = new RealDataCallBack_V30(g_DefaultRealDataCallBack_V30); break; case CardOutType.SynGroup: stream_callback = new RealDataCallBack_V30(g_SynGroupRealDataCallBack_V30); break; case CardOutType.GroupSwitch: stream_callback = new RealDataCallBack_V30(g_GroupSwitchRealDataCallBack_V30); break; case CardOutType.ProgSwitch: stream_callback = new RealDataCallBack_V30(g_ProgSwitchRealDataCallBack_V30); break; default: stream_callback = new RealDataCallBack_V30(g_RealDataCallBack_V30); break; } GCHandle aa = GCHandle.Alloc(stream_callback); GCHandle bb = GCHandle.Alloc(serial_callback); m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, stream_callback, m_iSubWndIndex, true); //m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true); camera.PlayHandle = m_lPlayHandle; int SerialHandle = -1; if (!ListSerialHandle.ContainsKey(_deviceInfo.DeviceId)) { serial_callback = new HCNetSDK.SerialDataCallBack(g_SerialDataCallBack); SerialHandle = HCNetSDK.NET_DVR_SerialStart(_deviceInfo.ServiceID, 1, serial_callback, (uint)m_iSubWndIndex); if (SerialHandle != -1) { ListSerialHandle.Add(_deviceInfo.DeviceId, SerialHandle); } } camera.SerialHandle = SerialHandle; _cameraInfo = camera; if (m_lPlayHandle > -1) { IsValidChannel = true; } processFile = AppDomain.CurrentDomain.BaseDirectory + "Temp\\"; if (!Directory.Exists(processFile)) { Directory.CreateDirectory(processFile); } TempPath = processFile; processFile = processFile + "delectfile.jpg"; _cameraInfo = camera; if (thread == null) { stopEvent = new ManualResetEvent(false); thread = new Thread(WorkerThread); thread.Name = camera.Name; thread.Start(); } }
public bool EstablishRouteway485(SerialReceiveCallback SerialReceiveCall) { if (DvcUserID < 0 || Serial485Handle >= 0) throw new InvalidOperationException(); Serial485DataHandle = new HCNetSDK.SerialDataCallBack(Serial485DataCall); Serial485Handle = HCNetSDK.NET_DVR_SerialStart(DvcUserID, 2, Serial485DataHandle, 0); Serial485ReceiveHandle = (Serial485Handle >= 0) ? SerialReceiveCall : null; return (Serial485Handle >= 0); }