This is a fork of the fantastic
MadWizard.WinUSBNet
project by Thomas Bleeker and contributors.
Managed wrapper for the WinUSB APIs on Microsoft Windows.
- Replaced P/Invoke code with source generators
- Changed namespace to
Nefarius.Drivers.WinUSB
to avoid conflicts with the origin library - Removed device notification listener as my other lib
Nefarius.Utilities.DeviceManagement
provides a drop-in replacement without depending on WinForms or WPF - Added
USBDevice::GetSingleDeviceByPath
to allow opening a WinUSB device via device path (symbolic link)
- Migrate all buffers to Spans where possible
- Migrate the old asynchronous APIs to
async
/await
and Tasks
Taken verbatim from the source repository.
- MIT licensed with C# source code available (free for both personal and commercial use)
- CLS compliant library (usable from all .NET languages such as C#, VB.NET and C++.NET)
- Synchronous and asynchronous data transfers
- Support for 32-bit and 64-bit Windows versions
- Support for multiple interfaces and endpoints
- Intellisense documentation