Usb Drivers Development Kit for Windows
Find a file
Dmitry Fleytman db95b4651e FilterDevice: Fix recognition of HUB devices
Sometimes UsbDk cannot query device descriptors for USB hubs,
in such cases it does not attach to theirs stack during parent bus
relations processing.

However, since UsbDk is registered as USB hub class filter,
WDF will call its AddDevice callback anyway.

In this case UsbDk should assume that it is dealing with a hub
and assign its usual hub strategy.

Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2017-02-02 12:04:36 +02:00
Documentation Documentation: Include directions for older versions of Windows in WDF log dumping manual 2016-01-27 09:52:13 +02:00
Tools UsbDk: Added documentation on WDF log generation 2016-01-21 14:24:48 +02:00
UsbDk FilterDevice: Fix recognition of HUB devices 2017-02-02 12:04:36 +02:00
UsbDk Package Install: Introduce helper application for MSI installer 2014-11-13 17:34:45 +02:00
UsbDkController UsdDkController: Clarify redirection option in the help screen 2015-12-24 18:39:59 +02:00
UsbDkHelper UsbDkHelper: Add static modifier to printExceptionString function 2017-01-26 18:03:27 +02:00
UsbDkInstHelper UsbDk: Trivial: Ditch dummy TODOs 2015-12-24 10:35:35 +02:00
.editorconfig UsbDk: Introduce .editorconfig file 2014-06-22 09:31:22 +03:00
.gitignore UsbDk: Add all build output to .gitignore 2014-08-12 11:30:32 +03:00
ARCHITECTURE ARCHITECTURE: Extend hider API description 2015-02-26 15:49:46 +02:00
buildAll.bat Install: Introduce MSI creation scripts 2014-12-04 16:35:07 +02:00
LICENSE UsbDk: Add license-related files and headers 2014-05-20 11:56:20 +03:00
MAINTAINERS Global: Introduce MAINTAINERS file 2015-02-17 09:49:14 +02:00
README.md readme: Add link to Documentation folder 2015-09-22 14:38:16 +03:00
UsbDk.sln UsbDk: Update VS2013 version number in solution file 2015-03-31 11:18:50 +03:00

UsbDk

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.

Documentation

  • See ARCHITECTURE document in the source tree root.
  • See Documentation folder in the source tree root.
  • See UsbDkHelper\UsbDkHelper.h UsbDkHelper\UsbDkHelperHider.h for API documentation

Building

Tools required:

  • Visual Studio 2013/Visual Studio 2013 Express update 4 or newer
  • WDK 8.1
  • WDK 7.1 (for Windows XP/2003/Vista/2008 builds)

Compilation

Just open UsbDk.sln from the source tree root in Visual Studio 2013 and compile desired configuration.

Installing and running

Use UsbDkController.exe to install/uninstall and verify basic operation. Run UsbDkController.exe without parameters for command line options.