UsbDk (USB Development Kit) is a open-source library for Windows meant to provide user mode applications with direct and exclusive access to USB devices by detaching those from Windows PNP manager and device drivers and providing user mode with API for USB-specific operations on the device.
The library is intended to be as generic as possible, support all types of USB devices, bulk and isochronous transfers, composite devices etc.
Library supports all Windows OS versions starting from Windows XP/2003.
Tools required:
Compilation
Just open UsbDk.sln from the source tree root in Visual Studio 2015 and compile desired configuration.
Use UsbDkController.exe to install/uninstall and verify basic operation. Run UsbDkController.exe without parameters for command line options.