public static string ReadDeviceUID(int devhandle)
        {
            IntPtr errmsg = new IntPtr();

            errmsg = Marshal.AllocHGlobal(0x400);
            string str = null;

            lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct data = new lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct();
            DevInstanceMgr.SEQInfo info = new DevInstanceMgr.SEQInfo();
            int    seq  = lnk_sdk_interface.LNX_SDK_Interface_X64.read_device_info(nethandle, devhandle, 300, 3, m_send_read_device_info_callback_def, errmsg);
            string str2 = Marshal.PtrToStringAnsi(errmsg);

            Marshal.FreeHGlobal(errmsg);
            if (seq == -1)
            {
                return(str);
            }
            int num2 = 10;

            while (num2-- > 0)
            {
                info = DevInstanceMgr.SEQFindInfo(seq);
                if (info != null)
                {
                    data = (lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct)info.Data;
                    break;
                }
                Thread.Sleep(100);
            }
            return(new string(data.uid));
        }
        public static string[] ReadDeviceInfo(int devhandle)
        {
            IntPtr errmsg = new IntPtr();

            errmsg = Marshal.AllocHGlobal(0x400);
            List <string> list = new List <string>();

            string[] strArray = null;
            lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct data = new lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct();
            DevInstanceMgr.SEQInfo info = new DevInstanceMgr.SEQInfo();
            int    seq = lnk_sdk_interface.LNX_SDK_Interface_X64.read_device_info(nethandle, devhandle, 300, 3, m_send_read_device_info_callback_def, errmsg);
            string str = Marshal.PtrToStringAnsi(errmsg);

            Marshal.FreeHGlobal(errmsg);
            if (seq == -1)
            {
                return(strArray);
            }
            int num2 = 10;

            while (num2-- > 0)
            {
                info = DevInstanceMgr.SEQFindInfo(seq);
                if (info != null)
                {
                    data = (lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct)info.Data;
                    break;
                }
                Thread.Sleep(100);
            }
            list.Add(new string(data.hardname));
            list.Add(new string(data.softver));
            list.Add(new string(data.macaddr));
            return(list.ToArray());
        }
 public static void SEQAdd(SEQInfo SEQInfo)
 {
     DevInstanceMgr.SEQInfo item = new DevInstanceMgr.SEQInfo {
         SEQ       = SEQInfo.SEQ,
         TimeStamp = DateTime.Now,
         Data      = SEQInfo.Data
     };
     lsSeq.Add(item);
 }
        private static int default_send_callback_defPro(int nethandle, int devhandle, int sendid, int sendstatus, IntPtr errmsg)
        {
            string str = Marshal.PtrToStringAnsi(errmsg);

            if (sendstatus != -10)
            {
                DevInstanceMgr.SEQInfo sEQInfo = new DevInstanceMgr.SEQInfo {
                    SEQ = sendid
                };
                DevInstanceMgr.SEQAdd(sEQInfo);
            }
            return(0);
        }
        private static int send_read_device_info_callback_defPro(int nethandle, int devhandle, int sendid, int sendstatus, IntPtr errmsg, IntPtr devinfo)
        {
            string str = Marshal.PtrToStringAnsi(errmsg);

            if (sendstatus != -10)
            {
                lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct struct2 = (lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct)Marshal.PtrToStructure(devinfo, typeof(lnk_sdk_interface.LNX_SDK_Interface_X64.DeviceInfoStruct));
                DevInstanceMgr.SEQInfo sEQInfo = new DevInstanceMgr.SEQInfo {
                    SEQ  = sendid,
                    Data = struct2
                };
                DevInstanceMgr.SEQAdd(sEQInfo);
            }
            return(0);
        }