/// <summary> /// 连接设备 /// </summary> /// <param name="sIP">设备IP</param> /// <returns></returns> public bool ConnectCamera(string sIP, IntPtr UserHandle) { try { StringBuilder strIP = new StringBuilder(sIP); pHandle = IntPtr.Zero; Ip = sIP; uint uRes = DeviceInterface.HWTC_ConnectCamera(strIP, ref pHandle); if ((DeviceInterface.FEEKBACK_TYPE)uRes == DeviceInterface.FEEKBACK_TYPE.RESULT_OK) { DeviceInterface.HWTC_RecordLog(false); DeviceInterface.HWTC_SetRecRealtimeDataMode(pHandle, IntPtr.Zero, RealdataFuc, UserHandle, 0, 0); //设置事件 DeviceInterface.HWTC_RegStatusCallback(pHandle, IntPtr.Zero, DeviceStatusFuc, NetStatusFuc, RunStatusFuc); AddDeviceInfo Info = new AddDeviceInfo(); Info.intCameraIP = Until.IP2Int(sIP); Info.ptrCameraHandle = pHandle; Info.u32ArmBootTime = 0; Info.u32DspBootTime = 0; Info.u32DspBootCnt = 0; Info.ptrCamControlHandle = IntPtr.Zero; Info.OnReadSuccess = this.OnActionReadSuccess; Info.OnScanError = this.OnActionScanError; Info.OnStatusChange = this.OnActionStatusChange; if (ForGlobal.g_DeviceTable[sIP] == null) { ForGlobal.g_DeviceTable.Add(sIP, Info); } if (OnActionStatusChange != null) { OnActionStatusChange(true); } return(true); } else { ErrorStr = uRes.ToString(); if (OnActionStatusChange != null) { OnActionStatusChange(false); } return(false); } } catch (Exception) { if (OnActionStatusChange != null) { OnActionStatusChange(false); } } return(false); }