【问题标题】:HidLibrary, Get Serial Number from USB deviceHidLibrary,从 USB 设备获取序列号
【发布时间】:2015-06-23 20:53:40
【问题描述】:

我正在使用以下工具箱:HidLibrary

因为我是初学者,所以我只想知道如何从 USB 设备获取序列号。

在.dll里面定义:

public bool ReadSerialNumber(out byte[] data)
        {
            data = new byte[64];
            IntPtr hidHandle = IntPtr.Zero;
            bool success = false;
            try
            {
                if (IsOpen)
                    hidHandle = Handle;
                else
                    hidHandle = OpenDeviceIO(_devicePath, NativeMethods.ACCESS_NONE);

                success = NativeMethods.HidD_GetSerialNumberString(hidHandle, ref data[0], data.Length);
            }
            catch (Exception exception)
            {
                throw new Exception(string.Format("Error accessing HID device '{0}'.", _devicePath), exception);
            }
            finally
            {
                if (hidHandle != IntPtr.Zero && hidHandle != Handle)
                    CloseDeviceIO(hidHandle);
            }

            return success;
        }

如何调用获取设备SN的方法?我尝试但没有成功。我还没有使用“out byte []”。 “out byte”是什么意思?

请帮忙!

【问题讨论】:

    标签: c# hid


    【解决方案1】:

    要调用该方法,您可以使用以下内容:

    var hidDevice = ...;
    byte[] data;
    
    var result = hidDevice.ReadSerialNumber(out data);
    

    如果方法成功,我假设结果为真,如果失败,则为假。如果成功,我希望data 变量会填充您需要的数据。

    此外,如果您不确定 out 在此上下文中的含义,请参阅有关该主题的 MSDN 页面。

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      相关资源
      最近更新 更多