What's the difference between DEVINTERFACE_USB_DEVICE and WinUSB?
See original GitHub issueI noticed there are 3 type devices defined in WindowsDeviceConstants.cs
public static Guid GUID_DEVINTERFACE_HID = new Guid("4D1E55B2-F16F-11CF-88CB-001111000030");
public static Guid GUID_DEVINTERFACE_USB_DEVICE = new Guid("A5DCBF10-6530-11D2-901F-00C04FB951ED");
public static Guid WinUSBGuid = new Guid("dee824ef-729b-4a0e-9c14-b7117d33a817");
So, what’s the difference between DEVINTERFACE_USB_DEVICE and WinUSB?
Issue Analytics
- State:
- Created 5 years ago
- Reactions:2
- Comments:7 (5 by maintainers)
Top Results From Across the Web
WinUSB device - Windows drivers
A WinUSB device is a Universal Serial Bus (USB) device whose firmware defines certain Microsoft operating system (OS) feature descriptors that ...
Read more >usb - How to work with WinUSB?
WinUsb.sys is a kernel-mode driver that can be installed as either a filter or function driver, above the protocol drivers in a USB...
Read more >WinUSB - Wikipedia
WinUSB is a generic USB driver provided by Microsoft, for their operating systems starting with Windows Vista but which is also available for...
Read more >What is the difference from MCHPUSB and WinUSB drivers?
Actually MCHPUSB driver (based on WDM model) works under Windows Vista or 7. It also works under Win2k, XP64 and Windows 2003 32bit/64bit....
Read more >Explore USB with WinUSB
One reason why USB is so versatile is its support for four transfer types, each with different strengths. WinUSB supports control, bulk, and...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

EDIT: I think I figured it out now; only devices using WinUsb driver are supported so that is the reason for the GUID choice. I didn’t have any such devices connected at first (except “Billboard device” related to USB type-C, which should be a WinUsb device according to Device Manager, but doesn’t show up for some reason). Maybe the documentation could be made more clear on this?
I just struggled with a problem where no USB devices at all were listed when using WinUSB GUID:
After changing the GUID in WindowsDeviceFactoryBase.cs GetConnectedDeviceDefinitionsAsync
//var guidString = GetClassGuid().ToString(); var guidString = WindowsDeviceConstants.GUID_DEVINTERFACE_USB_DEVICE.ToString();now devices get listed:
Running on Windows Desktop (Win 10 Pro ver 1903, build 18362.535) Usb.Net.WindowsSample but commented out HID and serial port device factories and enabled DebugLogger LogToConsole. Device.Net version 3.1.0
@st-arnold thanks for letting me know. I’d be keen to know if you can connect to any of those devices. I’ve been able to enumerate them in the past, but I only get errors when I connect. If you can connect to one, I’ll look at adding the guid to the library.