Access your USB devices with this library
libusb-win32 is an Open Source port of the libusb library. This library allows user space programs to gain access to many USB device on Windows operating system in a generic way without writing any line of kernel driver code.
Here are some key features of "libusb-win32":
· Can be used as a filter driver for existing, already installed devices. This feature allows libusb-win32 to communicate with many installed USB device. The filter driver may cause problems for certain device, including potential BSODs for certain setup. Therefore it should not be used by inexperienced end users. We recommend that it not to be redistributed to end users. Rather it should be considered more as a development tool for developers or power users of Windows.
· Starting with v22.214.171.124, a GUI (filter wizard) is provided and it is only to attach the filter driver to particular USB device of interests. So this should be safer to use than the older behavior which tries to attach the filter to all USB device (acting as class filters to all possible device class). It is still possible to do that by using the console version of install-filter.exe but this is only recommended to be used by developers and power users.
· When you use the device filter mode using the Filter Wizard GUI, you may have to repeat the process if you unplug the device and plug it back in.
· Can be used as a normal device driver for devices for which no driver exists (self build/developed USB hardware, etc). You can also replace the existing device driver with libusb-win32 device driver if desired. This is the preferred way to use libusb-win32.
· When you use the Inf-Wizard GUI to replace a device with inbox driver (like HID or USB Mass Storage Device), you may need to repeat the process if you plug in a same device but with different serial number. This is because Windows prefers inbox driver (signed) and ranks it higher than the libusb-win32 driver package.
· The two methods described above can be used in parallel. However, the device driver mode is the preferred way to use libusb-win32 followed by using device filter driver mode. The class filter driver is not recommended to be used.
· 100% API and functional compatible with the libusb 0.1 project.
· Supports all USB transfer: Control, Bulk, Interrupt and Isochronous transfers. Take note the libusb 0.1 under other OS (Linux, Mac OS X, BSDs, etc) does not support Isochronous Transfer under other Operating Systems like Linux. libusb-win32 also has its own asynchronous API which is not available to libusb-0.1 under Linux or other OS.
· Supports all Standard Device Requests (control messages) described in chapter 9 of the USB specification.
· Supports vendor specific control messages.