From 32304b0a0a2e4af174c0feea96d2387bb75a2556 Mon Sep 17 00:00:00 2001
From: C3032 <caoxingqi@shlanbao.cn>
Date: 星期三, 18 三月 2026 16:03:44 +0800
Subject: [PATCH] 新增:读码器功能模块,集成华睿读码器并初步实现读码功能

---
 LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll                 |    0 
 LB_VisionProcesses/ref/SharpnessDetection64.dll                 |    0 
 LB_VisionProcesses/LB_VisionProcesses.csproj                    |   34 
 LB_VisionProcesses/ref/clserVsp.dll                             |    0 
 LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs    |  216 ++++
 LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs             |  118 ++
 LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs           |   16 
 LB_VisionProcesses/ref/MVlog4cppmd.dll                          |    0 
 LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll            |    0 
 LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll                 |    0 
 LB_VisionProcesses/ref/iImageProcessing64.dll                   |    0 
 LB_SmartVision/LB_SmartVision.csproj                            |   12 
 LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll             |    0 
 LB_VisionProcesses/ref/EasyIDSDK_Net.dll                        |    0 
 LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs          |   57 +
 LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs |  255 ++++
 LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll             |    0 
 LB_VisionProcesses/ref/MVSDKmd.dll                              |    0 
 LB_SmartVision/ProcessRun/ProcessContext.cs                     |    3 
 LB_VisionProcesses/ref/SDKLOG_default.properties                |   15 
 LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll              |    0 
 LB_VisionProcesses/ref/EasyID.dll                               |    0 
 LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll                  |    0 
 LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs       |   27 
 LB_VisionProcesses/Processes/BarcodeReaderProcess.cs            |  150 ++
 LB_VisionProcesses/ref/EasyIDSDK_Net.XML                        | 1812 ++++++++++++++++++++++++++++++++++
 LB_VisionProcesses/ref/ImageConvert.dll                         |    0 
 LB_VisionProcesses/ref/ImageSave.dll                            |    0 
 LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll                |    0 
 LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll            |    0 
 LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs          |  265 +++++
 LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx        |  120 ++
 LB_VisionProcesses/ref/CLSerCOM.dll                             |    0 
 LB_VisionProcesses/ref/VideoRender.dll                          |    0 
 LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll                    |    0 
 LB_VisionFlowNode/IFlowContext.cs                               |    3 
 LB_VisionProcesses/ref/libwinpthread-1.dll                      |    0 
 LB_SmartVision/GlobalVar.cs                                     |    6 
 38 files changed, 3,080 insertions(+), 29 deletions(-)

diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
index ce25c32..f57158a 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
@@ -333,6 +333,16 @@
                         LogInfo?.Invoke(string.Format("娴佺▼[{0}]姝ラ\"{1}\"鍔犺浇澶辫触浜�", this.Text, ProcessName), LogInfoType.ERROR);
                     process.strProcessName = ProcessName;
                 }
+                else if (process is LB_VisionProcesses.Processes.BarcodeReaderProcess)
+                {
+                    LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm barcodeForm 
+                        = new LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm((LB_VisionProcesses.Processes.BarcodeReaderProcess)process, ProcessPath);
+                    barcodeForm.ShowDialog();
+
+                    if (!(process.Load(ProcessPath)))
+                        LogInfo?.Invoke(string.Format("娴佺▼[{0}]姝ラ\"{1}\"鍔犺浇澶辫触浜�", this.Text, ProcessName), LogInfoType.ERROR);
+                    process.strProcessName = ProcessName;
+                }
                 else if (ClassName.Contains("CommunicatorConfig") && process is CommunicatorConfig)
                 {
                     LB_VisionProcesses.Communicators.CommunicatorForm communicatorForm
@@ -370,7 +380,11 @@
 
                 ProcessRunBll.UpdataInputsAndOutputs(ProcessName, process);
             }
-            catch (Exception ex) { Debug.WriteLine(ex.Message); }
+            catch (Exception ex) 
+            { 
+                Debug.WriteLine(ex.Message);
+                MessageBox.Show($"鎵撳紑閰嶇疆鐣岄潰澶辫触: {ex.Message}\n{ex.StackTrace}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
         }
 
         private void AddBranch(string ProcessName)
diff --git a/LB_SmartVision/GlobalVar.cs b/LB_SmartVision/GlobalVar.cs
index 6c5862a..eff8e9e 100644
--- a/LB_SmartVision/GlobalVar.cs
+++ b/LB_SmartVision/GlobalVar.cs
@@ -4,6 +4,7 @@
 using LB_SmartVision.Tool;
 using LB_VisionProcesses.Cameras;
 using LB_VisionProcesses.Communicators;
+using LB_VisionProcesses.BarcodeReaders;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
@@ -39,6 +40,11 @@
         public static ObservableConcurrentDictionary<string, BaseCamera> dicCameras { get; set; } = new ObservableConcurrentDictionary<string, BaseCamera>();
 
         /// <summary>
+        /// 璇荤爜鍣ㄩ泦鍚�(Key:璁惧SN锛孷alue:璇荤爜鍣ㄥ彞鏌�)
+        /// </summary>
+        public static ObservableConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; } = new ObservableConcurrentDictionary<string, BarcodeReaderBase>();
+
+        /// <summary>
         /// 閫氳闆嗗悎(Key:閫氳鍚嶏紝Value:閫氳鍙ユ焺)
         /// </summary>
         public static ObservableConcurrentDictionary<string, BaseCommunicator> dicCommunicators { get; set; } = new ObservableConcurrentDictionary<string, BaseCommunicator>();
diff --git a/LB_SmartVision/LB_SmartVision.csproj b/LB_SmartVision/LB_SmartVision.csproj
index 184052f..f8424fd 100644
--- a/LB_SmartVision/LB_SmartVision.csproj
+++ b/LB_SmartVision/LB_SmartVision.csproj
@@ -52,12 +52,24 @@
   </ItemGroup>
 
   <ItemGroup>
+    <Reference Include="CLIDelegate">
+      <HintPath>..\LB_VisionProcesses\ref\CLIDelegate.dll</HintPath>
+    </Reference>
+    <Reference Include="EasyIDSDK_Net">
+      <HintPath>..\LB_VisionProcesses\ref\EasyIDSDK_Net.dll</HintPath>
+    </Reference>
     <Reference Include="halcondotnet">
       <HintPath>ref\halcondotnet.dll</HintPath>
     </Reference>
+    <Reference Include="MVSDK_Net">
+      <HintPath>..\LB_VisionProcesses\ref\MVSDK_Net.dll</HintPath>
+    </Reference>
     <Reference Include="MySql.Data">
       <HintPath>ref\MySql.Data.dll</HintPath>
     </Reference>
+    <Reference Include="ThridLibray">
+      <HintPath>..\LB_VisionProcesses\ref\ThridLibray.dll</HintPath>
+    </Reference>
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index 2fbe61e..e46967c 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -570,6 +570,9 @@
         [Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
         public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
 
+        [Node("璇荤爜宸ュ叿", "鍙栧儚宸ュ叿", "Basic", "璇荤爜宸ュ叿")]
+        public void 璇荤爜宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
         [Node("Halcon2D鏂戠偣宸ュ叿", "Halcon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
         public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
 
diff --git a/LB_VisionFlowNode/IFlowContext.cs b/LB_VisionFlowNode/IFlowContext.cs
index 5456ce8..c717a9f 100644
--- a/LB_VisionFlowNode/IFlowContext.cs
+++ b/LB_VisionFlowNode/IFlowContext.cs
@@ -280,6 +280,9 @@
         [Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
         public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
 
+        [Node("璇荤爜宸ュ叿", "鍙栧儚宸ュ叿", "Basic", "璇荤爜宸ュ叿")]
+        public void 璇荤爜宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
         [Node("Halcon2D鏂戠偣宸ュ叿", "Halcon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
         public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
 
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
new file mode 100644
index 0000000..b5814a7
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+    /// <summary>
+    /// 璇荤爜鍣ㄦ娊璞″熀绫�
+    /// </summary>
+    public abstract class BarcodeReaderBase : IBarcodeReader
+    {
+        public virtual event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+        public virtual string SN { get; protected set; } = string.Empty;
+
+        public virtual bool IsConnected { get; protected set; } = false;
+
+        public virtual bool IsGrabbing { get; protected set; } = false;
+
+        public abstract BarcodeReaderBrand Brand { get; }
+
+        protected BarcodeReaderBase() { }
+
+        /// <summary>
+        /// 瑙﹀彂璇荤爜鎴愬姛浜嬩欢
+        /// </summary>
+        protected virtual void OnBarcodeRead(BarcodeEventArgs e)
+        {
+            BarcodeRead?.Invoke(this, e);
+        }
+
+        public abstract List<string> GetDeviceList();
+
+        public abstract bool Open(string sn);
+
+        public abstract bool Close();
+
+        public abstract bool StartGrabbing();
+
+        public abstract bool StopGrabbing();
+
+        public abstract bool SoftTrigger();
+
+        public abstract bool SetTriggerMode(bool isSoftware);
+
+        public virtual void Dispose()
+        {
+            try
+            {
+                if (IsConnected)
+                {
+                    Close();
+                }
+            }
+            catch { }
+        }
+    }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
new file mode 100644
index 0000000..d3616c3
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
@@ -0,0 +1,27 @@
+using System;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+    /// <summary>
+    /// 璇荤爜鍣ㄥ伐鍘傜被
+    /// </summary>
+    public static class BarcodeReaderFactory
+    {
+        /// <summary>
+        /// 鏍规嵁鍝佺墝鍒涘缓璇荤爜鍣ㄥ疄渚�
+        /// </summary>
+        /// <param name="brand">璇荤爜鍣ㄥ搧鐗�</param>
+        /// <returns>璇荤爜鍣ㄥ疄渚�</returns>
+        public static IBarcodeReader CreateReader(BarcodeReaderBrand brand)
+        {
+            switch (brand)
+            {
+                case BarcodeReaderBrand.Huayray:
+                    return new HRBarcodeReader();
+                default:
+                    throw new NotSupportedException($"涓嶆敮鎸佺殑璇荤爜鍣ㄥ搧鐗�: {brand}");
+            }
+        }
+    }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
new file mode 100644
index 0000000..c08d3ea
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
@@ -0,0 +1,255 @@
+namespace LB_VisionProcesses.BarcodeReaders
+{
+    partial class BarcodeReaderForm
+    {
+        private System.ComponentModel.IContainer components = null;
+
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        private void InitializeComponent()
+        {
+            this.themeForm = new ReaLTaiizor.Forms.ThemeForm();
+            this.pnlMain = new ReaLTaiizor.Controls.Panel();
+            this.controlBox1 = new ReaLTaiizor.Controls.ControlBox();
+            this.grpControl = new System.Windows.Forms.GroupBox();
+            this.btnRefresh = new System.Windows.Forms.Button();
+            this.btnSoftTrigger = new System.Windows.Forms.Button();
+            this.btnStop = new System.Windows.Forms.Button();
+            this.btnStart = new System.Windows.Forms.Button();
+            this.btnClose = new System.Windows.Forms.Button();
+            this.btnOpen = new System.Windows.Forms.Button();
+            this.cmbSN = new System.Windows.Forms.ComboBox();
+            this.lblSN = new System.Windows.Forms.Label();
+            this.cmbBrand = new System.Windows.Forms.ComboBox();
+            this.lblBrand = new System.Windows.Forms.Label();
+            this.grpParams = new System.Windows.Forms.GroupBox();
+            this.txtTimeout = new System.Windows.Forms.TextBox();
+            this.lblTimeout = new System.Windows.Forms.Label();
+            this.radHardTrigger = new System.Windows.Forms.RadioButton();
+            this.radSoftTrigger = new System.Windows.Forms.RadioButton();
+            this.grpResult = new System.Windows.Forms.GroupBox();
+            this.lstBarcodes = new System.Windows.Forms.ListBox();
+            this.pnlImage = new System.Windows.Forms.Panel();
+            this.picPreview = new System.Windows.Forms.PictureBox();
+            this.statusStrip = new System.Windows.Forms.StatusStrip();
+            this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel();
+
+            this.themeForm.SuspendLayout();
+            this.pnlMain.SuspendLayout();
+            this.grpControl.SuspendLayout();
+            this.grpParams.SuspendLayout();
+            this.grpResult.SuspendLayout();
+            this.pnlImage.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picPreview)).BeginInit();
+            this.statusStrip.SuspendLayout();
+            this.SuspendLayout();
+
+            // themeForm
+            this.themeForm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+            this.themeForm.Controls.Add(this.controlBox1);
+            this.themeForm.Controls.Add(this.pnlMain);
+            this.themeForm.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.themeForm.Font = new System.Drawing.Font("Segoe UI", 9F);
+            this.themeForm.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(142)))), ((int)(((byte)(142)))), ((int)(((byte)(142)))));
+            this.themeForm.Location = new System.Drawing.Point(0, 0);
+            this.themeForm.Name = "themeForm";
+            this.themeForm.Padding = new System.Windows.Forms.Padding(10, 70, 10, 9);
+            this.themeForm.Size = new System.Drawing.Size(820, 600);
+            this.themeForm.Text = "璇荤爜鍣ㄩ厤缃�";
+
+            // controlBox1
+            this.controlBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.controlBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+            this.controlBox1.Location = new System.Drawing.Point(740, 15);
+            this.controlBox1.Name = "controlBox1";
+            this.controlBox1.Size = new System.Drawing.Size(77, 19);
+
+            // pnlMain
+            this.pnlMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+            this.pnlMain.Controls.Add(this.pnlImage);
+            this.pnlMain.Controls.Add(this.grpResult);
+            this.pnlMain.Controls.Add(this.grpParams);
+            this.pnlMain.Controls.Add(this.grpControl);
+            this.pnlMain.Controls.Add(this.statusStrip);
+            this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.pnlMain.Location = new System.Drawing.Point(10, 70);
+            this.pnlMain.Name = "pnlMain";
+            this.pnlMain.Size = new System.Drawing.Size(800, 521);
+
+            // grpControl
+            this.grpControl.Controls.Add(this.btnRefresh);
+            this.grpControl.Controls.Add(this.btnSoftTrigger);
+            this.grpControl.Controls.Add(this.btnStop);
+            this.grpControl.Controls.Add(this.btnStart);
+            this.grpControl.Controls.Add(this.btnClose);
+            this.grpControl.Controls.Add(this.btnOpen);
+            this.grpControl.Controls.Add(this.cmbSN);
+            this.grpControl.Controls.Add(this.lblSN);
+            this.grpControl.Controls.Add(this.cmbBrand);
+            this.grpControl.Controls.Add(this.lblBrand);
+            this.grpControl.ForeColor = System.Drawing.Color.White;
+            this.grpControl.Location = new System.Drawing.Point(15, 15);
+            this.grpControl.Name = "grpControl";
+            this.grpControl.Size = new System.Drawing.Size(260, 240);
+            this.grpControl.Text = "璁惧鎺у埗";
+
+            this.lblBrand.Location = new System.Drawing.Point(10, 25);
+            this.lblBrand.Text = "鍝佺墝:";
+            this.cmbBrand.Location = new System.Drawing.Point(70, 22);
+            this.cmbBrand.Size = new System.Drawing.Size(170, 25);
+            this.cmbBrand.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+
+            this.lblSN.Location = new System.Drawing.Point(10, 60);
+            this.lblSN.Text = "搴忓垪鍙�:";
+            this.cmbSN.Location = new System.Drawing.Point(70, 57);
+            this.cmbSN.Size = new System.Drawing.Size(130, 25);
+
+            this.btnRefresh.Location = new System.Drawing.Point(205, 56);
+            this.btnRefresh.Size = new System.Drawing.Size(35, 25);
+            this.btnRefresh.Text = "R";
+            this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
+
+            this.btnOpen.Location = new System.Drawing.Point(13, 100);
+            this.btnOpen.Size = new System.Drawing.Size(110, 35);
+            this.btnOpen.Text = "鎵撳紑璁惧";
+            this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
+
+            this.btnClose.Location = new System.Drawing.Point(130, 100);
+            this.btnClose.Size = new System.Drawing.Size(110, 35);
+            this.btnClose.Text = "鍏抽棴璁惧";
+            this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+
+            this.btnStart.Location = new System.Drawing.Point(13, 145);
+            this.btnStart.Size = new System.Drawing.Size(110, 35);
+            this.btnStart.Text = "寮�濮嬮噰闆�";
+            this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
+
+            this.btnStop.Location = new System.Drawing.Point(130, 145);
+            this.btnStop.Size = new System.Drawing.Size(110, 35);
+            this.btnStop.Text = "鍋滄閲囬泦";
+            this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
+
+            this.btnSoftTrigger.Location = new System.Drawing.Point(13, 190);
+            this.btnSoftTrigger.Size = new System.Drawing.Size(227, 35);
+            this.btnSoftTrigger.Text = "杞Е鍙戜竴娆�";
+            this.btnSoftTrigger.Click += new System.EventHandler(this.btnSoftTrigger_Click);
+
+            // grpParams
+            this.grpParams.Controls.Add(this.txtTimeout);
+            this.grpParams.Controls.Add(this.lblTimeout);
+            this.grpParams.Controls.Add(this.radHardTrigger);
+            this.grpParams.Controls.Add(this.radSoftTrigger);
+            this.grpParams.ForeColor = System.Drawing.Color.White;
+            this.grpParams.Location = new System.Drawing.Point(15, 260);
+            this.grpParams.Name = "grpParams";
+            this.grpParams.Size = new System.Drawing.Size(260, 110);
+            this.grpParams.Text = "鍙傛暟璁剧疆";
+
+            this.radSoftTrigger.Location = new System.Drawing.Point(15, 25);
+            this.radSoftTrigger.Text = "杞Е鍙�";
+            this.radSoftTrigger.Checked = true;
+            this.radSoftTrigger.CheckedChanged += new System.EventHandler(this.radTrigger_CheckedChanged);
+
+            this.radHardTrigger.Location = new System.Drawing.Point(130, 25);
+            this.radHardTrigger.Text = "鑷姩/纭Е鍙�";
+
+            this.lblTimeout.Location = new System.Drawing.Point(15, 65);
+            this.lblTimeout.Text = "瓒呮椂(ms):";
+            this.txtTimeout.Location = new System.Drawing.Point(100, 62);
+            this.txtTimeout.Size = new System.Drawing.Size(140, 25);
+            this.txtTimeout.Text = "2000";
+
+            // grpResult
+            this.grpResult.Controls.Add(this.lstBarcodes);
+            this.grpResult.ForeColor = System.Drawing.Color.White;
+            this.grpResult.Location = new System.Drawing.Point(15, 380);
+            this.grpResult.Name = "grpResult";
+            this.grpResult.Size = new System.Drawing.Size(260, 115);
+            this.grpResult.Text = "璇诲彇缁撴灉";
+
+            this.lstBarcodes.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(60)))));
+            this.lstBarcodes.ForeColor = System.Drawing.Color.White;
+            this.lstBarcodes.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.lstBarcodes.Location = new System.Drawing.Point(3, 19);
+            this.lstBarcodes.Name = "lstBarcodes";
+            this.lstBarcodes.Size = new System.Drawing.Size(254, 93);
+
+            // pnlImage
+            this.pnlImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.pnlImage.Controls.Add(this.picPreview);
+            this.pnlImage.Location = new System.Drawing.Point(285, 23);
+            this.pnlImage.Name = "pnlImage";
+            this.pnlImage.Size = new System.Drawing.Size(500, 472);
+
+            this.picPreview.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.picPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+
+            // statusStrip
+            this.statusStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+            this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.lblStatus });
+            this.statusStrip.Location = new System.Drawing.Point(0, 499);
+            this.statusStrip.Size = new System.Drawing.Size(800, 22);
+
+            this.lblStatus.ForeColor = System.Drawing.Color.White;
+            this.lblStatus.Text = "鍑嗗灏辩华";
+
+            // BarcodeReaderForm
+            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(820, 600);
+            this.Controls.Add(this.themeForm);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
+            this.Name = "BarcodeReaderForm";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "璇荤爜鍣ㄩ厤缃�";
+            this.Load += new System.EventHandler(this.BarcodeReaderForm_Load);
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BarcodeReaderForm_FormClosing);
+            
+            this.themeForm.ResumeLayout(false);
+            this.pnlMain.ResumeLayout(false);
+            this.pnlMain.PerformLayout();
+            this.grpControl.ResumeLayout(false);
+            this.grpParams.ResumeLayout(false);
+            this.grpParams.PerformLayout();
+            this.grpResult.ResumeLayout(false);
+            this.pnlImage.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.picPreview)).EndInit();
+            this.statusStrip.ResumeLayout(false);
+            this.statusStrip.PerformLayout();
+            this.ResumeLayout(false);
+        }
+
+        private ReaLTaiizor.Forms.ThemeForm themeForm;
+        private ReaLTaiizor.Controls.Panel pnlMain;
+        private ReaLTaiizor.Controls.ControlBox controlBox1;
+        private System.Windows.Forms.GroupBox grpControl;
+        private System.Windows.Forms.Label lblBrand;
+        private System.Windows.Forms.ComboBox cmbBrand;
+        private System.Windows.Forms.Label lblSN;
+        private System.Windows.Forms.ComboBox cmbSN;
+        private System.Windows.Forms.Button btnRefresh;
+        private System.Windows.Forms.Button btnOpen;
+        private System.Windows.Forms.Button btnClose;
+        private System.Windows.Forms.Button btnStart;
+        private System.Windows.Forms.Button btnStop;
+        private System.Windows.Forms.Button btnSoftTrigger;
+        private System.Windows.Forms.GroupBox grpParams;
+        private System.Windows.Forms.RadioButton radHardTrigger;
+        private System.Windows.Forms.RadioButton radSoftTrigger;
+        private System.Windows.Forms.Label lblTimeout;
+        private System.Windows.Forms.TextBox txtTimeout;
+        private System.Windows.Forms.GroupBox grpResult;
+        private System.Windows.Forms.ListBox lstBarcodes;
+        private System.Windows.Forms.StatusStrip statusStrip;
+        private System.Windows.Forms.ToolStripStatusLabel lblStatus;
+        private System.Windows.Forms.Panel pnlImage;
+        private System.Windows.Forms.PictureBox picPreview;
+    }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
new file mode 100644
index 0000000..34a5867
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
@@ -0,0 +1,265 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+    /// <summary>
+    /// 璇荤爜鍣ㄩ厤缃笌娴嬭瘯绐椾綋
+    /// </summary>
+    public partial class BarcodeReaderForm : Form
+    {
+        private IBarcodeReader _reader;
+        private string _currentSN;
+        private LB_VisionProcesses.Processes.BarcodeReaderProcess _process;
+        private string _processPath;
+
+        public BarcodeReaderForm()
+        {
+            InitializeComponent();
+        }
+
+        public BarcodeReaderForm(LB_VisionProcesses.Processes.BarcodeReaderProcess process, string processPath)
+        {
+            InitializeComponent();
+            _process = process;
+            _processPath = processPath;
+
+            // 鍔犺浇娴佺▼鍙傛暟鍒� UI
+            if (_process.Params.Inputs.ContainsKey("璁惧鍝佺墝"))
+                cmbBrand.Text = _process.Params.Inputs["璁惧鍝佺墝"].ToString();
+            if (_process.Params.Inputs.ContainsKey("璁惧SN"))
+                cmbSN.Text = _process.Params.Inputs["璁惧SN"].ToString();
+            if (_process.Params.Inputs.ContainsKey("瑙﹀彂妯″紡"))
+                radSoftTrigger.Checked = _process.Params.Inputs["瑙﹀彂妯″紡"].ToString() == "杞Е鍙�";
+            if (_process.Params.Inputs.ContainsKey("瓒呮椂鏃堕棿"))
+                txtTimeout.Text = _process.Params.Inputs["瓒呮椂鏃堕棿"].ToString();
+        }
+
+        private void BarcodeReaderForm_Load(object sender, EventArgs e)
+        {
+            // 鍒濆鍖栧搧鐗屽垪琛�
+            cmbBrand.Items.Clear();
+            foreach (var brand in Enum.GetValues(typeof(BarcodeReaderBrand)))
+            {
+                if ((BarcodeReaderBrand)brand != BarcodeReaderBrand.Unsupported)
+                {
+                    cmbBrand.Items.Add(brand);
+                }
+            }
+
+            if (cmbBrand.Items.Count > 0)
+                cmbBrand.SelectedIndex = 0;
+
+            UpdateUIStatus();
+        }
+
+        private void btnRefresh_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (cmbBrand.SelectedItem == null) return;
+
+                var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+                using (var tempReader = BarcodeReaderFactory.CreateReader(brand))
+                {
+                    var devices = tempReader.GetDeviceList();
+                    cmbSN.Items.Clear();
+                    if (devices != null && devices.Count > 0)
+                    {
+                        cmbSN.Items.AddRange(devices.ToArray());
+                        cmbSN.SelectedIndex = 0;
+                    }
+                }
+                lblStatus.Text = $"璁惧鍒楄〃宸插埛鏂帮紝鎵惧埌 {cmbSN.Items.Count} 涓澶�";
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show($"鍒锋柊璁惧鍒楄〃澶辫触: {ex.Message}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+            }
+        }
+
+        private void btnOpen_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (cmbSN.SelectedItem == null && string.IsNullOrEmpty(cmbSN.Text))
+                {
+                    MessageBox.Show("璇烽�夋嫨鎴栬緭鍏ヨ澶囧簭鍒楀彿");
+                    return;
+                }
+
+                _currentSN = cmbSN.Text;
+                var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+
+                if (_reader != null)
+                {
+                    _reader.BarcodeRead -= Reader_BarcodeRead;
+                    _reader.Dispose();
+                }
+
+                _reader = BarcodeReaderFactory.CreateReader(brand);
+                _reader.BarcodeRead += Reader_BarcodeRead;
+
+                if (_reader.Open(_currentSN))
+                {
+                    lblStatus.Text = $"璁惧 {_currentSN} 宸叉墦寮�";
+                    UpdateUIStatus();
+                }
+                else
+                {
+                    MessageBox.Show("璁惧鎵撳紑澶辫触锛岃妫�鏌ヨ繛鎺ユ垨鍗犵敤鐘舵��");
+                }
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show($"鎵撳紑璁惧寮傚父: {ex.Message}");
+            }
+        }
+
+        private void btnClose_Click(object sender, EventArgs e)
+        {
+            if (_reader != null)
+            {
+                _reader.Close();
+                lblStatus.Text = "璁惧宸插叧闂�";
+                UpdateUIStatus();
+            }
+        }
+
+        private void btnStart_Click(object sender, EventArgs e)
+        {
+            if (_reader != null && _reader.IsConnected)
+            {
+                // 璁剧疆瑙﹀彂妯″紡锛堟牴鎹� UI 閫夋嫨锛�
+                _reader.SetTriggerMode(radSoftTrigger.Checked);
+                
+                if (_reader.StartGrabbing())
+                {
+                    lblStatus.Text = "閲囬泦宸插紑濮�";
+                    UpdateUIStatus();
+                }
+            }
+        }
+
+        private void btnStop_Click(object sender, EventArgs e)
+        {
+            if (_reader != null && _reader.IsGrabbing)
+            {
+                if (_reader.StopGrabbing())
+                {
+                    lblStatus.Text = "閲囬泦宸插仠姝�";
+                    UpdateUIStatus();
+                }
+            }
+        }
+
+        private void btnSoftTrigger_Click(object sender, EventArgs e)
+        {
+            if (_reader != null && _reader.IsGrabbing)
+            {
+                _reader.SoftTrigger();
+                lblStatus.Text = "宸叉墽琛岃蒋瑙﹀彂";
+            }
+            else
+            {
+                lblStatus.Text = "璇峰厛寮�濮嬮噰闆嗗啀鎵ц瑙﹀彂";
+            }
+        }
+
+        private void radTrigger_CheckedChanged(object sender, EventArgs e)
+        {
+            if (_reader != null && _reader.IsConnected)
+            {
+                _reader.SetTriggerMode(radSoftTrigger.Checked);
+                lblStatus.Text = radSoftTrigger.Checked ? "宸插垏鎹㈣嚦杞Е鍙戞ā寮�" : "宸插垏鎹㈣嚦纭Е鍙�/鑷姩妯″紡";
+            }
+        }
+
+        private void Reader_BarcodeRead(object sender, BarcodeEventArgs e)
+        {
+            // 寮傛鏇存柊 UI
+            if (this.InvokeRequired)
+            {
+                this.BeginInvoke(new Action<object, BarcodeEventArgs>(Reader_BarcodeRead), sender, e);
+                return;
+            }
+
+            try
+            {
+                // 鏇存柊缁撴灉鍒楄〃
+                lstBarcodes.Items.Clear();
+                if (e.Barcodes != null && e.Barcodes.Count > 0)
+                {
+                    foreach (var code in e.Barcodes)
+                    {
+                        lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - {code}");
+                    }
+                }
+                else
+                {
+                    lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - 鏈鍒版潯鐮�");
+                }
+
+                // 鏇存柊棰勮鍥惧儚
+                if (e.Image != null)
+                {
+                    // 閲婃斁鏃у浘鍍忥紝闃叉鍐呭瓨娉勬紡
+                    var oldImg = picPreview.Image;
+                    picPreview.Image = new Bitmap(e.Image); // 鎷疯礉涓�浠介槻姝㈣ SDK 鍐呴儴閲婃斁
+                    oldImg?.Dispose();
+                }
+            }
+            catch (Exception ex)
+            {
+                // 闈欓粯澶勭悊 UI 鏇存柊寮傚父
+                Console.WriteLine($"UI鏇存柊寮傚父: {ex.Message}");
+            }
+        }
+
+        private void UpdateUIStatus()
+        {
+            bool isConnected = _reader?.IsConnected ?? false;
+            bool isGrabbing = _reader?.IsGrabbing ?? false;
+
+            btnOpen.Enabled = !isConnected;
+            btnClose.Enabled = isConnected;
+            cmbBrand.Enabled = !isConnected;
+            cmbSN.Enabled = !isConnected;
+            btnRefresh.Enabled = !isConnected;
+
+            btnStart.Enabled = isConnected && !isGrabbing;
+            btnStop.Enabled = isGrabbing;
+            btnSoftTrigger.Enabled = isGrabbing && radSoftTrigger.Checked;
+            
+            grpParams.Enabled = isConnected;
+        }
+
+        private void BarcodeReaderForm_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            // 鍏抽棴鍓嶄繚瀛樺弬鏁板埌娴佺▼
+            if (_process != null)
+            {
+                _process.Params.Inputs["璁惧鍝佺墝"] = cmbBrand.Text;
+                _process.Params.Inputs["璁惧SN"] = cmbSN.Text;
+                _process.Params.Inputs["瑙﹀彂妯″紡"] = radSoftTrigger.Checked ? "杞Е鍙�" : "纭Е鍙�";
+                if (int.TryParse(txtTimeout.Text, out int timeout))
+                    _process.Params.Inputs["瓒呮椂鏃堕棿"] = timeout;
+
+                _process.Save(_processPath);
+            }
+
+            if (_reader != null)
+            {
+                if (_reader.IsGrabbing) _reader.StopGrabbing();
+                _reader.Close();
+                _reader.BarcodeRead -= Reader_BarcodeRead;
+                _reader.Dispose();
+                _reader = null;
+            }
+        }
+    }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
new file mode 100644
index 0000000..872c066
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
@@ -0,0 +1,216 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using EasyIDSDK_Net;
+
+namespace LB_VisionProcesses.BarcodeReaders.Huayray
+{
+    /// <summary>
+    /// 鍗庣澘璇荤爜鍣ㄥ疄鐜扮被
+    /// </summary>
+    public class HRBarcodeReader : BarcodeReaderBase
+    {
+        private EidCamera _camera;
+        private EidCamera.EidFrameCallback _frameCallback;
+        private GCHandle _callbackHandle;
+
+        public override BarcodeReaderBrand Brand => BarcodeReaderBrand.Huayray;
+
+        public HRBarcodeReader()
+        {
+            _camera = new EidCamera();
+            _frameCallback = OnFrameReceived;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍦ㄧ嚎鐨勫崕鐫胯鐮佸櫒鍒楄〃
+        /// </summary>
+        public override List<string> GetDeviceList()
+        {
+            List<string> snList = new List<string>();
+            try
+            {
+                EidCamera.EidDeviceList devList = new EidCamera.EidDeviceList();
+                int nRet = EidCamera.eidEnumDevices_Net(ref devList, 0);
+                if (nRet == EidCamera.eidErrorOK && devList.num > 0)
+                {
+                    for (int i = 0; i < devList.num; i++)
+                    {
+                        EidCamera.EidDeviceInfo deviceInfo = (EidCamera.EidDeviceInfo)Marshal.PtrToStructure(
+                            devList.infos + Marshal.SizeOf(typeof(EidCamera.EidDeviceInfo)) * i,
+                            typeof(EidCamera.EidDeviceInfo));
+                        snList.Add(deviceInfo.serialNumber);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // TODO: Log error
+            }
+            return snList;
+        }
+
+        public override bool Open(string sn)
+        {
+            if (IsConnected) Close();
+
+            try
+            {
+                // 鍒涘缓鍙ユ焺
+                int nRet = _camera.eidCreateDevice_Net(sn, EidCamera.EidDeviceDataType.eidDeviceDataTypeSN);
+                if (nRet != EidCamera.eidErrorOK) return false;
+
+                // 鎵撳紑璁惧
+                nRet = _camera.eidOpenDevice_Net();
+                if (nRet != EidCamera.eidErrorOK)
+                {
+                    _camera.eidReleaseHandle_Net();
+                    return false;
+                }
+
+                // 娉ㄥ唽鍥炶皟
+                nRet = _camera.eidRegisterFrameCallback_Net(_frameCallback, IntPtr.Zero);
+                if (nRet != EidCamera.eidErrorOK)
+                {
+                    _camera.eidCloseDevice_Net();
+                    _camera.eidReleaseHandle_Net();
+                    return false;
+                }
+
+                this.SN = sn;
+                this.IsConnected = true;
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+        }
+
+        public override bool Close()
+        {
+            if (!IsConnected) return true;
+
+            try
+            {
+                StopGrabbing();
+                _camera.eidCloseDevice_Net();
+                _camera.eidReleaseHandle_Net();
+                this.IsConnected = false;
+                this.SN = string.Empty;
+                return true;
+            }
+            catch
+            {
+                return false;
+            }
+        }
+
+        public override bool StartGrabbing()
+        {
+            if (!IsConnected) return false;
+            if (IsGrabbing) return true;
+
+            int nRet = _camera.eidStartGrabbing_Net(0);
+            if (nRet == EidCamera.eidErrorOK)
+            {
+                this.IsGrabbing = true;
+                return true;
+            }
+            return false;
+        }
+
+        public override bool StopGrabbing()
+        {
+            if (!IsGrabbing) return true;
+
+            int nRet = _camera.eidStopGrabbing_Net();
+            this.IsGrabbing = false;
+            return nRet == EidCamera.eidErrorOK;
+        }
+
+        public override bool SoftTrigger()
+        {
+            if (!IsConnected || !IsGrabbing) return false;
+            int nRet = _camera.eidExecCommandFeature_Net("TriggerSoftware");
+            return nRet == EidCamera.eidErrorOK;
+        }
+
+        public override bool SetTriggerMode(bool isSoftware)
+        {
+            if (!IsConnected) return false;
+
+            int nRet;
+            if (isSoftware)
+            {
+                // 杞Е鍙戞ā寮�
+                nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "SingleFrame");
+                if (nRet != EidCamera.eidErrorOK) return false;
+                nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerSource", "Software");
+            }
+            else
+            {
+                // 鑷敱杩愯鎴栫‖瑙﹀彂 (姝ゅ榛樿璁句负鑷敱杩愯锛屽彲鏍规嵁闇�瑕佹墿灞�)
+                nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "FreeRun");
+            }
+            return nRet == EidCamera.eidErrorOK;
+        }
+
+        /// <summary>
+        /// SDK甯у洖璋冨鐞�
+        /// </summary>
+        private void OnFrameReceived(ref EidCamera.EidFrameInfo frameInfo, IntPtr userData)
+        {
+            try
+            {
+                List<string> barcodes = new List<string>();
+                // 瑙f瀽鏉$爜
+                for (int i = 0; i < frameInfo.codeNum; i++)
+                {
+                    EidCamera.EidCodeInfo codeInfo = (EidCamera.EidCodeInfo)Marshal.PtrToStructure(
+                        frameInfo.codeList + Marshal.SizeOf(typeof(EidCamera.EidCodeInfo)) * i,
+                        typeof(EidCamera.EidCodeInfo));
+                    
+                    string data = Marshal.PtrToStringAnsi(codeInfo.data);
+                    if (!string.IsNullOrEmpty(data))
+                    {
+                        barcodes.Add(data);
+                    }
+                }
+
+                // 杞崲鍥惧儚 (濡傛灉闇�瑕�)
+                Bitmap bitmap = null;
+                if (frameInfo.imageDataLen > 0 && frameInfo.imageData != IntPtr.Zero)
+                {
+                    // 杩欓噷绠�鍖栧鐞嗭紝濡傛灉鏄疛peg鍒欑洿鎺ヤ粠鍐呭瓨鍔犺浇锛屽鏋滄槸Raw鍒欓渶杞崲
+                    // 瀹為檯椤圭洰涓彲鏍规嵁 frameInfo.format 杩涜澶勭悊
+                    if (frameInfo.isJpeg)
+                    {
+                        byte[] managedArray = new byte[frameInfo.imageDataLen];
+                        Marshal.Copy(frameInfo.imageData, managedArray, 0, (int)frameInfo.imageDataLen);
+                        using (var ms = new System.IO.MemoryStream(managedArray))
+                        {
+                            bitmap = new Bitmap(ms);
+                        }
+                    }
+                }
+
+                // 瑙﹀彂浜嬩欢
+                OnBarcodeRead(new BarcodeEventArgs(this.SN, barcodes, bitmap));
+            }
+            catch (Exception ex)
+            {
+                // TODO: Log error
+            }
+        }
+
+        public override void Dispose()
+        {
+            Close();
+            base.Dispose();
+        }
+    }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
new file mode 100644
index 0000000..e9875c6
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+    /// <summary>
+    /// 璇荤爜鍣ㄥ搧鐗屾灇涓�
+    /// </summary>
+    public enum BarcodeReaderBrand
+    {
+        Huayray,    // 鍗庣澘
+        Unsupported
+    }
+
+    /// <summary>
+    /// 璇荤爜缁撴灉鍙傛暟绫�
+    /// </summary>
+    public class BarcodeEventArgs : EventArgs
+    {
+        /// <summary>
+        /// 璁惧搴忓垪鍙�
+        /// </summary>
+        public string SN { get; set; }
+
+        /// <summary>
+        /// 璇荤爜缁撴灉鍐呭
+        /// </summary>
+        public List<string> Barcodes { get; set; } = new List<string>();
+
+        /// <summary>
+        /// 鍏宠仈鍥惧儚 (鍙��)
+        /// </summary>
+        public Bitmap Image { get; set; }
+
+        /// <summary>
+        /// 鏄惁璇诲彇鎴愬姛
+        /// </summary>
+        public bool IsSuccess => Barcodes.Count > 0;
+
+        public BarcodeEventArgs(string sn, List<string> barcodes, Bitmap image = null)
+        {
+            SN = sn;
+            Barcodes = barcodes;
+            Image = image;
+        }
+    }
+
+    /// <summary>
+    /// 璇荤爜鍣ㄦ娊璞℃帴鍙�
+    /// </summary>
+    public interface IBarcodeReader : IDisposable
+    {
+        /// <summary>
+        /// 璇荤爜缁撴灉鍥炶皟浜嬩欢
+        /// </summary>
+        event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+        /// <summary>
+        /// 鑾峰彇璁惧鍒楄〃鏋氫妇
+        /// </summary>
+        /// <returns>SN鍒楄〃</returns>
+        List<string> GetDeviceList();
+
+        /// <summary>
+        /// 鍒濆鍖栧苟鎵撳紑璇荤爜鍣�
+        /// </summary>
+        /// <param name="sn">搴忓垪鍙�</param>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool Open(string sn);
+
+        /// <summary>
+        /// 鍏抽棴璇荤爜鍣�
+        /// </summary>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool Close();
+
+        /// <summary>
+        /// 寮�濮嬮噰闆�/鐩戝惉
+        /// </summary>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool StartGrabbing();
+
+        /// <summary>
+        /// 鍋滄閲囬泦/鐩戝惉
+        /// </summary>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool StopGrabbing();
+
+        /// <summary>
+        /// 鎵ц杞Е鍙戜竴娆�
+        /// </summary>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool SoftTrigger();
+
+        /// <summary>
+        /// 璁剧疆瑙﹀彂妯″紡
+        /// </summary>
+        /// <param name="isSoftware">true涓鸿蒋瑙﹀彂, false涓虹‖瑙﹀彂鎴栬嚜鍔ㄧ洃鍚�</param>
+        /// <returns>鏄惁鎴愬姛</returns>
+        bool SetTriggerMode(bool isSoftware);
+
+        /// <summary>
+        /// 璁惧鏄惁鍦ㄧ嚎
+        /// </summary>
+        bool IsConnected { get; }
+
+        /// <summary>
+        /// 璁惧鏄惁姝e湪閲囬泦
+        /// </summary>
+        bool IsGrabbing { get; }
+
+        /// <summary>
+        /// 璁惧鍝佺墝
+        /// </summary>
+        BarcodeReaderBrand Brand { get; }
+    }
+}
diff --git a/LB_VisionProcesses/LB_VisionProcesses.csproj b/LB_VisionProcesses/LB_VisionProcesses.csproj
index 8db9084..0bd51c5 100644
--- a/LB_VisionProcesses/LB_VisionProcesses.csproj
+++ b/LB_VisionProcesses/LB_VisionProcesses.csproj
@@ -33,6 +33,9 @@
     <Reference Include="MVSDK_Net">
       <HintPath>ref\MVSDK_Net.dll</HintPath>
     </Reference>
+    <Reference Include="EasyIDSDK_Net">
+      <HintPath>ref\EasyIDSDK_Net.dll</HintPath>
+    </Reference>
   </ItemGroup>
 
   <ItemGroup>
@@ -57,39 +60,14 @@
   </ItemGroup>
 
   <ItemGroup>
-    <None Update="ref\CLIDelegate.dll">
+    <None Update="ref\*.dll">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="ref\halcondotnet.dll">
+    <None Update="ref\*.XML">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Update="ref\MVSDKmd.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\MVSDK_Net.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\MVSDK_Net.XML">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\PHM6000.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\PHM6000API.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\PHM6000API.lib">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\Pilot2D.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\PointCloud3D.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </None>
-    <None Update="ref\ThridLibray.dll">
+    <None Update="ref\*.lib">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
   </ItemGroup>
-
 </Project>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
new file mode 100644
index 0000000..2318b91
--- /dev/null
+++ b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
@@ -0,0 +1,150 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.Processes
+{
+    [Process("璇荤爜宸ュ叿", Category = "鍙栧儚宸ュ叿", Description = "閫氳繃璇荤爜鍣ㄨ幏鍙栨潯鐮佹暟鎹�")]
+    public class BarcodeReaderProcess : IProcess
+    {
+        /// <summary>
+        /// 璇荤爜鍣ㄥ疄渚嬮泦鍚� (鐢变富绋嬪簭绠$悊骞朵紶鍏�)
+        /// </summary>
+        [JsonIgnore]
+        public ConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; }
+
+        /// <summary>
+        /// 褰撳墠鍏宠仈鐨勮鐮佸櫒
+        /// </summary>
+        [JsonIgnore]
+        public BarcodeReaderBase Reader { get; set; }
+
+        public BarcodeReaderProcess()
+        {
+            strProcessName = "璇荤爜宸ュ叿";
+            strProcessClass = "LB_VisionProcesses.Processes.BarcodeReaderProcess";
+
+            Params.Inputs.Add("璁惧鍝佺墝", "Huayray");
+            Params.Inputs.Add("璁惧SN", "");
+            Params.Inputs.Add("瑙﹀彂妯″紡", "杞Е鍙�"); 
+            Params.Inputs.Add("瓒呮椂鏃堕棿", 2000);
+            
+            Params.Outputs.Add("鏉$爜缁撴灉", "");
+            Params.Outputs.Add("鐮佹暟閲�", 0);
+        }
+
+        public override void InitRunParams()
+        {
+            Result = true;
+            Msg = "鍑嗗杩愯";
+            bCompleted = false;
+        }
+
+        public override bool Run()
+        {
+            DateTime StartTime = DateTime.Now;
+            try
+            {
+                InitRunParams();
+
+                string sn = Params.Inputs["璁惧SN"]?.ToString();
+                if (string.IsNullOrEmpty(sn))
+                {
+                    Msg = "璁惧SN鏈厤缃�";
+                    Result = false;
+                    return false;
+                }
+
+                // 浠庡叏灞�鍙橀噺鎴栦紶鍏ュ瓧鍏歌幏鍙�
+                if (dicBarcodeReaders == null)
+                {
+                    // 灏濊瘯浠庡叏灞� dicGlobalVars 鑾峰彇 (鍋囪涓荤▼搴忓凡鏀惧叆)
+                    if (dicGlobalVars.ContainsKey("dicBarcodeReaders"))
+                    {
+                        dicBarcodeReaders = dicGlobalVars["dicBarcodeReaders"] as ConcurrentDictionary<string, BarcodeReaderBase>;
+                    }
+                }
+
+                if (dicBarcodeReaders != null && dicBarcodeReaders.ContainsKey(sn))
+                {
+                    Reader = dicBarcodeReaders[sn];
+                }
+
+                if (Reader == null)
+                {
+                    Msg = $"璇荤爜鍣╗{sn}]鏈垵濮嬪寲";
+                    Result = false;
+                    return false;
+                }
+
+                string triggerMode = Params.Inputs["瑙﹀彂妯″紡"]?.ToString();
+                if (triggerMode == "杞Е鍙�")
+                {
+                    bool success = Reader.SoftTrigger();
+                    Msg = success ? "瑙﹀彂鎴愬姛" : "瑙﹀彂澶辫触";
+                    Result = success;
+                }
+            }
+            catch (Exception ex)
+            {
+                Msg = "杩愯寮傚父: " + ex.Message;
+                Result = false;
+            }
+            finally
+            {
+                RunTime = (DateTime.Now - StartTime).TotalMilliseconds;
+                bCompleted = true;
+            }
+            return Result;
+        }
+
+        public override bool Load(string fullPath)
+        {
+            try
+            {
+                if (string.IsNullOrEmpty(fullPath) || !File.Exists(fullPath)) return false;
+                string json = File.ReadAllText(fullPath, Encoding.UTF8);
+                Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+                Params?.FixDeserializedData();
+                return true;
+            }
+            catch { return false; }
+        }
+
+        public override bool Save(string filePath)
+        {
+            try
+            {
+                if (string.IsNullOrEmpty(filePath)) return false;
+                if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+                string fullPath = Path.Combine(filePath, strProcessName + ".json");
+                string json = JsonConvert.SerializeObject(Params, Formatting.Indented);
+                File.WriteAllText(fullPath, json, Encoding.UTF8);
+                return true;
+            }
+            catch { return false; }
+        }
+
+        public override object Clone()
+        {
+            try
+            {
+                var obj = (BarcodeReaderProcess)MemberwiseClone();
+                string json = JsonConvert.SerializeObject(this.Params);
+                obj.Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+                return obj;
+            }
+            catch { return (BarcodeReaderProcess)MemberwiseClone(); }
+        }
+
+        public override void Dispose() { }
+    }
+}
diff --git a/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..111bc92
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..92bcbeb
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLSerCOM.dll b/LB_VisionProcesses/ref/CLSerCOM.dll
new file mode 100644
index 0000000..da3c16a
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLSerCOM.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyID.dll b/LB_VisionProcesses/ref/EasyID.dll
new file mode 100644
index 0000000..1d4f1b3
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyID.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.XML b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
new file mode 100644
index 0000000..38d7685
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
@@ -0,0 +1,1812 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>EasyIDSDK_Net</name>
+    </assembly>
+    <members>
+        <member name="T:EasyIDSDK_Net.EidCamera">
+            <summary>
+            <para><ch>EidCamera</ch></para>
+            <para><en>EidCamera</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOK">
+            <summary>
+            <para><ch>鎴愬姛</ch></para>
+            <para><en>OK</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorUnknown">
+            <summary>
+            <para><ch>鏈煡閿欒</ch></para>
+            <para><en>Unknown error</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInternalError">
+            <summary>
+            <para><ch>鍐呴儴閿欒</ch></para>
+            <para><en>Internal error</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidParameter">
+            <summary>
+            <para><ch>鏃犳晥鍙傛暟</ch></para>
+            <para><en>Invalid parameter</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotConnected">
+            <summary>
+            <para><ch>鐩告満鏈繛鎺�</ch></para>
+            <para><en>Camera not connected</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotFound">
+            <summary>
+            <para><ch>鏈壘鍒�</ch></para>
+            <para><en>Not found</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorTimeout">
+            <summary>
+            <para><ch>瓒呮椂</ch></para>
+            <para><en>Timeout</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotImplemented">
+            <summary>
+            <para><ch>鏈疄鐜�</ch></para>
+            <para><en>Not implemented</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorRepeatOperation">
+            <summary>
+            <para><ch>閲嶅鎿嶄綔</ch></para>
+            <para><en>Repeat operation</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNullPtr">
+            <summary>
+            <para><ch>绌烘寚閽�</ch></para>
+            <para><en>Null pointer</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorReadDataFail">
+            <summary>
+            <para><ch>璇诲彇鏁版嵁澶辫触</ch></para>
+            <para><en>Failed to read data</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteDataFail">
+            <summary>
+            <para><ch>鍐欏叆鏁版嵁澶辫触</ch></para>
+            <para><en>Failed to write data</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDataCheckFail">
+            <summary>
+            <para><ch>鏁版嵁鏍¢獙澶辫触</ch></para>
+            <para><en>Data verification failed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageSizeError">
+            <summary>
+            <para><ch>鍥惧儚澶у皬閿欒</ch></para>
+            <para><en>Wrong image size</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageTypeError">
+            <summary>
+            <para><ch>鍥惧儚绫诲瀷閿欒</ch></para>
+            <para><en>Wrong image type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageDataTypeError">
+            <summary>
+            <para><ch>鍥惧儚鏁版嵁绫诲瀷閿欒</ch></para>
+            <para><en>Wrong image data type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorSerializeFail">
+            <summary>
+            <para><ch>搴忓垪鍖栧け璐�</ch></para>
+            <para><en>Serialization failed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDeserializeFail">
+            <summary>
+            <para><ch>鍙嶅簭鍒楀寲澶辫触</ch></para>
+            <para><en>Deserialization failed</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOpenFileFail">
+            <summary>
+            <para><ch>鎵撳紑鏂囦欢澶辫触</ch></para>
+            <para><en>Failed to open file</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteFileFail">
+            <summary>
+            <para><ch>鏂囦欢鍐欏叆澶辫触</ch></para>
+            <para><en>File writing failed</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidHandle">
+            <summary>
+            <para><ch>鏃犳晥鍙ユ焺</ch></para>
+            <para><en>Invalid handle</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInsufficientBuffer">
+            <summary>
+            <para><ch>缂撳啿鍖鸿繃灏�</ch></para>
+            <para><en>Insufficient buffers</en></para> 
+            </summary>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.#ctor">
+            <summary>
+            <para><ch>鏋勯�犲嚱鏁�</ch></para>
+            <para><en>Constructor</en></para>
+            </summary>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetVersion_Net">
+            <summary>
+            <para><ch>鑾峰彇鐗堟湰淇℃伅</ch></para>
+            <para><en>Get version information</en></para>
+            </summary>
+            <returns><para><ch>鐗堟湰淇℃伅</ch></para><para><en>Version infomation</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidEnumDevices_Net(EasyIDSDK_Net.EidCamera.EidDeviceList@,System.UInt32)">
+            <summary>
+            <para><ch>鏍规嵁鎺ュ彛绫诲瀷鏋氫妇鐩告満, 鍚屾椂杈撳嚭鎵�鏈夌浉鏈轰俊鎭埌 deviceList</ch></para>
+            <para><en>Enumerate devices according to the interface type, and outputting all devices information to the deviceList</en></para>
+            </summary>
+            <param name="deviceList"><para><ch>[out] 璁惧淇℃伅鍒楄〃</ch></para><para><en>[out] Device information list</en></para></param>
+            <param name="type"><para><ch>[in] 鎺ュ彛绫诲瀷, 鍙互鏄涓帴鍙g被鍨嬬殑缁勫悎. 鑻ヤ紶鍏ュ�间负0琛ㄧず鎵�鏈夌被鍨�, 涓� eidInterfaceTypeAll 鍚箟鐩稿悓, 鍏朵綑鍙栧�煎弬鑰� #EidInterfaceType</ch></para>
+            <para><en>[in] Interface type, which can be a combination of multiple interface types.If the value of the parameter is 0, it means all types, which is the same as eidInterfaceTypeAll. other value see #EidInterfaceType</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidCreateDevice_Net(System.String,EasyIDSDK_Net.EidCamera.EidDeviceDataType)">
+            <summary>
+            <para><ch>鏍规嵁璁惧鏁版嵁淇℃伅鍒涘缓鐩稿簲鐨勮澶囧璞�, 濡傚彲浠ラ�氳繃璁惧搴忓垪鍙峰垱寤恒��</ch></para>
+            <para><en>Create a device handle according to the device data, for example, you can create a device object through the serial number.
+            This interface will not enumerate devices and needs to be called after #eidEnumDevices.</en></para>
+            </summary>
+            <param name="data"><para><ch>[in] 璁惧鏁版嵁, 鏁版嵁鍐呭鐨勫惈涔夌敱 type 鍙傛暟鍐冲畾</ch></para><para><en>[in] Device data, the meaning of the data content is determined by the type parameter</en></para></param>
+            <param name="type"><para><ch>[in] 鏁版嵁绫诲瀷, 榛樿鍊兼槸璁惧搴忓垪鍙�</ch></para><para><en>[in] Data type</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+            <remarks><para><ch>娉ㄦ剰闇�瑕佽皟鐢� #eidReleaseHandle_Net 閲婃斁璧勬簮銆�</ch></para><para><en>Note that need to call #eidReleaseHandle_Net to release resources.</en></para></remarks>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseHandle_Net">
+            <summary>
+            <para><ch>閲婃斁鐩告満鍙ユ焺璧勬簮</ch></para>
+            <para><en>Release device handle resources</en></para>
+            </summary>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetDeviceInfo_Net(EasyIDSDK_Net.EidCamera.EidDeviceInfo@)">
+            <summary>
+            <para><ch>鑾峰彇璁惧淇℃伅</ch></para>
+            <para><en>Get device infomation</en></para>
+            </summary>
+            <param name="info"><para><ch>[out] 璁惧淇℃伅</ch></para><para><en>[out] Pointer to a EidDeviceInfo structure to receive the device information</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidOpenDevice_Net">
+            <summary>
+            <para><ch>鎵撳紑璁惧</ch></para>
+            <para><en>Open a device</en></para>
+            </summary>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidCloseDevice_Net">
+            <summary>
+            <para><ch>鍏抽棴璁惧</ch></para>
+            <para><en>Close a device</en></para>
+            </summary>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsDeviceOpen_Net">
+            <summary>
+            <para><ch>璁惧鏄惁宸茬粡鎵撳紑</ch></para>
+            <para><en>Gets a value indicating whether the media source is currently open. .</en></para> 
+            </summary>
+            <returns><para><ch>濡傛灉璁惧澶勪簬鎵撳紑鐘舵�侊紝杩斿洖 true锛屽惁鍒欙紝false</ch></para><para><en>True if the device is open; otherwise, false</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidForceIpAddress_Net(System.String,System.String,System.String)">
+            <summary>
+            <para><ch>淇敼鐩告満IP. 璇ユ帴鍙e彧閽堝閫氳繃缃戝崱鎺ュ叆鐨勮澶囷紝瀵逛簬鍏朵綑璁惧锛岃皟鐢ㄦ鎺ュ彛鏃犳剰涔�</ch></para>
+            <para><en>Modify the device IP. This interface is only for devices connected through a network card.
+            For other devices, it is meaningless to call this interface.</en></para> 
+            </summary>
+            <param name="ipAddr"><para><ch>[in] 璁惧IP鍦板潃</ch></para><para><en>[in] New IP address</en></para></param>
+            <param name="subnetMask"><para><ch>[in] 瀛愮綉鎺╃爜</ch></para><para><en>[in] New subnet mask</en></para></param>
+            <param name="gateway"><para><ch>[in] 榛樿缃戝叧</ch></para><para><en>[in] New default gateway</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidDownloadGenICamXML_Net(System.String)">
+            <summary>
+            <para><ch>涓嬭浇璁惧鎻忚堪XML鏂囦欢锛屽苟淇濆瓨鍒版寚瀹氳矾寰�</ch></para>
+            <para><en>Download device description XML file, and save the file to specified path</en></para>
+            </summary>
+            <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSaveDeviceConfig_Net(System.String)">
+            <summary>
+            <para><ch>淇濆瓨璁惧閰嶇疆鍒版寚瀹氱殑璺緞</ch></para>
+            <para><en>Save the configuration of the device to specified path</en></para>
+            </summary>
+            <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidLoadDeviceConfig_Net(System.String,EasyIDSDK_Net.EidCamera.EidErrorList@)">
+            <summary>
+            <para><ch>浠庢枃浠跺姞杞借澶囬厤缃�</ch></para>
+            <para><en>Load the device configuration from a file</en></para> 
+            </summary>
+            <param name="path"><para><ch>[in] 閰嶇疆鏂囦欢璺緞</ch></para><para><en>[in] Configuration file path</en></para></param>
+            <param name="errorList"><para><ch>[out] 閿欒鍒楄〃鎸囬拡, 鍐欏叆澶辫触鐨勮澶囧睘鎬у悕绉板皢閫氳繃璇ュ弬鏁拌繑鍥�</ch></para><para><en>[out] Pointor to error list. The device feature names that failed to write will be returned with this parameter</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetFeatureType_Net(System.String)">
+            <summary>
+            <para><ch>鑾峰彇璁惧灞炴�х被鍨�</ch></para>
+            <para><en>Get device feature type</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>璁惧灞炴�х被鍨�, 瑙� #EidFeatureType</ch></para><para><en>Device feature type, see enum #EidFeatureType</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureValid_Net(System.String)">
+            <summary>
+            <para><ch>璁惧灞炴�ф槸鍚︽湁鏁�</ch></para>
+            <para><en>Is the device feature valid</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureAvailable_Net(System.String)">
+            <summary>
+            <para><ch>璁惧灞炴�ф槸鍚﹀彲鐢�</ch></para>
+            <para><en>Is the device feature available</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>true 鍙敤,false 涓嶅彲鐢�</ch></para><para><en>true Available,false Not available</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureReadable_Net(System.String)">
+            <summary>
+            <para><ch>璁惧灞炴�ф槸鍚﹀彲璇�</ch></para>
+            <para><en>Is the device feature readable</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>true 鍙,false 涓嶅彲璇�</ch></para><para><en>true Readable,false Not readable</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureWriteable_Net(System.String)">
+            <summary>
+            <para><ch>璁惧灞炴�ф槸鍚﹀彲鍐�</ch></para>
+            <para><en>Is the device feature writeable</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>true 鍙啓,false 涓嶅彲鍐�</ch></para><para><en>true Writeable,false Not writeable</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureValue_Net(System.String,System.Int64@)">
+            <summary>
+            <para><ch>鑾峰彇鏁村瀷灞炴�у��</ch></para>
+            <para><en>Get integer feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetIntFeatureValue_Net(System.String,System.Int64)">
+            <summary>
+            <para><ch>璁剧疆鏁村瀷灞炴�у��</ch></para>
+            <para><en>Set integer feature value</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidIntFeatureInfo@)">
+            <summary>
+            <para><ch>鑾峰彇鏁村瀷灞炴�т俊鎭�</ch></para>
+            <para><en>Gets integer feature information</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureValue_Net(System.String,System.Double@)">
+            <summary>
+            <para><ch>鑾峰彇娴偣鍨嬪睘鎬у��</ch></para>
+            <para><en>Get float feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetFloatFeatureValue_Net(System.String,System.Double)">
+            <summary>
+            <para><ch>璁剧疆娴偣鍨嬪睘鎬у��</ch></para>
+            <para><en>Set float feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo@)">
+            <summary>
+            <para><ch>鑾峰彇娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+            <para><en>Gets float feature information</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetBoolFeatureValue_Net(System.String,System.Boolean@)">
+            <summary>
+            <para><ch>鑾峰彇甯冨皵鍨嬪睘鎬у��</ch></para>
+            <para><en>Get bool feature value</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetBoolFeatureValue_Net(System.String,System.Boolean)">
+            <summary>
+            <para><ch>璁剧疆甯冨皵鍨嬪睘鎬у��</ch></para>
+            <para><en>Set bool feature value</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureValue_Net(System.String,System.Byte@,System.UInt32@)">
+            <summary>
+            <para><ch>鑾峰彇瀛楃涓插瀷灞炴�у��</ch></para>
+            <para><en>Get string feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖�, 鐢ㄦ埛鍒嗛厤鍐呭瓨绌洪棿</ch></para><para><en>[out] Pointer to string feature value buffer that is allocated memory space by the user</en></para></param>
+            <param name="size"><para><ch>[in,out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖洪暱搴�.</ch></para><para><en>[in,out] The length of the string buffer.</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+            <remarks><para><ch>褰撳嚱鏁拌繑鍥炴椂, 濡傛灉缂撳啿鍖鸿冻澶熷ぇ, 鎵�鏈夌殑鏁版嵁閮戒細鎷疯礉鍒� value 缂撳啿鍖�, 骞朵笖姝ゅ弬鏁扮殑鍊兼槸瀹為檯瀛楃涓茬殑闀垮害(涓嶅寘鍚玭ull缁撴潫绗�);
+            濡傛灉缂撳啿鍖轰笉澶熷ぇ, 缂撳啿鍖虹殑鏁版嵁鏄埅鏂悗鐨勫瓧绗︿覆鍐呭, 骞朵笖姝ゅ弬鏁板寘鍚瓧绗︿覆鐨勫疄闄呴暱搴�(涓嶅寘鍚玭ull缁撴潫绗�)</ch></para><para><en>When the function returns, if the buffer is large enough,
+            all data is copied to the value buffer, and the value of this parameter is the length of the actual string (without the null terminator);
+            If the buffer is not large enough, the buffer's data is the truncated string content,
+            and this parameter contains the actual length of the string (without the null terminator)</en></para></remarks>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetStringFeatureValue_Net(System.String,System.Byte@)">
+            <summary>
+            <para><ch>璁剧疆瀛楃涓插瀷灞炴�у��</ch></para>
+            <para><en>Set string feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidStringFeatureInfo@)">
+            <summary>
+            <para><ch>鑾峰彇瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+            <para><en>Gets string feature information</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureValue_Net(System.String,System.UInt64@)">
+            <summary>
+            <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬у��</ch></para>
+            <para><en>Get enum feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureValue_Net(System.String,System.UInt64)">
+            <summary>
+            <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬у��</ch></para>
+            <para><en>Set enum feature value</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureSymbol_Net(System.String,System.Byte@,System.UInt32)">
+            <summary>
+            <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+            <para><en>Get enum feature symbol</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[out] 灞炴�х鍙�</ch></para><para><en>[out] Pointer to enum feature symbol buffer</en></para></param>
+            <param name="size"><para><ch>[in] 灞炴�х鍙风紦鍐查暱搴�</ch></para><para><en>[in] The length of symbol buffer</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureSymbol_Net(System.String,System.String)">
+            <summary>
+            <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+            <para><en>Set enum feature symbol</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="value"><para><ch>[in] 灞炴�х鍙�</ch></para><para><en>[in] Feature symbol</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureEntryList_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList@)">
+            <summary>
+            <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬ф潯鐩垪琛�</ch></para>
+            <para><en>Get enum feature entry list</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="entryList"><para><ch>[out] 鏋氫妇鏉$洰鍒楄〃</ch></para><para><en>[out] Pointer to a EidEnumFeatureEntryList structure to receive the enum entry list</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidExecCommandFeature_Net(System.String)">
+            <summary>
+            <para><ch>鎵ц鍛戒护琛屽睘鎬�</ch></para>
+            <para><en>Execute command feature</en></para> 
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidEnumFeatureChildren_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback,System.IntPtr)">
+            <summary>
+            <para><ch>鏋氫妇瀛愬睘鎬�</ch></para>
+            <para><en>Enum Feature Children</en></para>
+            </summary>
+            <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+            <param name="fn"><para><ch>[in] 鍥炶皟鍑芥暟, 姣忎釜瀛愬睘鎬ч兘灏嗕細瑙﹀彂涓�娆¤鍑芥暟鐨勮皟鐢�</ch></para><para><en>[in] callback function, each child feature will invoke this method</en></para></param>
+            <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] user data for callback function</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidStartGrabbing_Net(System.Int32)">
+            <summary>
+            <para><ch>寮�濮嬪彇娴�</ch></para>
+            <para><en>Start grabbing, then you can get the camera frame through #eidGetFrame</en></para> 
+            </summary>
+            <param name="bufferCount"><para><ch>[in] 甯х紦瀛樻暟閲�, 0琛ㄧず浣跨敤榛樿缂撳瓨鏁�, >0浣跨敤璁剧疆鐨勭紦瀛樻暟</ch></para><para><en>[in] The number of frame buffers, 0 means to use the default number of buffers, >0 to use the set number of buffers</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidStopGrabbing_Net">
+            <summary>
+            <para><ch>鍋滄鍙栨祦</ch></para>
+            <para><en>Stop grabbing</en></para> 
+            </summary>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsGrabbing_Net">
+            <summary>
+            <para><ch>鏄惁姝e湪鍙栨祦</ch></para>
+            <para><en>Check whether it is grabbing or not</en></para>
+            </summary>
+            <returns><para><ch>濡傛灉姝e湪鍙栨祦, 杩斿洖true; 鍚﹀垯杩斿洖false</ch></para><para><en>Returns true if it is grabbing; otherwise returns false</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidClearFrameBuffer_Net">
+            <summary>
+            <para><ch>娓呴櫎甯ф暟鎹紦瀛�</ch></para>
+            <para><en>clear frame buffer cache</en></para> 
+            </summary>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrame_Net(System.UInt32)">
+            <summary>
+            <para><ch>鑾峰彇涓�甯у浘鍍�, 鑻ョ浉鏈哄紑鍚簡璇荤爜鍔熻兘, 甯ф暟鎹腑鍚屾椂鎼哄甫鏉$爜淇℃伅.</ch></para>
+            <para><en>Get a frame. If the code reading function is enabled, the frame data also carries the barcode information.</en></para>
+            </summary>
+            <param name="timeout"><para><ch>[in] 瓒呮椂鏃堕棿, 鍗曚綅: 姣. 褰撳�间负-1鏃惰〃绀烘棤闄愮瓑寰�</ch></para><para><en>[in] Timeout, in ms, when the value is -1, it means infinite wait</en></para></param>
+            <returns><para><ch>甯ф暟鎹彞鏌�, 澶辫触杩斿洖 nullptr</ch></para><para><en>Frame handle, failure returns nullptr</en></para></returns>
+            <remarks><para><ch>璇ユ帴鍙e皢瀵艰嚧绾跨▼闃诲, 鐩村埌鏀跺埌鍥惧儚鎴栬�呭埌杈捐秴鏃舵椂闂�. 杩斿洖鐨勫彞鏌勯渶瑕侀�氳繃 #eidReleaseFrame_Net 杩涜閲婃斁</ch></para><para><en>This method will block the thread until the timeout is reached.
+             The returned handle needs to be released through #eidReleaseFrame_Net</en></para></remarks>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseFrame_Net(System.IntPtr@)">
+            <summary>
+            <para><ch>閲婃斁涓�甯у浘鍍�</ch></para>
+            <para><en>Release a frame</en></para>
+            </summary>
+            <param name="frame"><para><ch>甯ф暟鎹彞鏌�</ch></para><para><en>Frame handle</en></para></param>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidIsFrameValid_Net(System.IntPtr)">
+            <summary>
+            <para><ch>甯у彞鏌勬槸鍚︽湁鏁�</ch></para>
+            <para><en>Is the frame handle valid</en></para>
+            </summary>
+            <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+            <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrameInfo_Net(System.IntPtr,EasyIDSDK_Net.EidCamera.EidFrameInfo@)">
+            <summary>
+            <para><ch>鑾峰彇甯т俊鎭�. 甯т俊鎭噷鍚屾椂鍖呭惈鍥惧儚鏁版嵁鍜屾潯鐮佹暟鎹�</ch></para>
+            <para><en>Get frame information. The frame information contains both image data and barcode data</en></para>
+            </summary>
+            <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+            <param name="info"><para><ch>[out] 甯т俊鎭�</ch></para><para><en>[out] Frame information</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFrameCallback_Net(EasyIDSDK_Net.EidCamera.EidFrameCallback,System.IntPtr)">
+            <summary>
+            <para><ch>娉ㄥ唽甯ф暟鎹洖璋�</ch></para>
+            <para><en>Register frame data callback</en></para> 
+            </summary>
+            <param name="cb"><para><ch>[in] 甯ф暟鎹洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to frame data callback function</en></para></param>
+            <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterConnectionCallback_Net(EasyIDSDK_Net.EidCamera.EidConnectionCallback,System.IntPtr)">
+            <summary>
+            <para><ch>娉ㄥ唽璁惧杩炴帴淇℃伅鍥炶皟</ch></para>
+            <para><en>Register device connection information callback</en></para> 
+            </summary>
+            <param name="cb"><para><ch>[in] 杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para><para><en>[in] A pointer to device connection information callback function</en></para></param>
+            <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFeatureUpdateCallback_Net(EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback,System.IntPtr)">
+            <summary>
+            <para><ch>娉ㄥ唽璁惧灞炴�ф洿鏂板洖璋�</ch></para>
+            <para><en>Register device feature update callback</en></para>
+            </summary>
+            <param name="cb"><para><ch>[in] 灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to device feature update callback function</en></para></param>
+            <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+            <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureType">
+            <summary>
+            <para><ch>灞炴�х被鍨�</ch></para>
+            <para><en>Feature type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeUnknown">
+            <summary>
+            <para><ch>鏈畾涔�</ch></para>
+            <para><en>Undefined</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeInt">
+            <summary>
+            <para><ch>鏁村瀷鏁�</ch></para>
+            <para><en>Integer</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeFloat">
+            <summary>
+            <para><ch>娴偣鏁�</ch></para>
+            <para><en>Float</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeEnum">
+            <summary>
+            <para><ch>鏋氫妇</ch></para>
+            <para><en>Enumeration</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeBool">
+            <summary>
+            <para><ch>甯冨皵</ch></para>
+            <para><en>Bool</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeString">
+            <summary>
+            <para><ch>瀛楃涓�</ch></para>
+            <para><en>String</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeCommand">
+            <summary>
+            <para><ch>鍛戒护</ch></para>
+            <para><en>Command</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeGroup">
+            <summary>
+            <para><ch>鍒嗙粍</ch></para>
+            <para><en>Group</en></para> 
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidInterfaceType">
+            <summary>
+            <para><ch>鎺ュ彛绫诲瀷</ch></para>
+            <para><en>Interface type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUnknown">
+            <summary>
+            <para><ch>鏈煡鎺ュ彛绫诲瀷</ch></para>
+            <para><en>Unknown interface type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeGige">
+            <summary>
+            <para><ch>缃戝崱鎺ュ彛绫诲瀷</ch></para>
+            <para><en>NIC type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUsb">
+            <summary>
+            <para><ch>USB鎺ュ彛绫诲瀷</ch></para>
+            <para><en>USB interface type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeAll">
+            <summary>
+            <para><ch>鎵�鏈夋帴鍙g被鍨�</ch></para>
+            <para><en>All interface type</en></para> 
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceType">
+            <summary>
+            <para><ch>璁惧绫诲瀷</ch></para>
+            <para><en>Device type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUnknown">
+            <summary>
+            <para><ch>鏈煡绫诲瀷</ch></para>
+            <para><en>Unknown type</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeGige">
+            <summary>
+            <para><ch>GIGE鐩告満</ch></para>
+            <para><en>GigE Camera</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUSB">
+            <summary>
+            <para><ch>USB鐩告満</ch></para>
+            <para><en>USB Camera</en></para> 
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceDataType">
+            <summary>
+            <para><ch>璁惧鏁版嵁绫诲瀷, 鐢ㄤ簬 #eidCreateDevice 鍑芥暟</ch></para>
+            <para><en>Device data type, used in the #eidCreateDevice function</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeID">
+            <summary>
+            <para><ch>璁惧ID</ch></para>
+            <para><en>Device ID</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeSN">
+            <summary>
+            <para><ch>搴忓垪鍙�</ch></para>
+            <para><en>Serial number</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeIP">
+            <summary>
+            <para><ch>IP鍦板潃</ch></para>
+            <para><en>IP address</en></para> 
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeMAC">
+            <summary>
+            <para><ch>MAC鍦板潃</ch></para>
+            <para><en>MAC address</en></para> 
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidPixelFormat">
+            <summary>
+            <para><ch>鍥惧儚鍍忕礌鏍煎紡</ch></para>
+            <para><en>Image pixel format</en></para>  
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelUnknwon">
+            <summary>
+            <para><ch>鏈煡</ch></para>
+            <para><en>Unknown</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono1p">
+            <summary>
+            <para><ch>Mono1p</ch></para>
+            <para><en>Mono1p</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono2p">
+            <summary>
+            <para><ch>Mono2p</ch></para>
+            <para><en>Mono2p</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono4p">
+            <summary>
+            <para><ch>Mono4p</ch></para>
+            <para><en>Mono4p</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8">
+            <summary>
+            <para><ch>Mono8</ch></para>
+            <para><en>Mono8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8S">
+            <summary>
+            <para><ch>Mono8S</ch></para>
+            <para><en>Mono8S</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10">
+            <summary>
+            <para><ch>Mono10</ch></para>
+            <para><en>Mono10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10Packed">
+            <summary>
+            <para><ch>Mono10Packed</ch></para>
+            <para><en>Mono10Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12">
+            <summary>
+            <para><ch>Mono12</ch></para>
+            <para><en>Mono12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12Packed">
+            <summary>
+            <para><ch>Mono12Packed</ch></para>
+            <para><en>Mono12Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono14">
+            <summary>
+            <para><ch>Mono14</ch></para>
+            <para><en>Mono14</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono16">
+            <summary>
+            <para><ch>Mono16</ch></para>
+            <para><en>Mono16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR8">
+            <summary>
+            <para><ch>BayGR8</ch></para>
+            <para><en>BayGR8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG8">
+            <summary>
+            <para><ch>BayRG8</ch></para>
+            <para><en>BayRG8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB8">
+            <summary>
+            <para><ch>BayGB8</ch></para>
+            <para><en>BayGB8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG8">
+            <summary>
+            <para><ch>BayBG8</ch></para>
+            <para><en>BayBG8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10">
+            <summary>
+            <para><ch>BayGR10</ch></para>
+            <para><en>BayGR10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10">
+            <summary>
+            <para><ch>BayRG10</ch></para>
+            <para><en>BayRG10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10">
+            <summary>
+            <para><ch>BayGB10</ch></para>
+            <para><en>BayGB10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10">
+            <summary>
+            <para><ch>BayBG10</ch></para>
+            <para><en>BayBG10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12">
+            <summary>
+            <para><ch>BayGR12</ch></para>
+            <para><en>BayGR12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12">
+            <summary>
+            <para><ch>BayRG12</ch></para>
+            <para><en>BayRG12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12">
+            <summary>
+            <para><ch>BayGB12</ch></para>
+            <para><en>BayGB12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12">
+            <summary>
+            <para><ch>BayBG12</ch></para>
+            <para><en>BayBG12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10Packed">
+            <summary>
+            <para><ch>BayGR10Packed</ch></para>
+            <para><en>BayGR10Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10Packed">
+            <summary>
+            <para><ch>BayRG10Packed</ch></para>
+            <para><en>BayRG10Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10Packed">
+            <summary>
+            <para><ch>BayGB10Packed</ch></para>
+            <para><en>BayGB10Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10Packed">
+            <summary>
+            <para><ch>BayBG10Packed</ch></para>
+            <para><en>BayBG10Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12Packed">
+            <summary>
+            <para><ch>BayGR12Packed</ch></para>
+            <para><en>BayGR12Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12Packed">
+            <summary>
+            <para><ch>BayRG12Packed</ch></para>
+            <para><en>BayRG12Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12Packed">
+            <summary>
+            <para><ch>BayGB12Packed</ch></para>
+            <para><en>BayGB12Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12Packed">
+            <summary>
+            <para><ch>BayBG12Packed</ch></para>
+            <para><en>BayBG12Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR16">
+            <summary>
+            <para><ch>BayGR16</ch></para>
+            <para><en>BayGR16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG16">
+            <summary>
+            <para><ch>BayRG16</ch></para>
+            <para><en>BayRG16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB16">
+            <summary>
+            <para><ch>BayGB16</ch></para>
+            <para><en>BayGB16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG16">
+            <summary>
+            <para><ch>BayBG16</ch></para>
+            <para><en>BayBG16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8">
+            <summary>
+            <para><ch>RGB8</ch></para>
+            <para><en>RGB8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR8">
+            <summary>
+            <para><ch>BGR8</ch></para>
+            <para><en>BGR8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGBA8">
+            <summary>
+            <para><ch>RGBA8</ch></para>
+            <para><en>RGBA8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGRA8">
+            <summary>
+            <para><ch>BGRA8</ch></para>
+            <para><en>BGRA8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10">
+            <summary>
+            <para><ch>RGB10</ch></para>
+            <para><en>RGB10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR10">
+            <summary>
+            <para><ch>BGR10</ch></para>
+            <para><en>BGR10</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12">
+            <summary>
+            <para><ch>RGB12</ch></para>
+            <para><en>RGB12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR12">
+            <summary>
+            <para><ch>BGR12</ch></para>
+            <para><en>BGR12</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16">
+            <summary>
+            <para><ch>RGB16</ch></para>
+            <para><en>RGB16</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10V1Packed">
+            <summary>
+            <para><ch>RGB10V1Packed</ch></para>
+            <para><en>RGB10V1Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10P32">
+            <summary>
+            <para><ch>RGB10P32</ch></para>
+            <para><en>RGB10P32</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12V1Packed">
+            <summary>
+            <para><ch>RGB12V1Packed</ch></para>
+            <para><en>RGB12V1Packed</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB565P">
+            <summary>
+            <para><ch>RGB565P</ch></para>
+            <para><en>RGB565P</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR565P">
+            <summary>
+            <para><ch>BGR565P</ch></para>
+            <para><en>BGR565P</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV411_8_UYYVYY">
+            <summary>
+            <para><ch>YUV411_8_UYYVYY</ch></para>
+            <para><en>YUV411_8_UYYVYY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8_UYVY">
+            <summary>
+            <para><ch>YUV422_8_UYVY</ch></para>
+            <para><en>YUV422_8_UYVY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8">
+            <summary>
+            <para><ch>YUV422_8 </ch></para>
+            <para><en>YUV422_8 </en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV8_UYV">
+            <summary>
+            <para><ch>YUV8_UYV</ch></para>
+            <para><en>YUV8_UYV</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr8CbYCr">
+            <summary>
+            <para><ch>YCbCr8CbYCr</ch></para>
+            <para><en>YCbCr8CbYCr</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8">
+            <summary>
+            <para><ch>YCbCr422_8</ch></para>
+            <para><en>YCbCr422_8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8_CbYCrY">
+            <summary>
+            <para><ch>YCbCr422_8_CbYCrY</ch></para>
+            <para><en>YCbCr422_8_CbYCrY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr411_8_CbYYCrYY">
+            <summary>
+            <para><ch>YCbCr411_8_CbYYCrYY</ch></para>
+            <para><en>YCbCr411_8_CbYYCrYY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_8_CbYCr">
+            <summary>
+            <para><ch>YCbCr601_8_CbYCr</ch></para>
+            <para><en>YCbCr601_8_CbYCr</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8">
+            <summary>
+            <para><ch>YCbCr601_422_8</ch></para>
+            <para><en>YCbCr601_422_8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8_CbYCrY">
+            <summary>
+            <para><ch>YCbCr601_422_8_CbYCrY</ch></para>
+            <para><en>YCbCr601_422_8_CbYCrY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_411_8_CbYYCrYY">
+            <summary>
+            <para><ch>YCbCr601_411_8_CbYYCrYY</ch></para>
+            <para><en>YCbCr601_411_8_CbYYCrYY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_8_CbYCr">
+            <summary>
+            <para><ch>YCbCr709_8_CbYCr</ch></para>
+            <para><en>YCbCr709_8_CbYCr</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8">
+            <summary>
+            <para><ch>YCbCr709_422_8</ch></para>
+            <para><en>YCbCr709_422_8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8_CbYCrY">
+            <summary>
+            <para><ch>YCbCr709_422_8_CbYCrY</ch></para>
+            <para><en>YCbCr709_422_8_CbYCrY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_411_8_CbYYCrYY">
+            <summary>
+            <para><ch>YCbCr709_411_8_CbYYCrYY</ch></para>
+            <para><en>YCbCr709_411_8_CbYYCrYY</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8Planar">
+            <summary>
+            <para><ch>RGB8Planar</ch></para>
+            <para><en>RGB8Planar</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10Planar">
+            <summary>
+            <para><ch>RGB10Planar</ch></para>
+            <para><en>RGB10Planar</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12Planar">
+            <summary>
+            <para><ch>RGB12Planar</ch></para>
+            <para><en>RGB12Planar</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16Planar">
+            <summary>
+            <para><ch>RGB16Planar</ch></para>
+            <para><en>RGB16Planar</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidReadState">
+            <summary>
+            <para><ch>璇荤爜鐘舵��</ch></para>
+            <para><en>Code reading state</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateUnknown">
+            <summary>
+            <para><ch>鏈煡</ch></para>
+            <para><en>Unknown</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNA">
+            <summary>
+            <para><ch>鏃犳晥</ch></para>
+            <para><en>Not available</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateComplete">
+            <summary>
+            <para><ch>鍏ㄩ儴</ch></para>
+            <para><en>Complete</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNoRead">
+            <summary>
+            <para><ch>鏃犳潯鐮�</ch></para>
+            <para><en>No code was read</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePartial">
+            <summary>
+            <para><ch>閮ㄥ垎</ch></para>
+            <para><en>Partial</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateFail">
+            <summary>
+            <para><ch>澶辫触</ch></para>
+            <para><en>Fail</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNA">
+            <summary>
+            <para><ch>鏃犳晥(Phase妯″紡)</ch></para>
+            <para><en>Not available(Phase mode)</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseComplete">
+            <summary>
+            <para><ch>鍏ㄩ儴(Phase妯″紡)</ch></para>
+            <para><en>Complete(Phase mode)</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNoRead">
+            <summary>
+            <para><ch>鏃犳潯鐮�(Phase妯″紡)</ch></para>
+            <para><en>No code was read(Phase mode)</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhasePartial">
+            <summary>
+            <para><ch>閮ㄥ垎(Phase妯″紡)</ch></para>
+            <para><en>Partial(Phase mode)</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseFail">
+            <summary>
+            <para><ch>澶辫触(Phase妯″紡)</ch></para>
+            <para><en>Fail(Phase mode)</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidBarcodeType">
+            <summary>
+            <para><ch>鐮佺被鍨�</ch></para>
+            <para><en>Barcode type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUnknown">
+            <summary>
+            <para><ch>鏈煡</ch></para>
+            <para><en>Unknown</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN8">
+            <summary>
+            <para><ch>EAN8</ch></para>
+            <para><en>EAN8</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN13">
+            <summary>
+            <para><ch>EAN13</ch></para>
+            <para><en>EAN13 type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode39">
+            <summary>
+            <para><ch>Code39</ch></para>
+            <para><en>Code39</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode93">
+            <summary>
+            <para><ch>Code93</ch></para>
+            <para><en>Code93</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode128">
+            <summary>
+            <para><ch>Code128</ch></para>
+            <para><en>Code128</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCA">
+            <summary>
+            <para><ch>UPCA</ch></para>
+            <para><en>UPCA</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCE">
+            <summary>
+            <para><ch>UPCE</ch></para>
+            <para><en>UPCE</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeITF25">
+            <summary>
+            <para><ch>ITF25</ch></para>
+            <para><en>ITF25</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODABAR">
+            <summary>
+            <para><ch>CODABAR</ch></para>
+            <para><en>CODABAR</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128A">
+            <summary>
+            <para><ch>CODE128A</ch></para>
+            <para><en>CODE128A</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128B">
+            <summary>
+            <para><ch>CODE128B</ch></para>
+            <para><en>CODE128B</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128C">
+            <summary>
+            <para><ch>CODE128C</ch></para>
+            <para><en>CODE128C</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeQR">
+            <summary>
+            <para><ch>QR</ch></para>
+            <para><en>QR</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeDM">
+            <summary>
+            <para><ch>DM</ch></para>
+            <para><en>DM</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypePDF417">
+            <summary>
+            <para><ch>PDF417</ch></para>
+            <para><en>PDF417</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeVERICODE">
+            <summary>
+            <para><ch>VERICODE</ch></para>
+            <para><en>VERICODE</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionState">
+            <summary>
+            <para><ch>杩炴帴浜嬩欢绫诲瀷</ch></para>
+            <para><en>Connect event type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOffline">
+            <summary>
+            <para><ch>绂荤嚎</ch></para>
+            <para><en>Offline</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOnline">
+            <summary>
+            <para><ch>鍦ㄧ嚎</ch></para>
+            <para><en>Online</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo">
+            <summary>
+            <para><ch>GigE璁惧淇℃伅</ch></para>
+            <para><en>GigE device info</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.macAddress">
+            <summary>
+            <para><ch>璁惧Mac鍦板潃</ch></para>
+            <para><en>Device MAC Address</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.ipAddress">
+            <summary>
+            <para><ch>璁惧Ip鍦板潃</ch></para>
+            <para><en>Device ip Address</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.subnetMask">
+            <summary>
+            <para><ch>瀛愮綉鎺╃爜</ch></para>
+            <para><en>SubnetMask</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.defaultGateWay">
+            <summary>
+            <para><ch>榛樿缃戝叧</ch></para>
+            <para><en>Default GateWay</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.isIpValid">
+            <summary>
+            <para><ch>Ip鏄惁鏈夋晥</ch></para>
+            <para><en>Ip valid</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.chReserved">
+            <summary>
+            <para><ch>淇濈暀</ch></para>
+            <para><en>Reserved field</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo">
+            <summary>
+            <para><ch>璁惧淇℃伅</ch></para>
+            <para><en>Device info</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceType">
+            <summary>
+            <para><ch>璁惧绫诲埆</ch></para>
+            <para><en>Device type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceType">
+            <summary>
+            <para><ch>鎺ュ彛绫诲埆</ch></para>
+            <para><en>Interface type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceID">
+            <summary>
+            <para><ch>璁惧ID</ch></para>
+            <para><en>Device ID</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.cameraName">
+            <summary>
+            <para><ch>鐢ㄦ埛鑷畾涔夊悕</ch></para>
+            <para><en>User defined name</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.serialNumber">
+            <summary>
+            <para><ch>璁惧搴忓垪鍙�</ch></para>
+            <para><en>Device serial number</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.vendorName">
+            <summary>
+            <para><ch>鍘傚晢</ch></para>
+            <para><en>Device vendor</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.modelName">
+            <summary>
+            <para><ch>璁惧鍨嬪彿</ch></para>
+            <para><en>Device model</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.manufactureInfo">
+            <summary>
+            <para><ch>璁惧鍒堕�犱俊鎭�</ch></para>
+            <para><en>Device manufacture</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceVersion">
+            <summary>
+            <para><ch>璁惧鐗堟湰</ch></para>
+            <para><en>Device version</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceName">
+            <summary>
+            <para><ch>鎺ュ彛鍚�</ch></para>
+            <para><en>Interface name</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reseved</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.stSpecialInfo">
+            <summary>
+            <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+            <para><en>special device Info</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO">
+            <summary>
+            <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+            <para><en>special device Info</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO.gigeDeviceInfo">
+            <summary>
+            <para><ch>Gige璁惧淇℃伅</ch></para>
+            <para><en>Gige device info</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceList">
+            <summary>
+            <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+            <para><en>Device information list</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.num">
+            <summary>
+            <para><ch>璁惧鏁伴噺</ch></para>
+            <para><en>Device Number</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.infos">
+            <summary>
+            <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+            <para><en>Device information list</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidErrorList">
+            <summary>
+            <para><ch>閿欒鍒楄〃</ch></para>
+            <para><en>Error list</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.num">
+            <summary>
+            <para><ch>澶辫触鐨勫睘鎬ф暟閲�</ch></para>
+            <para><en>Number of failed features</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.names">
+            <summary>
+            <para><ch>澶辫触灞炴�у悕鍒楄〃</ch></para>
+            <para><en>Error feature name list</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo">
+            <summary>
+            <para><ch>鏁村瀷灞炴�т俊鎭�</ch></para>
+            <para><en>int feature information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.current">
+            <summary>
+            <para><ch>褰撳墠鍊�</ch></para>
+            <para><en>Current value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.min">
+            <summary>
+            <para><ch>鏈�灏忓��</ch></para>
+            <para><en>Minimum value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.max">
+            <summary>
+            <para><ch>鏈�澶у��</ch></para>
+            <para><en>Maximum value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.inc">
+            <summary>
+            <para><ch>澧為噺</ch></para>
+            <para><en>Increment</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo">
+            <summary>
+            <para><ch>娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+            <para><en>float feature information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.current">
+            <summary>
+            <para><ch>褰撳墠鍊�</ch></para>
+            <para><en>Current value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.min">
+            <summary>
+            <para><ch>鏈�灏忓��</ch></para>
+            <para><en>Minimum value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.max">
+            <summary>
+            <para><ch>鏈�澶у��</ch></para>
+            <para><en>Maximum value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.unit">
+            <summary>
+            <para><ch>鍗曚綅</ch></para>
+            <para><en>Unit</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo">
+            <summary>
+            <para><ch>瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+            <para><en>String feature information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.maxLen">
+            <summary>
+            <para><ch>鏈�澶ч暱搴�</ch></para>
+            <para><en>The maximum length of the String</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.value">
+            <summary>
+            <para><ch>褰撳墠鍊�</ch></para>
+            <para><en>Current value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry">
+            <summary>
+            <para><ch>鏋氫妇鍨嬪睘鎬ф潯鐩�</ch></para>
+            <para><en>enum feature entry</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.value">
+            <summary>
+            <para><ch>鍊�</ch></para>
+            <para><en>Value</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.name">
+            <summary>
+            <para><ch>鍚嶇О</ch></para>
+            <para><en>Current Name</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList">
+            <summary>
+            <para><ch>鏋氫妇鍨嬪睘鎬т俊鎭�</ch></para>
+            <para><en>enum feature information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.num">
+            <summary>
+            <para><ch>鏁伴噺</ch></para>
+            <para><en>count</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.entryList">
+            <summary>
+            <para><ch>鏉$洰鍒楄〃</ch></para>
+            <para><en>Entry list</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidPoint">
+            <summary>
+            <para><ch>浜岀淮鍧愭爣鐐�</ch></para>
+            <para><en>2D coordinate point</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.x">
+            <summary>
+            <para><ch>x鍧愭爣</ch></para>
+            <para><en>x-coordinate</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.y">
+            <summary>
+            <para><ch>y鍧愭爣</ch></para>
+            <para><en>y-coordinate</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidCodeInfo">
+            <summary>
+            <para><ch>鏉$爜淇℃伅</ch></para>
+            <para><en>Barcode information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.type">
+            <summary>
+            <para><ch>绫诲瀷</ch></para>
+            <para><en>Code type</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.ppm">
+            <summary>
+            <para><ch>PPM</ch></para>
+            <para><en>PPM</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.position">
+            <summary>
+            <para><ch>浣嶇疆, 4涓偣</ch></para>
+            <para><en>Position, 4 points</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.data">
+            <summary>
+            <para><ch>鍐呭</ch></para>
+            <para><en>Code content</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.typeName">
+            <summary>
+            <para><ch>绫诲瀷鍚嶇О</ch></para>
+            <para><en>Code type name</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidFrameInfo">
+            <summary>
+            <para><ch>甯т俊鎭�</ch></para>
+            <para><en>Frame information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.id">
+            <summary>
+            <para><ch>甯D</ch></para>
+            <para><en>Frame block ID</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.timestamp">
+            <summary>
+            <para><ch>鏃堕棿鎴�</ch></para>
+            <para><en>Timestamp</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.width">
+            <summary>
+            <para><ch>鍥惧儚瀹藉害</ch></para>
+            <para><en>Image width</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.height">
+            <summary>
+            <para><ch>鍥惧儚楂樺害</ch></para>
+            <para><en>Image height</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.format">
+            <summary>
+            <para><ch>鍍忕礌鏍煎紡</ch></para>
+            <para><en>Pixel format</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.readState">
+            <summary>
+            <para><ch>璇荤爜鐘舵��</ch></para>
+            <para><en>Code reading state</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeNum">
+            <summary>
+            <para><ch>鏉$爜鏁伴噺</ch></para>
+            <para><en>Number of barcodes</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageDataLen">
+            <summary>
+            <para><ch>鍥惧儚鏁版嵁闀垮害</ch></para>
+            <para><en>Length of image data</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageData">
+            <summary>
+            <para><ch>鍥惧儚鏁版嵁</ch></para>
+            <para><en>Image data</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeList">
+            <summary>
+            <para><ch>鏉$爜淇℃伅鍒�</ch></para>
+            <para><en>Barcode information list</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.isJpeg">
+            <summary>
+            <para><ch>鏄惁jpeg鍥�</ch></para>
+            <para><en>Is jpeg image</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionInfo">
+            <summary>
+            <para><ch>杩炴帴淇℃伅</ch></para>
+            <para><en>Connetion information</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.state">
+            <summary>
+            <para><ch>杩炴帴鐘舵��</ch></para>
+            <para><en>Connetion state</en></para>
+            </summary>
+        </member>
+        <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.reserved">
+            <summary>
+            <para><ch>棰勭暀浣�</ch></para>
+            <para><en>Reserved</en></para>
+            </summary>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidFrameCallback">
+            <summary>
+            <para><ch>甯ф暟鎹洖璋冨嚱鏁�</ch></para>
+            <para><en>Frame data callback function</en></para>
+            </summary>
+            <param name="frameInfo"><para><ch>甯т俊鎭�</ch></para><para><en>frameInfo Frame info</en></para></param>
+            <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionCallback">
+            <summary>
+            <para><ch>璁惧杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para>
+            <para><en>Device connection information callback function</en></para>
+            </summary>
+            <param name="frameInfo"><para><ch>杩炴帴淇℃伅</ch></para><para><en>info Connection infomation</en></para></param>
+            <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback">
+            <summary>
+            <para><ch>璁惧灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para>
+            <para><en>Device feature update callback function</en></para>
+            </summary>
+            <param name="name"><para><ch>灞炴�у悕绉�</ch></para><para><en>name Device feature name</en></para></param>
+            <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+        </member>
+        <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback">
+            <summary>
+            <para><ch>鏋氫妇瀛愬睘鎬х殑鍥炶皟鍑芥暟, 鍦� eidEnumFeatureChildren 鍑芥暟涓娇鐢�, 姣忔鎺ユ敹涓�涓瓙灞炴�х殑鍚嶇О</ch></para>
+            <para><en>Callback function used with the eidEnumFeatureChildren function. It receives children feature names</en></para>
+            </summary>
+            <param name="name"><para><ch>瀛愬睘鎬у悕绉�</ch></para><para><en>name child feature name</en></para></param>
+            <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+        </member>
+    </members>
+</doc>
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.dll b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
new file mode 100644
index 0000000..689a25d
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..fd2d3ba
--- /dev/null
+++ b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..64acf0f
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..f08b767
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageConvert.dll b/LB_VisionProcesses/ref/ImageConvert.dll
new file mode 100644
index 0000000..d25101e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageConvert.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageSave.dll b/LB_VisionProcesses/ref/ImageSave.dll
new file mode 100644
index 0000000..02e527e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageSave.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02ba75a
--- /dev/null
+++ b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MVSDKmd.dll b/LB_VisionProcesses/ref/MVSDKmd.dll
index cb3b701..0a57262 100644
--- a/LB_VisionProcesses/ref/MVSDKmd.dll
+++ b/LB_VisionProcesses/ref/MVSDKmd.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MVlog4cppmd.dll b/LB_VisionProcesses/ref/MVlog4cppmd.dll
new file mode 100644
index 0000000..be42dd1
--- /dev/null
+++ b/LB_VisionProcesses/ref/MVlog4cppmd.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02d6125
--- /dev/null
+++ b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..2fc11a6
--- /dev/null
+++ b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/SDKLOG_default.properties b/LB_VisionProcesses/ref/SDKLOG_default.properties
new file mode 100644
index 0000000..0cd4b8f
--- /dev/null
+++ b/LB_VisionProcesses/ref/SDKLOG_default.properties
@@ -0,0 +1,15 @@
+# =======================
+#  root Setting
+# =======================
+log4cpp.rootCategory = INFO
+
+# =======================
+#  SDK Log Setting
+# =======================
+log4cpp.category.mvsdk = INFO, a_mvsdk
+log4cpp.appender.a_mvsdk = DailyRollingFileAppender
+log4cpp.appender.a_mvsdk.fileName = MVSDK.log
+log4cpp.appender.a_mvsdk.layout = org.apache.log4cpp.PatternLayout
+log4cpp.appender.a_mvsdk.layout.ConversionPattern = %d{%Y-%m-%d %H:%M:%S.%l} %p [tid:%t]%m%n
+log4cpp.appender.a_mvsdk.maxDaysKeep = 5
+
diff --git a/LB_VisionProcesses/ref/SharpnessDetection64.dll b/LB_VisionProcesses/ref/SharpnessDetection64.dll
new file mode 100644
index 0000000..6d25e6b
--- /dev/null
+++ b/LB_VisionProcesses/ref/SharpnessDetection64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/VideoRender.dll b/LB_VisionProcesses/ref/VideoRender.dll
new file mode 100644
index 0000000..f51cbf4
--- /dev/null
+++ b/LB_VisionProcesses/ref/VideoRender.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..c106bce
--- /dev/null
+++ b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/clserVsp.dll b/LB_VisionProcesses/ref/clserVsp.dll
new file mode 100644
index 0000000..2710d24
--- /dev/null
+++ b/LB_VisionProcesses/ref/clserVsp.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/iImageProcessing64.dll b/LB_VisionProcesses/ref/iImageProcessing64.dll
new file mode 100644
index 0000000..3c055bf
--- /dev/null
+++ b/LB_VisionProcesses/ref/iImageProcessing64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/libwinpthread-1.dll b/LB_VisionProcesses/ref/libwinpthread-1.dll
new file mode 100644
index 0000000..500de9d
--- /dev/null
+++ b/LB_VisionProcesses/ref/libwinpthread-1.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..18e249a
--- /dev/null
+++ b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
Binary files differ

--
Gitblit v1.9.3