Project Description
The WinUsbNet class library gives .NET managed code direct access to USB devices through WinUSB, the generic USB device driver included with Windows. The project also includes tools to create & install WinUSB installation files, and a sample application.


This project is intended for developers who are creating their own USB device. Using WinUsbNet eliminates the need to understand anything about Windows device drivers. If you know what a USB endpoint is and can use the .NET Framework class Stream, you know enough to transfer data between your application and your USB device.

This project could also be useful for someone who wants to make their own interface to an existing USB device. You will need to understand the data transfer protocols of the target device.

Project Components

  • USB INF Builder creates the Windows device driver installation file (INF) that makes WinUSB the device driver for a given USB device.
  • Microsoft's installer for WinUSB is included, both 32-bit and 64-bit.
  • DeviceInstall, the device driver installer, registers the INF with Windows and makes sure WinUSB is installed.
  • The WinUsbNet class library provides the interface between your application and the USB device. Complete documentation of the library in HTML Help is included.
  • The WinUsbNet Test App is a sample application that lets you set up small data transfers with the USB device.

Last edited Feb 21, 2012 at 11:00 PM by DosMan, version 3