USB device registry entries

This topic describes USB device-specific registry entries.

Important

This topic is for programmers. If you are a customer experiencing USB problems, see Troubleshoot common USB problems

Registry settings for configuring USB driver stack behavior

The registry entries described in this topic are found under this key:

HKEY_LOCAL_MACHINE
   SYSTEM
      CurrentControlSet
         Control
            usbflags
               <vvvvpppprrrr>
                  <Device-specific registry entry>

In the vvvvpppprrrr key,

  • vvvv is a 4-digit hexadecimal number that identifies the vendor
  • pppp is a 4-digit hexadecimal number that identifies the product
  • rrrr is a 4-digit hexadecimal number that contains the revision number of the device.

The vendor ID, product ID, and revision number values are obtained from the USB device descriptor. The USB_DEVICE_DESCRIPTOR structure describes a device descriptor.

The following table describes the possible registry entries for the vvvvpppprrrr key. The USB driver stack considers these entries to be read-only values.

Registry entry Description Possible values

osvc

REG_BINARY

Indicates whether the operating system queried the device for Microsoft-defined USB descriptors. If the previously-attempted OS descriptor query was successful, the value contains the vendor code from the OS string descriptor.

  • 0x0000: The device did not provide a valid response to the Microsoft OS string descriptor request.
  • 0x01xx: The device provided a valid response to the Microsoft OS string descriptor request, where xx is the bVendorCode contained in the response.

IgnoreHWSerNum

REG_BINARY

Indicates whether the USB driver stack must ignore the serial number of the device.

  • 0x00: The setting is disabled.
  • 0x01: Forces the USB driver stack to ignore the serial number of the device. Therefore, the device instance is tied to the port to which the device is attached.

ResetOnResume

REG_BINARY

Indicates whether the USB driver stack must reset the device when the port resumes from a sleep cycle.

  • 0x0000: The setting is disabled.
  • 0x0001: Forces the USB driver stack to reset a device on port resume.

Find device information after it enumerates on Windows

View the device interface GUID, Hardware Id, and device class information about your device

  1. Find this registry key and note the DeviceInstance value:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses\

    Screenshot of USB hardware ID in Windows RegEdit.

  2. Find the device instance registry key and get the device interface GUID:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\<hardware id>\<instance id>\Device Parameters

    Screenshot of USB device interface GUID in Windows RegEdit.

  3. Under the device instance key, note the device class, subclass, and protocol codes:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

    Screenshot of USB device class subclass protocol codes in Windows RegEdit.