示例#1
0
 /// <summary>
 /// 关闭设备
 /// </summary>
 private void __CloseDevice()
 {
     try
     {
         __CloseStream();
         //关闭设备
         if (null != m_objIGXDevice)
         {
             if (m_hCB != null)
             {
                 m_objIGXDevice.UnregisterDeviceOfflineCallback(m_hCB);
                 m_hCB = null;
             }
             m_objIGXDevice.Close();
             m_objIGXDevice = null;
         }
     }
     catch (Exception)
     {
     }
 }
示例#2
0
        /// <summary>
        /// 方法:注册异常回调函数
        /// </summary>
        /// <returns></returns>
        public override bool DoRegisterExceptionCallBack()
        {
            bool rt = false; string err = null;

            if (m_objIGXDevice != null)
            {
                if (m_hCB != null)
                {
                    m_objIGXDevice.UnregisterDeviceOfflineCallback(m_hCB);
                    m_hCB = null;
                }
                m_hCB = m_objIGXDevice.RegisterDeviceOfflineCallback(this, _deviceRef_ConnectionLost);
                rt    = true;
            }
            else
            {
                err = "大恒相机注册异常事件失败,设备为空";
                ////ErrorMessage.Clear();//ErrorMessage.Append(err);
            }
            return(rt);
        }
        public int OpenCamera()
        {
            //关闭流
            if (null != m_objIGXStream)
            {
                m_objIGXStream.Close();
                m_objIGXStream = null;
            }

            //关闭设备
            if (null != m_objIGXDevice)
            {
                m_objIGXDevice.Close();
                m_objIGXDevice = null;
            }

            IGXFactory m_objIGXFactory = null;

            m_objIGXFactory = IGXFactory.GetInstance();
            m_objIGXFactory.Init();
            List <IGXDeviceInfo> listGXDeviceInfo = new List <IGXDeviceInfo>();

            m_objIGXFactory.UpdateDeviceList(200, listGXDeviceInfo);

            foreach (IGXDeviceInfo tempinfo in listGXDeviceInfo)
            {
                if (tempinfo.GetUserID() == this.name)
                {
                    m_objIGXDevice         = ObjIGXFactory.OpenDeviceByUserID(this.Name, GX_ACCESS_MODE.GX_ACCESS_EXCLUSIVE);
                    m_objIGXFeatureControl = m_objIGXDevice.GetRemoteFeatureControl();
                    m_DeviceOffLine        = m_objIGXDevice.RegisterDeviceOfflineCallback(null, CallOffLineFunction);
                }
            }

            TriggerConfiguration();
            SetExposureTime();

            return(0);
        }