The picture below shows the registry entries for the customer properties that are reported by the device using extended properties OS feature descriptor. Those strings are provided by the USB device in its product string descriptor. Create a signed catalog file for the package. This topic contains these sections: The specified elements correspond to the appropriate bits in the buffer. For this, call the following functions: To use WinUSB as the device’s function driver, you create a driver package.

Uploader: Milar
Date Added: 15 January 2010
File Size: 68.48 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 22147
Price: Free* [*Free Regsitration Required]

However, devices can also use the default endpoint for device-specific purposes.

There is exactly one loaded instance of Winusb. During enumeration, the USB driver stack reads the extended properties feature descriptors and creates registry entries under this key:. Ot thread is locked.

The preceding figure shows an example WinUSB configuration that implements three device interface classes, each of which has a single registered device interface:. The user can check or uncheck the box to enable or disable USB system wake. The new class property is not supported on earlier versions of Windows.

Getting information about the device, configuration, and interface settings of all interfaces, and their endpoints.

WinUSB () Installation – Windows drivers | Microsoft Docs

You will not be able to directly install “Winusb. There are no open issues. Please get back to us if you have any more questions about this issue.


The function returns LowSpeed 0x01 or HighSpeed 0x At least one isn’t running. Those strings are provided by the USB device in its product string descriptor. For this request, the device requires a 1-byte data buffer that specifies which elements should be lit by setting the appropriate bits.

Only include a ClassInstall32 section in a device INF file to install a new custom device setup class. You may also leave feedback directly on GitHub.

However, the device class description is derived from the registry setting specified in your INF. For example, provide an appropriate manufacture’s name, the name of your signed catalog file, the correct device class, and the vendor identifier VID and product identifier PID for the device. Functiom asking this question because I keep getting these errors when I try to upgrade drivers: Therefore, for these devices the AlternateSettingNumber parameter is set to zero and the function is called only one time.

Selective suspend allows the device to enter low-power state when it is idle. Most USB devices can use these sections and directives without modification. Prerequisites The following items apply to this walkthrough: The specified elements correspond to the appropriate bits in the buffer.

WinUSB () – Windows drivers | Microsoft Docs

After the device is enumerated and initialized, these registry entries get written under the Device Parameters section of the hardware key. If your computer is configured to get driver update automatically, the WinUSB driver aas get installed without any user intervention by using the new INF package.


Next, send data to the device’s bulk-in and bulk-out endpoints that can be used for read and write requests, respectively. In other words, when a wonusb.sys is installed under “USBDevice” class, system queries the device for a device description and sets the Device Manager string to whatever is retrieved in the query.

WinUSB Architecture and Modules

You may also leave feedback directly on GitHub. The procedure is similar to the one that USB device drivers use. This value is set to 1 to allow the user to control the ability of the device to wake the system from a functionn state. This class is system-defined on Windows 8. Hoe wake refers to the ability to a device to wake up a system when the system is in low-power state.

For device-to-host transfers, set RequestType to 1.