Lakeview Research home > USB Central > USB Code > WinUSB
WinUSB
Jan Axelson
WinUSB a generic driver for devices that don't fit a defined USB class. The driver was introduced with Windows Vista and is also usable on Windows XP systems. The driver is not usable on earlier Windows editions. The driver supports control, bulk, and interrupt transfers.
Host Application
These are my .NET host applications for accessing devices that use the WinUSB driver. The applications are identical except for the programming language. Each includes an example INF file to match the device's Vendor ID and Product ID to a device interface GUID.
Current Versions
winusb_vb for Visual Basic .NET. Created with Visual Studio 2008 for the .NET Framework V2.0 or later. Updated 2/11/09.
winusb_cs for Visual C# .NET. Created with Visual Studio 2008 for the .NET Framework V2.0 or later. Updated 2/11/09.
Older Versions
winusb_vb for Visual Basic .NET. Created with Visual Studio 2005 and the .NET Framework V2.0.
winusb_cs for Visual C# .NET. Created with Visual Studio 2005 and the .NET Framework V2.0.
WDK
Installing WinUSB on a PC requires files from the Windows Driver Kit (WDK), a free download from Microsoft.
Device Firmware
winusb_c18_fsusb_fw2-3.zip
is my Microchip PIC microcontroller firmware for devices whose host driver
is WinUSB. Written for the PIC 18F4550 and Microchip's C18 C compiler with
Microchip's V2.3 USB Framework. See the readme file to find out how to create
the project in the Framework directory structure. (The V2.3 Framework includes
a WinUSB example, but my code supports more endpoints and vendor-defined control
transfers.) Updated 10/4/08.
Older versions of this code are winusb_c18_fsusb.zip for the V2.1 Framework and mchp_winusb for the V1.x Framework. Use the newer Framework and code unless you have a compelling reason not to.
More Info
WinUSB. Microsoft documentation.
How to Use WinUSB to Communicate with a USB Device. From Microsoft.
