0

为了进行研究,我研究了 Libusb 以了解 hotluging 是如何完成的。对于 Linux,我在libusb\os\linux_udev.c中找到了相应的源代码,其中启动了一个在 udev 上进行 poll() 的线程。但是,在 Libusb 的源代码中花费了数小时后,我无法弄清楚 Windows 中的热插拔是如何完成的。

libusb\os\ windows_winusb.c 中,显然 winusb 驱动程序用于获取设备列表(static int winusb_get_device_list(..)),但这并不是热插拔的事情。有人可以指出我正确的方向吗?

我在我的项目中使用 usb4java(一个 libusb Java 包装器)并且可以很好地检测到附加/分离事件,但我想知道它是如何工作的。

4

1 回答 1

0

以防万一有人需要这个。我发现根据 libusb 开发论坛,它不能。在我的例子中,这是由 java4usb 包装器完成的,由于 JavaX API javax.usb,它是可热插拔的。

于 2019-02-14T18:28:04.717 回答