From d0ded5cd9bf5070a120bad58b5be21fe2ac6a4ff Mon Sep 17 00:00:00 2001
From: C3032 <C3032@BC3032>
Date: 星期六, 20 十二月 2025 16:41:09 +0800
Subject: [PATCH] test
---
IDViewer_2D/IDViewerSDK.cs | 1030 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,030 insertions(+), 0 deletions(-)
diff --git a/IDViewer_2D/IDViewerSDK.cs b/IDViewer_2D/IDViewerSDK.cs
new file mode 100644
index 0000000..3ae38de
--- /dev/null
+++ b/IDViewer_2D/IDViewerSDK.cs
@@ -0,0 +1,1030 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.InteropServices;
+using static SmartScanner.IDViewerDefines;
+using System.Reflection;
+
+
+namespace SmartScanner
+{
+ class IDViewerSDK
+ {
+ public class Node
+ {
+ public IDViewerDefines.IDDeviceInfo data;
+ public Node next;
+ }
+
+ public struct LinkedList
+ {
+ public Node head;
+ [MarshalAs(UnmanagedType.SysInt)]
+ public int size;
+ }
+
+ /****************************************
+ IDImage
+ *****************************************/
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Init", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_Init(ref IntPtr imagePtr);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Destroy", CharSet = CharSet.Ansi)]
+ public static extern void IDImage_Destroy(ref IntPtr imagePtr); //
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Width", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_Width(IntPtr imageHandle); //鍥剧墖瀹藉害
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Height", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_Height(IntPtr imageHandle); //鍥剧墖楂樺害
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Step", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_Step(IntPtr imageHandle); //姝ラ暱
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_BitDepth", CharSet = CharSet.Auto)]
+ public static extern long IDImage_BitDepth(IntPtr imageHandle, ref IntPtr imageType); //浣嶆繁
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_Channels", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_Channels(IntPtr imageHandle); //閫氶亾鏁�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_ImageData", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDImage_ImageData(IntPtr imageHandle); //娴呮嫹璐�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_SaveImage", CharSet = CharSet.Ansi)]
+ public static extern long IDImage_SaveImage(IntPtr imageHandle, string filePath, int compression); //淇濆瓨
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDImage_SaveImageW", CharSet = CharSet.Unicode)]
+ public static extern long IDImage_SaveImageW(IntPtr imageHandle, string filePath, int compression); //瀹藉瓧鑺備繚瀛�
+
+ /*
+ * VarPoint
+ */
+
+ // 鏋勯�犲嚱鏁板0鏄�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarPoint_Create", CharSet = CharSet.Ansi)]
+ public static extern long VarPoint_Create(ref IntPtr handle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarPoint_CreateWithValues", CharSet = CharSet.Ansi)]
+ public static extern long VarPoint_CreateWithValues(ref IntPtr handle, double xPoint, double yPoint);
+
+ // 鏋愭瀯鍑芥暟澹版槑
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarPoint_Destroy", CharSet = CharSet.Ansi)]
+ public static extern void VarPoint_Destroy(ref IntPtr handle);
+
+ /*
+ * VarFlags
+ */
+
+
+ // 鏋勯�犲嚱鏁�
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Create", CharSet = CharSet.Ansi)]
+ public static extern long VarFlags_Create(ref IntPtr handle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_CreateWithFlags", CharSet = CharSet.Ansi)]
+ public static extern long VarFlags_CreateWithFlags(ref IntPtr handle, uint flags);
+
+ // 鎴愬憳鍑芥暟
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Set", CharSet = CharSet.Ansi)]
+ public static extern void VarFlags_Set(ref IntPtr handle, uint flag);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Unset", CharSet = CharSet.Ansi)]
+ public static extern void VarFlags_Unset(ref IntPtr handle, uint flag);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Reset", CharSet = CharSet.Ansi)]
+ public static extern void VarFlags_Reset(ref IntPtr handle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Check", CharSet = CharSet.Ansi)]
+ public static extern bool VarFlags_Check(ref IntPtr handle, uint flag);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Get", CharSet = CharSet.Ansi)]
+ public static extern uint VarFlags_Get(ref IntPtr handle);
+
+ // 鏋愭瀯鍑芥暟
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "VarFlags_Destroy", CharSet = CharSet.Ansi)]
+ public static extern void VarFlags_Destroy(ref IntPtr handle);
+
+ /*
+ * IDVariable
+ */
+ // 鍒涘缓 IDVariable 瀹炰緥
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_CreateIDVariable", CharSet = CharSet.Ansi)]
+
+ public static extern IntPtr IDVariab_CreateIDVariable();
+
+ // 閲婃斁 IDVariable 瀹炰緥
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_DestroyIDVariable", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_DestroyIDVariable(IntPtr IDVariableHandle);
+ // 璁剧疆 double 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataDouble", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataDouble(IntPtr IDVariableHandle, double data, bool setInit);
+
+ // 璁剧疆 string 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataChar", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataChar(IntPtr IDVariableHandle, string data, bool setInit);
+ // 璁剧疆 string 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataString", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataString(IntPtr IDVariableHandle, string data, bool setInit);
+
+ // 璁剧疆 bool 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataBool", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataBool(IntPtr IDVariableHandle, bool data, bool setInit);
+ // 璁剧疆 uint 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataUnsignedInt", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataUnsignedInt(IntPtr IDVariableHandle, uint data, bool setInit = false);
+ // 璁剧疆 VarPoint 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataVarPoint", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataVarPoint(IntPtr IDVariableHandle, ref double data, bool setInit = false);
+ // 璁剧疆vector<double> data鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataVectorDouble", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataVectorDouble(IntPtr IDVariableHandle, IntPtr data, int size, bool setInit = false);
+ // 璁剧疆vector<string> data 鏁版嵁
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataStringArray", CharSet = CharSet.Ansi)]
+
+ public static extern void IDVariab_SetDataStringArray(IntPtr IDVariableHandle, string[] data, int size, bool setInit = false);
+
+ // 灏唙ector<bool>杞崲
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataBoolVector", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataBoolVector(IntPtr IDVariableHandle, ref bool data, int size, bool setInit = false);
+
+ // 灏唙ector<bool>杞崲涓篊椋庢牸鐨勬帴鍙�
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariab_SetDataVarFlags", CharSet = CharSet.Ansi)]
+ public static extern void IDVariab_SetDataVarFlags(IntPtr IDVariableHandle, ref IntPtr handle, bool setInit = false);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariable_ToNumber", CharSet = CharSet.Ansi)]
+ public static extern double IDVariable_ToNumber(IntPtr IDVariableHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariable_ToBool", CharSet = CharSet.Ansi)]
+ public static extern bool IDVariable_ToBool(IntPtr IDVariableHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariable_ToFlags", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDVariable_ToFlags(IntPtr IDVariableHandle);
+
+ /*
+ * class IDCodeParam
+ */
+ // 鏋勯�犲嚱鏁扮殑灏佽
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_Create", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_Create();
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateCopy", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateCopy(IntPtr IDCodeParamHandle);
+
+ // 浣跨敤涓嶅悓鍙傛暟鏋勯�犲嚱鏁扮殑灏佽
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateFromQRCodeParam", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateFromQRCodeParam(ref IDQRCodeParam qrCodeParam);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateFromDMCodeParam", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateFromDMCodeParam(ref IDDMCodeParam dmCodeParam);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateFromPDF417CodeParam", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateFromPDF417CodeParam(ref IDPDF417CodeParam pdf417CodeParam);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateFromBarCodeParam", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateFromBarCodeParam(ref IDBarCodeParam barCodeParam);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_CreateFromMicroQRParam", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDCodeParam_CreateFromMicroQRParam(ref IDMicroQRParam microQRParam);
+
+ // 璧嬪�兼搷浣滅鐨勫皝瑁�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_Assign", CharSet = CharSet.Ansi)]
+ public static extern void IDCodeParam_Assign(IntPtr self, IntPtr IDCodeParamHandle);
+
+ // 璁剧疆鍜岃幏鍙栧弬鏁扮殑鍑芥暟灏佽
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_SetQRCodeParam", CharSet = CharSet.Ansi)]
+ public static extern void IDCodeParam_SetQRCodeParam(IntPtr self, ref IDQRCodeParam param);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetQRCodeParam", CharSet = CharSet.Ansi)]
+ public static extern ref IDQRCodeParam IDCodeParam_GetQRCodeParam(IntPtr self);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_SetDMCodeParam", CharSet = CharSet.Ansi)]
+ public static extern void IDCodeParam_SetDMCodeParam(IntPtr self, ref IDDMCodeParam param);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetDMCodeParam", CharSet = CharSet.Ansi)]
+ public static extern ref IDDMCodeParam IDCodeParam_GetDMCodeParam(IntPtr self);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_SetStackedCodeParam", CharSet = CharSet.Ansi)]
+ public static extern void IDCodeParam_SetStackedCodeParam(IntPtr self, ref IDQRCodeParam param);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetStackedCodeParam", CharSet = CharSet.Ansi)]
+ public static extern ref IDPDF417CodeParam IDCodeParam_GetStackedCodeParam(IntPtr self);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_SetBarCodeParam", CharSet = CharSet.Ansi)]
+
+ public static extern void IDCodeParam_SetBarCodeParam(IntPtr self, ref IDBarCodeParam param);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetBarCodeParam", CharSet = CharSet.Ansi)]
+ public static extern ref IDBarCodeParam IDCodeParam_GetBarCodeParam(IntPtr self);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_SetMicroQRParam", CharSet = CharSet.Ansi)]
+
+ public static extern void IDCodeParam_SetMicroQRParam(IntPtr self, ref IDMicroQRParam param);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetMicroQRParam", CharSet = CharSet.Ansi)]
+ public static extern ref IDMicroQRParam IDCodeParam_GetMicroQRParam(IntPtr self);
+
+ // 鑾峰彇绫诲瀷鐨勫皝瑁�
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCodeParam_GetType", CharSet = CharSet.Ansi)]
+ public static extern IDCodeCategory IDCodeParam_GetType(IntPtr self);
+
+
+ /**
+ * @brief setFilterRules 璁剧疆杩囨护瑙勫垯
+ * @param filterRules 杩囨护瑙勫垯
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetFilterRules", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetFilterRules(IntPtr deviceHandle, IDFilterRules filterRules);
+
+ /**
+ * @brief setFilterRules 鍒犻櫎杩囨护瑙勫垯
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_RemoveFilterRules", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_RemoveFilterRules(IntPtr deviceHandle);
+
+ /**
+ * @brief addEnvironmentVariable 娣诲姞涓�涓幆澧冨彉閲�
+ * @param varName 鐜鍙橀噺鍚嶇О
+ * @param varValue 鐜鍙橀噺瀵瑰簲鐨勫��
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AddEnvironmentVariable", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_AddEnvironmentVariable(IntPtr deviceHandle, string varName, IntPtr varValue);
+
+ /**
+ * @brief deleteEnvironmentVariable 鍒犻櫎鎸囧畾鐜鍙橀噺
+ * @param varName 瑕佸垹闄ょ殑鐜鍙橀噺鍚嶇О
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteEnvironmentVariable", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DeleteEnvironmentVariable(IntPtr deviceHandle, string varName);
+
+
+ /**
+ * @brief getEnvironmentVariableNames 鑾峰彇鎵�鏈夌幆澧冨彉閲忓悕
+ * @param varNames 鐜鍙橀噺鍚嶅垪琛�
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetEnvironmentVariableNamesEX", CharSet = CharSet.Ansi)] //浣跨敤鍚庨渶瑕佽皟鐢↖DDevice_FreeSolutionList 閲婃斁StringList
+ public static extern ref StringList IDDevice_GetEnvironmentVariableNamesEX(IntPtr deviceHandle);
+
+ /**
+ * @brief getEnvironmentVariable 鏍规嵁鍙橀噺鍚嶈幏鍙栫幆澧冨彉閲忕殑鍊�
+ * @param varName 鐜鍙橀噺鍚嶇О
+ * @param varValue 鐜鍙橀噺瀵瑰簲鐨勫��
+ * @return
+*/
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetEnvironmentVariable", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetEnvironmentVariable(IntPtr deviceHandle, ref string varName, IntPtr varValue);
+
+ /**
+ * @brief getParamValue 鑾峰彇鏂规鍙傛暟
+ * @param paramName 鍙傛暟鍚嶆灇涓惧��
+ * @param generalParam 鍙傛暟鍙栧��
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetParamValue", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetParamValue(IntPtr deviceHandle, IDGeneralParamsName paramName, IntPtr generalParam);
+
+
+ /**
+ * @brief getParamValue 璁剧疆鏂规鍙傛暟
+ * @param paramName 鍙傛暟鍚嶆灇涓惧��
+ * @param generalParam 鍙傛暟鍙栧��
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetParamValue", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetParamValue(IntPtr deviceHandle, IDGeneralParamsName paramName, IntPtr generalParam);
+ //class IDGeneralParam
+ // 鍒涘缓绌哄璞�
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create();
+
+ // 鍩虹绫诲瀷
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Bool", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Bool(bool data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Char", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Char(string data);
+
+
+ // 鏁板�肩被鍨�
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UnsignedChar", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UnsignedChar(char data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Float", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Float(float data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UnsignedShort", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UnsignedShort(ushort data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UnsignedInt", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UnsignedInt(uint data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UnsignedLong", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UnsignedLong(ulong data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Long", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Long(long data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Int", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Int(int data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_Short", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_Short(short data);
+
+ // 鐗规畩绫诲瀷
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_VarPoint", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_VarPoint(IntPtr data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_VarFlags", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_VarFlags(IntPtr data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_VectorDouble", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_VectorDouble(ref double data, int size);
+
+ /*
+ string[] data = new string[] { "data1", "data2", "data3" };
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_VectorString", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_VectorString(string[] data, int size);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_VectorBool", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_VectorBool(ref bool data, int size);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UChar", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UChar(char data);
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UShort", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UShort(ushort data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_UInt", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_UInt(uint data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_Create_ULong", CharSet = CharSet.Ansi)]
+ public static extern IntPtr IDGeneralParam_Create_ULong(ulong data);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_SetName", CharSet = CharSet.Ansi)]
+
+ public static extern void IDGeneralParam_SetName(IntPtr generalParamHandle, string name);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_GetName", CharSet = CharSet.Ansi)]
+ public static extern void IDGeneralParam_GetName(IntPtr generalParamHandle, string name);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_GetType", CharSet = CharSet.Ansi)]
+
+ public static extern IDGeneralParamsType IDGeneralParam_GetType(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_SetComment", CharSet = CharSet.Ansi)]
+ public static extern void IDGeneralParam_SetComment(IntPtr generalParamHandle, string comment);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_GetComment", CharSet = CharSet.Ansi)]
+
+ public static extern void IDGeneralParam_GetComment(IntPtr generalParamHandle, string comment);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_GetID", CharSet = CharSet.Ansi)]
+
+ public static extern int IDGeneralParam_GetID(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_SetID", CharSet = CharSet.Ansi)]
+
+ public static extern void IDGeneralParam_SetID(IntPtr generalParamHandle, int id);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToInt", CharSet = CharSet.Ansi)]
+
+ public static extern int IDGeneralParam_ToInt(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToNumber", CharSet = CharSet.Ansi)] //PLC鍙橀噺绫诲瀷鏄疦um
+
+ public static extern double IDGeneralParam_ToNumber(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToBool", CharSet = CharSet.Ansi)]
+
+ public static extern bool IDGeneralParam_ToBool(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToChar", CharSet = CharSet.Ansi)]
+
+ public static extern char IDGeneralParam_ToChar(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToFloat", CharSet = CharSet.Ansi)]
+
+ public static extern float IDGeneralParam_ToFloat(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToCharItr", CharSet = CharSet.Ansi)]
+
+ public static extern IntPtr IDGeneralParam_ToCharItr(IntPtr generalParamHandle); //瀛楃涓茬被鍨嬭幏鍙栧悗蹇呴』浣跨敤IDGeneralParam_FreeCharItr 瀵规寚閽堣繘琛岄噴鏀撅紱
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_FreeCharItr", CharSet = CharSet.Ansi)]
+
+ public static extern void IDGeneralParam_FreeCharItr(IntPtr ptr); //鍜屼笂闈DGeneralParam_ToCharItr閰嶅浣跨敤瀹屽悗杩涜閲婃斁锛�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToUShort", CharSet = CharSet.Ansi)]
+ public static extern ushort IDGeneralParam_ToUShort(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToUInt", CharSet = CharSet.Ansi)]
+ public static extern uint IDGeneralParam_ToUInt(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToULong", CharSet = CharSet.Ansi)]
+ public static extern ulong IDGeneralParam_ToULong(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDGeneralParam_ToShort", CharSet = CharSet.Ansi)]
+ public static extern short IDGeneralParam_ToShort(IntPtr generalParamHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVariable_ToFlags", CharSet = CharSet.Ansi)]
+ public static extern long IDGeneralParam_ToLong(IntPtr generalParamHandle);
+
+ /****************************************
+ IDDevice
+ *****************************************/
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_Open", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_Open(IntPtr deviceHandle); //鎵撳紑璁惧
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_IsOpen", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_IsOpen(IntPtr deviceHandle); //鎵撳紑鐘舵��
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_StartRunning", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_StartRunning(IntPtr deviceHandle); //榛樿 娉ㄥ唽鍥炶皟 杩愯璁惧
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_StartDebugging", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_StartDebugging(IntPtr deviceHandle); //鍚姩璋冭瘯
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_IsDebugging", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_IsDebugging(IntPtr deviceHandle); //璋冭瘯鐘舵��
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_IsRunning", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_IsRunning(IntPtr deviceHandle); //杩愯鐘舵��
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_IsConnected", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_IsConnected(IntPtr deviceHandle); //杩炴帴鐘舵��
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_Stop", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_Stop(IntPtr deviceHandle); //鍋滄
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_Close", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_Close(IntPtr deviceHandle); //鍏抽棴
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_CaptureImage", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_CaptureImage(IntPtr deviceHandle, IntPtr imageHandle); //閲囬泦涓�娆�
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetLasersightEnable", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetLasersightEnable(IntPtr deviceHandle, bool enable); //璁剧疆浣胯兘鐬勫噯鍣�
+
+
+ /****************************************
+ DeviceInfo
+ *****************************************/
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetDeviceInfo", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetDeviceInfo(IntPtr deviceHandle, ref IDDeviceInfo DeviceInfoHandel); //鑾峰彇璁惧淇℃伅(SN/MAC/IP/MODEL)
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetHardWareParams", CharSet = CharSet.Ansi)]
+ public static extern IDViewerDefines.IDDeviceHarewareParams IDDevice_GetHardWareParams(IntPtr deviceHandle);
+
+ //姝ゆ帴鍙i渶瑕乂S2019浠ヤ笂鐨勭増鏈紝C#7.0鏂板寮曞叆浜嗘柊鐨勮娉時ef return鍜宺ef locals锛屽厑璁稿嚱鏁扮殑杩斿洖鍊间篃鍙互琚0鏄庝负寮曠敤
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetSolutionList", CharSet = CharSet.Ansi)]
+ public static extern ref StringList IDDevice_GetSolutionList(IntPtr deviceHandle, int timeout = 2000);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetRunningSolution", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetRunningSolution(IntPtr deviceHandle, string solutionName, int timeout = 2000);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetRunningSolution", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetRunningSolution(IntPtr deviceHandle, byte[] solutionName, int timeout = 2000);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteSolution", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DeleteSolution(IntPtr deviceHandle, string solutionName, int timeout = 2000);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_Release", CharSet = CharSet.Ansi)]
+ public static extern void IDDevice_Release(IntPtr deviceHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_FreeSolutionList", CharSet = CharSet.Ansi)]
+ public static extern void IDDevice_FreeSolutionList(StringList solutionList);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_getROIInfoLength", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_getROIInfoLength(IntPtr deviceHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_getROIInfo", CharSet = CharSet.Ansi)] //鑾峰彇ROI
+ public static extern IDViewerDefines.IDROIInfo IDDevice_getROIInfo(IntPtr deviceHandle, int roiIndex);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteROI", CharSet = CharSet.Ansi)] //鍒犻櫎ROI
+ public static extern long IDDevice_DeleteROI(IntPtr deviceHandle, int roiIndex);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AddROI", CharSet = CharSet.Ansi)] //娣诲姞ROI
+ public static extern long IDDevice_AddROI(IntPtr deviceHandle, IDViewerDefines.IDROIInfo roiInfo);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_ModifyROI", CharSet = CharSet.Ansi)] //淇敼ROI
+ public static extern long IDDevice_ModifyROI(IntPtr deviceHandle, int roiIndex, IDViewerDefines.IDPoint topLeftPoint, IDViewerDefines.IDPoint bottomRightPoint);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetFocusLocation", CharSet = CharSet.Ansi)]
+ public static unsafe extern long IDDevice_GetFocusLocation(IntPtr deviceHandle, int* focusLocation); //鑾峰彇鐒﹁窛浣嶇疆
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AutoFocus", CharSet = CharSet.Ansi)] //鑷姩瀵圭劍
+ public static unsafe extern long IDDevice_AutoFocus(IntPtr deviceHandle, int paramIndex, ref int focusLocation);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetFocusLocation", CharSet = CharSet.Ansi)] //璁剧疆鐒﹁窛浣嶇疆
+ public static extern long IDDevice_SetFocusLocation(IntPtr deviceHandle, int paramIndex, int focusLocation);
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetExposure", CharSet = CharSet.Ansi)] //璁剧疆鏇濆厜
+ public static extern long IDDevice_SetExposure(IntPtr deviceHandle, int paramIndex, double exposure);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetGain", CharSet = CharSet.Ansi)] //璁剧疆澧炵泭
+ public static extern long IDDevice_SetGain(IntPtr deviceHandle, int paramIndex, int gain);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetGamma", CharSet = CharSet.Ansi)] //璁剧疆浼介┈
+ public static extern long IDDevice_SetGamma(IntPtr deviceHandle, int paramIndex, double gamma);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetIlluminate", CharSet = CharSet.Ansi)] //璁剧疆閫氶亾浜害锛氶�氶亾鏁帮紝璁剧疆-1鎴栧皬浜�0锛岃〃绀哄悓鏃惰缃墍鏈夐�氶亾
+ public static extern long IDDevice_SetIlluminate(IntPtr deviceHandle, int paramIndex, int channel, int value);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetIlluminateEnable", CharSet = CharSet.Ansi)] //璁剧疆閫氶亾浣胯兘锛氶�氶亾鏁帮紝璁剧疆-1鎴栧皬浜�0锛岃〃绀哄悓鏃惰缃墍鏈夐�氶亾
+ public static extern long IDDevice_SetIlluminateEnable(IntPtr deviceHandle, int paramIndex, int channel, bool enable);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetIlluminanatbrightnessLength", CharSet = CharSet.Ansi)]//鑾峰彇illuminanatbrightness 鏁伴噺
+ public static extern long IDDevice_GetIlluminanatbrightnessLength(IntPtr deviceHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetIlluminanatbrightness", CharSet = CharSet.Ansi)] //鑾峰彇illuminanatbrightness
+ public static extern IDNodeParam IDDevice_GetIlluminanatbrightness(IntPtr deviceHandle, uint index);
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetTriggerAllParams", CharSet = CharSet.Ansi)] //鑾峰彇鎵�鏈夎Е鍙戝弬鏁�
+ public static extern long IDDevice_GetTriggerAllParams(IntPtr deviceHandle, ref IDTriggerParams triggerParams, ref IDHardwareTrigger hardwareTrigger,
+ ref IDTcpServerTrigger tcpServerTrigger, ref IDTcpClientTrigger tcpClientTrigger, ref IDSerialPortTrigger serialPortTrigger, ref IDUDPTrigger udpTrigger);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetDataconfigAllParams", CharSet = CharSet.Ansi)] //鑾峰彇鎵�鏈夋暟鎹鐞嗗弬鏁�
+ public static extern long IDDevice_GetDataconfigAllParams(IntPtr deviceHandle, ref IDFilterInfo filterInfo, ref IDFilterRules filterRules, ref IDDataConfig dataConfig);
+
+ //[DllImport("IDViewerCSDK.dll", EntryPoint = "getTriggerAllParams", CharSet = CharSet.Ansi)]
+ //public static extern long getTriggerAllParams(IntPtr deviceHandle, IDTriggerParams triggerParams, IDHardwareTrigger hardwareTrigger,
+ // IDTcpServerTrigger tcpServerTrigger, IDTcpClientTrigger tcpClientTrigger, IDSerialPortTrigger serialPortTrigger, IDUDPTrigger udpTrigger);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetCommunicationAllParams", CharSet = CharSet.Ansi)] //鑾峰彇鎵�鏈夐�氫俊鍙傛暟
+ public static extern long IDDevice_GetCommunicationAllParams(IntPtr deviceHandle, ref IDTcpServerCommunication tcpServerInfo, ref IDTcpClientCommunication tcpClientInfo, ref IDSerialPortCommunication serialPortInfo,
+ ref IDKeyboardConfig keyboardInfo, ref IDEipConfig eipConfig, ref IDModbusConfig modbusConfig, ref IDProfinetConfig profinetConfig, ref IDFtpConfig ftpConfig, ref IDWebpageConfig webpageConfig,
+ ref IDFinsConfig finsConfig, ref IDHttpConfig httpConfig, ref IDNetworkingConfig networkingConfig);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetCommunicationAllParams_V2", CharSet = CharSet.Ansi)] //鑾峰彇鎵�鏈夐�氫俊鍙傛暟
+ public static extern long IDDevice_GetCommunicationAllParams_V2(IntPtr deviceHandle, ref IDTcpServerCommunication tcpServerInfo, ref IDTcpClientCommunication tcpClientInfo, ref IDSerialPortCommunication serialPortInfo,
+ ref IDKeyboardConfig keyboardInfo, ref IDEipConfig eipConfig, ref IDModbusConfig modbusConfig, ref IDProfinetConfig profinetConfig, ref IDFtpConfig ftpConfig, ref IDWebpageConfig webpageConfig,
+ ref IDFinsConfig finsConfig, ref IDHttpConfig httpConfig, ref IDNetworkingConfig networkingConfig, ref IDMcConfig mcConfig, ref IDUdpConfig iDUdpConfig);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DownLoadCurrentSolution", CharSet = CharSet.Ansi)] //涓嬭浇褰撳墠鏂规 鍙傛暟璁剧疆涓轰复鏃惰缃紝闇�瑕佽皟鐢ㄨ鏂规硶鎵嶈兘淇濆瓨鍒拌澶囩绾跨敓鏁�
+ public static extern long IDDevice_DownLoadCurrentSolution(IntPtr deviceHandle);
+
+
+
+ /**
+ * @brief uploadSolution 涓婁紶鏂规
+ * @param solutionData 鏂规鏁版嵁
+ * @param solutionName 鏂规鍚嶇О
+ * @param timeout 瓒呮椂鏃堕棿
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_UploadSolution", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_UploadSolution(IntPtr deviceHandle, string solutionData, string solutionName, int timeout = 3000);
+ /**
+ * @brief downLoadSolution 涓嬭浇鏂规
+ * @param solutionData 鏂规鏁版嵁
+ * @param solutionName 鏂规鍚嶇О
+ * @param timeout 瓒呮椂鏃堕棿
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DownLoadSolution", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DownLoadSolution(IntPtr deviceHandle, ref string solutionData, string solutionName, int timeout = 3000);
+
+ /**
+ * @brief openMC 鎵撳紑MC
+ * @param mode MC 鍝佺墝鍨嬪彿锛堝彇鍊艰寖鍥达細(Mitsubishi_L:0,Mitsubishi_Q:1,Mitsubishi_R:2,Mitsubishi_A:4,Mitsubishi_Fx3U:5,Mitsubishi_Fx5U:6)锛�
+ * @param format MC 鏍煎紡 锛堝彇鍊艰寖鍥达細BIN:0,ASCII:1锛�
+ * @param ip MC IP鍦板潃
+ * @param port MC 绔彛
+ * @param startAddress MC 璧峰鍦板潃
+ * @param resultSwap MC 缁撴灉浜ゆ崲
+ * @param resultSize MC 缁撴灉澶у皬
+ * @param timeout MC MC缁撴灉瓒呮椂
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_OpenMC", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_OpenMC(IntPtr deviceHandle, IDMcBrandModel mode, IDMcDataFormat format, string ip, int port, int startAddress, bool resultSwap, int resultSize, int timeout);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_CloseMC", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_CloseMC(IntPtr deviceHandle);
+
+ /**
+ * @brief getMcInfo 鑾峰彇褰撳墠MC杩炴帴閰嶇疆淇℃伅
+ * @param mode MC鍝佺墝鍨嬪彿
+ * @param format MC鏍煎紡锛圔IN/ASCII锛�
+ * @param ip MC鐨処P鍦板潃
+ * @param port MC鐨勭鍙�
+ * @param startAddress MC璧峰鍦板潃
+ * @param resultSwap MC缁撴灉浜ゆ崲閰嶇疆
+ * @param resultSize MC缁撴灉澶у皬
+ * @param timeout MC缁撴灉瓒呮椂鏃堕棿
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetMcInfo", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetMcInfo(IntPtr deviceHandle, ref IDMcBrandModel mode, ref IDMcDataFormat format, ref string ip, ref int port, ref int startAddress, ref bool resultSwap, ref int resultSize, ref int timeout);
+
+ /*
+ * 2025.2.15 鏂板IDDevice绫绘帴鍙�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_ClearROI", CharSet = CharSet.Ansi)] //娓呴櫎鎵�鏈塕OI
+ public static extern long IDDevice_ClearROI(IntPtr deviceHandle);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AddImageROI", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_AddImageROI(IntPtr deviceHandle, ref IDImageROI roiInfos); //娣诲姞鍥惧儚ROI
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteImageROI", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DeleteImageROI(IntPtr deviceHandle, int roiIndex); //鍒犻櫎鍥惧儚ROI
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetROICodeNum", CharSet = CharSet.Ansi)] //璁剧疆鎸囧畾 ROI 鐨勭爜鏁扮洰
+ public static extern long IDDevice_SetROICodeNum(IntPtr deviceHandle, int roiIndex, int codeNum);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_ModifyImageROI", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_ModifyImageROI(IntPtr deviceHandle, int roiIndex, IDPoint topLeftPoint, IDPoint bottomRightPoint);//鏇存柊鍥惧儚ROI
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetImageROIsLength", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetImageROIsLength(IntPtr deviceHandle);//鑾峰彇鍥惧儚ROI鍒楄〃闀垮害
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetImageROIsInfo", CharSet = CharSet.Ansi)]
+ public static extern IDImageROI IDDevice_GetImageROIsInfo(IntPtr deviceHandle, uint index);//鑾峰彇鍥惧儚ROI
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_ClearImageROI", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_ClearImageROI(IntPtr deviceHandle);//娓呴櫎鎵�鏈夊浘鍍廟OI
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AddCodeType", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_AddCodeType(IntPtr deviceHandle, IDCodeType type);//娣诲姞鐮佸埗
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteCodeType", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DeleteCodeType(IntPtr deviceHandle, IDCodeType type);//鍒犻櫎鐮佸埗
+
+ /**
+ * @brief clearCodeType 娓呴櫎鎵�鏈夌爜鍒�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_ClearCodeType", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_ClearCodeType(IntPtr deviceHandle);
+
+ /**
+ * @brief getImageROIs 鑾峰彇鐮佸埗淇℃伅鍒楄〃闀垮害
+ * @param
+ * @return 鑾峰彇鐮佸埗淇℃伅鍒楄〃闀垮害
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetCodeTypesLength", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetCodeTypesLength(IntPtr deviceHandle);
+
+ /**
+ * @brief getImageROIs 鑾峰彇鐮佸埗淇℃伅
+ * @param index 绗嚑涓狪DCodeType_C淇℃伅
+ * @return IDCodeType_C
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetCodeTypesInfo", CharSet = CharSet.Ansi)]
+ public static extern IDCodeType IDDevice_GetCodeTypesInfo(IntPtr deviceHandle, uint index);
+
+
+ /**
+ * @brief setCodeCategoryParam 璁剧疆鏉$爜绠楁硶鍙傛暟
+ * @param codeType 鏉$爜绫诲瀷
+ * @param codeParam 鏉$爜鍙傛暟淇℃伅
+ * @return 閿欒鐮�
+*/
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetCodeCategoryParam", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetCodeCategoryParam(IntPtr deviceHandle, IDCodeCategory codeType, IntPtr codeParam);
+
+
+
+ /**
+ * @brief getSolutionImageParams 鑾峰彇褰撳墠鏂规鍥惧儚璁剧疆椤靛弬鏁�
+ * @param solutionImage 鍥惧儚椤靛弬鏁� //鍥惧儚鍙傛暟
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetSolutionImage", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetSolutionImage(IntPtr deviceHandle, ref IDSolutionImage solutionImage);
+
+ /**
+ * @brief getSolutionImageParams 鑾峰彇鍥惧儚鍙傛暟缁勯儴鍒嗗弬鏁�
+ * @param solutionImageParams 鍥惧儚鍙傛暟缁勯儴鍒嗗弬鏁�
+ * @param index 鍙傛暟缁勭鍑犱釜鍙傛暟
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetSolutionImageParams", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetSolutionImageParams(IntPtr deviceHandle, int index, ref IDSolutionImageParams solutionImageParams);
+
+
+ /**
+ * @brief getSolutionImageParams 鑾峰彇鍥惧儚鍏夋簮閫氶亾鍙傛暟
+ * @param solutionImageParams 鍥惧儚鍙傛暟缁勯儴鍒嗗弬鏁�
+ * @param index 鍙傛暟缁勭鍑犱釜鍙傛暟
+ * @param illIndex 鍙傛暟缁勭鍑犱釜鍙傛暟鐨勭鍑犱釜鍏夋簮閫氶亾鍙傛暟
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetSolutionImageIlluminant", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetSolutionImageIlluminant(IntPtr deviceHandle, int index, int illIndex, ref IDSolutionImageIlluminant solutionImageIlluminant);
+
+
+ /**
+ * @brief appendLastImageParam 鍩轰簬鏈�鍚庝竴涓弬鏁拌妭鐐规柊澧炲浘鍍忓弬鏁扮粍
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_AppendLastImageParam", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_AppendLastImageParam(IntPtr deviceHandle);
+
+ /**
+ * @brief deleteImageParamAtIndex 鍒犻櫎鍥惧儚鍙傛暟缁�
+ * @param paramIndex 鍙傛暟缁勫簭鍙�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_DeleteImageParamAtIndex", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_DeleteImageParamAtIndex(IntPtr deviceHandle, int paramIndex);
+
+
+ /**
+ * @brief setAutoExposureEnabled 璁剧疆浣胯兘鑷姩鏇濆厜
+ * @param enabled 鏄惁鍚敤鑷姩鏇濆厜锛宍true` 涓哄惎鐢紝`false` 涓虹鐢�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetAutoExposureEnabled", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetAutoExposureEnabled(IntPtr deviceHandle, bool enabled);
+
+ /**
+ * @brief getExposure 鑾峰彇褰撳墠鏇濆厜
+ * @param exposure 鏇濆厜鍊�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetExposure", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetExposure(IntPtr deviceHandle, ref double exposure);
+
+ /**
+ * @brief setAutoGainEnabled 璁剧疆浣胯兘鑷姩澧炵泭
+ * @param enabled 鏄惁鍚敤鑷姩澧炵泭锛宍true` 涓哄惎鐢紝`false` 涓虹鐢�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetAutoGainEnabled", CharSet = CharSet.Ansi)]
+
+ public static extern long IDDevice_SetAutoGainEnabled(IntPtr deviceHandle, bool enabled);
+
+ /**
+ * @brief getGainCount 鑾峰彇澧炵泭鍒楄〃涓暟
+ * @param count 澧炵泭鍒楄〃涓暟
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetGainCount", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetGainCount(IntPtr deviceHandle, ref int count);
+
+ /**
+ * @brief getGain 鑾峰彇褰撳墠澧炵泭
+ * @param gain 澧炵泭
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetGain", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetGain(IntPtr deviceHandle, ref int gain);
+
+ /**
+ * @brief getGain 鑾峰彇褰撳墠澧炵泭
+ * @param paramIndex 鍙傛暟缁�
+ * @param gain 澧炵泭鍊�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetGain_1330", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetGain_1330(IntPtr deviceHandle, int paramIndex, ref double gain);
+
+ /**
+ * @brief getGain 鑾峰彇澧炵泭鍒楄〃涓寚瀹氫笅鏍囧搴旂殑澧炵泭鍊�
+ * @param index 澧炵泭鍊煎湪鍒楄〃涓殑绱㈠紩
+ * @param gain 澧炵泭鍊�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetGainValueByIndex_1330", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetGainValueByIndex_1330(IntPtr deviceHandle, int paramIndex, ref double gain);
+
+ /**
+ * @brief getGamma 鑾峰彇褰撳墠浼介┈
+ * @param gamma 浼介┈鍊�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_GetGamma", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_GetGamma(IntPtr deviceHandle, ref double gamma);
+
+ /**
+ * @brief setDIParam 璁剧疆DI鍙傛暟
+ * @param pin 寮曡剼缂栧彿
+ * @param params DI鍙傛暟淇℃伅
+ * @return
+ */
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetDIParam", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetDIParam(IntPtr deviceHandle, uint pin, ref IDDIParams iDDIParams);
+
+
+ /**
+ * @brief setDOParam 璁剧疆DO鍙傛暟
+ * @param pin 寮曡剼缂栧彿
+ * @param params DO鍙傛暟淇℃伅
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDDevice_SetDOParam", CharSet = CharSet.Ansi)]
+ public static extern long IDDevice_SetDOParam(IntPtr deviceHandle, uint pin, IDDOParams iDDOParams);
+
+
+
+ /*
+ * @brief getIOConfigAllParams 鑾峰彇鎵�鏈塈O杈撳叆鍙傛暟淇℃伅闀垮害
+ * @
+ * @
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "getIOConfigInputParamsLength", CharSet = CharSet.Ansi)]
+ public static extern long getIOConfigInputParamsLength(IntPtr deviceHandle);
+
+ /*
+ * 鑾峰彇IO杈撳叆鍙傛暟淇℃伅
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "getIOConfigInputParamsInfo", CharSet = CharSet.Ansi)]
+ public static extern long getIOConfigInputParamsInfo(IntPtr deviceHandle, uint index, ref IDDIParams IDDIParams);
+
+ /* @brief getIOConfigAllParams 鑾峰彇鎵�鏈塈O杈撳嚭鍙傛暟淇℃伅闀垮害
+ * @
+ * @
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "getIOConfigOutputParamsLength", CharSet = CharSet.Ansi)]
+ public static extern long getIOConfigOutputParamsLength(IntPtr deviceHandle);
+
+ /**
+ * @brief addDOParam 娣诲姞DO鍙傛暟
+ * @param params DO鍙傛暟淇℃伅
+ * @return
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "addDOParam", CharSet = CharSet.Ansi)]
+ public static extern long addDOParam(IntPtr deviceHandle, ref IDDOParams iDDOParams);
+
+ /*
+ * 鑾峰彇IO杈撳嚭鍙傛暟淇℃伅
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "getIOConfigOutputParamsInfo", CharSet = CharSet.Ansi)]
+ public static extern long getIOConfigOutputParamsInfo(IntPtr deviceHandle, uint index, ref IDDOParams IDDOParams);
+
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_ResultNotify_")]
+ public static extern void IDCallback_ResultNotify_(IntPtr deviceHandle, IntPtr resCallback); // 缁撴灉鍥炶皟鍑芥暟
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_ResultNotify_Image_")]
+ public static extern void IDCallback_ResultNotify_Image_(IntPtr deviceHandle, IntPtr resCallback); // 鍥剧墖鍥炶皟鍑芥暟
+ //[DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDecodeInfo")]
+ //public extern static IntPtr IDCallback_GetIDDecodeInfo(IntPtr decodeInfoHandel); //IDCallback_GetIDDecodeInfo
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDecodeInfo_A")]
+ public extern static long IDCallback_GetIDDecodeInfo_A(IntPtr decodeInfoHandel, ref IDDecodeInfo info); //IDCallback_GetIDDecodeInfo
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDecodeROIInfo", CharSet = CharSet.Ansi)]
+ public static extern IDDecodeROIInfo IDCallback_GetIDDecodeROIInfo(IntPtr decodeInfoHandel, uint index);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDecodeResult", CharSet = CharSet.Ansi)]
+ public static extern IDDecodeResult IDCallback_GetIDDecodeResult(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, uint index);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDMCodeResult", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDDMCodeResult(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //DM瑙g爜鏁版嵁
+ uint index, ref IDDMCodeResult IDDMCodeResultData);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_CheckDeCodeTypeResult", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_CheckDeCodeTypeResult(IntPtr decodeInfoHandel, uint decodeType, uint decodeROIInfoIndex); //璇︾粏鐮佺被鍨嬬殑缁撴灉闀垮害 ,0琛ㄧず娌℃湁瑙g爜缁撴灉锛�-1 琛ㄧずroi涓嶅瓨鍦�
+
+ //[DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetID_QRODE_Result", CharSet = CharSet.Ansi)]
+ //public static extern long IDCallback_GetID_QRODE_Result(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //QR瑙g爜鏁版嵁
+ // uint index, ref IDQRCodeResult iDQRCodeResult);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDMCodeResult_QualityDM15415", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDDMCodeResult_QualityDM15415(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //15414dm鐮佽川閲�
+ uint index, ref IDQualityDM15415 iDQualityDM15415);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDDMCodeResult_QUALITY_DM_29158", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDDMCodeResult_QUALITY_DM_29158(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //29158dm鐮佽川閲�
+ uint index, ref IDQualityDM29518 iDQualityDM29518);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDPDF417CodeResult", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDPDF417CodeResult(IntPtr decodeInfoHandel, uint decodeROIInfoIndex,
+ uint index, ref IDPDF417CodeResult iDPDF417CodeResultData);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetID_QR_CODE_Result", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetID_QR_CODE_Result(IntPtr decodeInfoHandel, uint decodeROIInfoIndex,
+ uint index, ref IDQRCodeResult iDQRCodeResult);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetID_QR_CODE_Result_IDQualityQR15415", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetID_QR_CODE_Result_IDQualityQR15415(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //15414qr鐮佽川閲�
+ uint index, ref IDQualityQR15415 iDQualityQR15415);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetID_QR_CODE_Result_IDQualityQR29518", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetID_QR_CODE_Result_IDQualityQR29518(IntPtr decodeInfoHandel, uint decodeROIInfoIndex, //29518qr鐮佽川閲�
+ uint index, ref IDQualityQR29518 iDQualityQR29518);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDPDF417CodeResult_IDQualityPDF417_15415", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDPDF417CodeResult_IDQualityPDF417_15415(IntPtr decodeInfoHandel, uint decodeROIInfoIndex,
+ uint index, ref IDQualityPDF417_15415 iDQualityPDF417_15415);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDBarCodeResult", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDBarCodeResult(IntPtr decodeInfoHandel, uint decodeROIInfoIndex,
+ uint index, ref IDBarCodeResult iDBarCodeResultData);
+
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDBarCodeResult_IDQuality15416", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDBarCodeResult_IDQuality15416(IntPtr decodeInfoHandel, uint decodeROIInfoIndex,
+ uint index, ref IDQuality15416 iDQuality15416);
+
+ /*
+ * decodeInfoHandel 鍙ユ焺
+ * decodeType 瑙g爜绫诲瀷 姣斿 1dm 锛�2 qr锛�3 pdf417,4 barcode
+ * decodeROIInfoIndex roi 绗嚑涓猺oi
+ * index 绗嚑涓叿浣撹В鐮佺被鍨嬬粨鏋�
+ * pointIndex绗嚑涓偣
+ * Position 鐐规暟鎹�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDCallback_GetIDResultPosition", CharSet = CharSet.Ansi)]
+ public static extern long IDCallback_GetIDResultPosition(IntPtr decodeInfoHandel, uint decodeType, uint decodeROIInfoIndex,
+ uint index, uint pointIndex, ref IDPoint iDPoint);
+
+ /**
+ * @brief IDVIEWER_Init 浣跨敤SDK鍏朵粬鍔熻兘鍓嶉渶瑕佸厛璋冪敤璇ュ垵濮嬪寲鏂规硶
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_Init_", CharSet = CharSet.Ansi)]
+ public extern static long IDVIEWER_Init_();
+
+ /**
+ * @brief IDVIEWER_DiscoveryDevices 鎵弿璁惧鍒楄〃
+ * @param deviceList 杩斿洖鑾峰彇鐨勮澶囧垪琛�
+ * @param discoveryTime 鎵弿鍛ㄦ湡,榛樿200(鍗曚綅姣)
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_DiscoveryDevices_", CharSet = CharSet.Ansi)]
+ public extern static IntPtr IDVIEWER_DiscoveryDevices_(uint discoveryTime = 1000);
+
+ /**
+ * @brief IDVIEWER_GetDevicesLength_ 璁惧鍒楄〃闀垮害
+ * @param deviceList 杩斿洖鑾峰彇鐨勮澶囧垪琛ㄩ暱搴�
+ *
+ * @return 闀垮害
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_GetDevicesLength_", CharSet = CharSet.Ansi)]
+ public extern static long IDVIEWER_GetDevicesLength_(IntPtr DevicesList);
+
+ /**
+ * @brief IDVIEWER_SelectIDDeviceInfo_ 鑾峰彇鏌愪釜搴忓彿鐨勮澶�
+ * @param DevicesList 褰撳墠璁惧鍒楄〃鎸囬拡
+ * @param index 璁惧鍒楄〃鐨勫簭鍙�
+
+ * @return 璁惧淇℃伅
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_SelectIDDeviceInfo_", CharSet = CharSet.Ansi)]
+ public extern static long IDVIEWER_SelectIDDeviceInfo_(IntPtr DevicesList, ref IDDeviceInfo IDDeviceInfoHandel, uint index);
+
+ /**
+ * @brief IDVIEWER_SetIP 璁剧疆IP 璁剧疆IP鍚庨渶瑕侀噸鏂版壂鎻�
+ * @param deviceInfo 褰撳墠璁惧淇℃伅
+ * @param iPv4 鏂扮殑IP鍦板潃
+ * @param mask 鏂扮殑MASK鍦板潃
+ * @param gateway 鏂扮殑缃戝叧鍦板潃
+ * @param isStatic 鏄惁璁剧疆闈欐�両P(false涓轰复鏃禝P)
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_SetIP_", CharSet = CharSet.Ansi)]
+ public static extern long IDVIEWER_SetIP_(ref IDViewerDefines.IDDeviceInfo deviceInfo, string iPv4, string mask, string gateway, bool isStatic);
+
+ /**
+ * @brief IDVIEWER_CreateDevice CreateDevice 鍒涘缓璁惧
+ * @param deviceInfo 褰撳墠璁惧淇℃伅
+ * @param device 鍒涘缓鐨勮澶囨寚閽�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_CreateDevice_", CharSet = CharSet.Ansi)]
+ public static extern long IDVIEWER_CreateDevice_(ref IDViewerDefines.IDDeviceInfo deviceInfo, ref IntPtr deviceHandle);
+
+ /**
+ * @brief IDVIEWERreateDevice IDVIEWERreateDeviceBySN 鏇村姞SN鍒涘缓璁惧
+ * @param cameraSN 褰撳墠璁惧SN
+ * @param device 鍒涘缓鐨勮澶囨寚閽�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_CreateDeviceBySN_", CharSet = CharSet.Ansi)]
+ public static extern long IDVIEWER_CreateDeviceBySN_(string cameraSN, ref IntPtr deviceHandle);
+
+ /**
+ * @brief IDVIEWERreateDevice IDVIEWERreateDeviceByIP 鏇村姞SN鍒涘缓璁惧
+ * @param cameraIP 褰撳墠璁惧IP
+ * @param device 鍒涘缓鐨勮澶囨寚閽�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_CreateDeviceByIP_", CharSet = CharSet.Ansi)]
+ public static extern long IDVIEWER_CreateDeviceByIP_(string cameraIP, ref IntPtr deviceHandle);
+ /**
+ * @brief IDVIEWER_UnInit 浣跨敤瀹孲DK鍚庤皟鐢ㄩ噴鏀捐祫婧�
+ * @return 閿欒鐮�
+ */
+ [DllImport("IDViewerCSDK.dll", EntryPoint = "IDVIEWER_UnInit_", CharSet = CharSet.Ansi)]
+ public static extern long IDVIEWER_UnInit_(IntPtr deviceList);
+
+ }
+}
+
+
+
--
Gitblit v1.9.3