HidLibrary,从USB设备获取序列号

时间:2015-06-23 12:16:42

标签: c# hid

我使用以下工具箱: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”背后的含义是什么?

请求帮助!

1 个答案:

答案 0 :(得分:2)

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

data

我假设如果方法成功则结果为true,如果失败则结果为false。如果成功,我希望out变量可以填充您需要的数据。

此外,如果您不确定<android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:src="@android:drawable/ic_menu_add" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" app:elevation="5dp" app:borderWidth="0dp" app:fabSize="mini"/> 在此上下文中的含义,请参阅该主题的MSDN页面。