HidLibrary,从USB设备获取序列号

本文关键字:获取 序列号 USB HidLibrary | 更新日期: 2023-09-27 17:59:04

我正在使用以下工具箱: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;
        }

如何调用方法来获取设备的序列号?我尝试过,但没有成功。我还没有使用"out byte[]"。"out byte"背后的含义是什么?

请寻求帮助!

HidLibrary,从USB设备获取序列号

要调用方法,可以使用以下方法:

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

若方法成功,我假设结果为true,若失败,则为false。如果它成功了,我希望data变量中填充您需要的数据。

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