Поделиться через


Записи реестра USB-устройств

В этой статье описываются записи реестра, относящиеся к USB-устройству.

Внимание

Этот раздел предназначен для программистов. Если у вас возникли проблемы с USB, см. статью "Устранение проблем с USB-C" в Windows

Параметры реестра для настройки поведения стека драйверов USB

Записи реестра, описанные в этой статье, находятся в следующем разделе:

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

В ключе vvvpppprrrrrr,

  • vv — это шестнадцатеричное число 4-цифры, определяющее поставщика.
  • pppp — это шестнадцатеричное число 4-цифры, определяющее продукт.
  • rrrr — это шестнадцатеричное число, содержащее номер редакции устройства.

Значения идентификатора поставщика, идентификатора продукта и номера редакции получаются из дескриптора USB-устройства. Структура USB_DEVICE_DESCRIPTOR описывает дескриптор устройства.

В следующей таблице описаны возможные записи реестра для ключа vvvvpppprrrrrr. Стек USB-драйверов считает, что эти записи доступны только для чтения.

Параметр реестра Description Возможные значения
osvc

REG_BINARY
Указывает, запрашивает ли операционная система устройство для дескрипторов USB, определенных корпорацией Майкрософт. Если ранее выполненный запрос дескриптора ОС был успешно выполнен, значение содержит код поставщика из дескриптора строки ОС.
  • 0x0000. Устройство не предоставило допустимый ответ на запрос дескриптора строки ОС Майкрософт.
  • 0x01xx: устройство предоставило допустимый ответ на запрос дескриптора строки ОС Майкрософт, где xx — bVendorCode , содержащийся в ответе.
IgnoreHWSerNum

REG_BINARY
Указывает, должен ли стек USB-драйверов игнорировать серийный номер устройства.
  • 0x00. Параметр отключен.
  • 0x01. Позволяет стеку USB-драйверов игнорировать серийный номер устройства. Поэтому экземпляр устройства привязан к порту, к которому подключено устройство.
ResetOnResume

REG_BINARY
Указывает, должен ли стек USB-драйверов сбрасывать устройство, когда порт возобновляется из цикла спящего режима.
  • 0x0000. Параметр отключен.
  • 0x0001. Принудительно стек USB-драйверов сбрасывает устройство в возобновлении порта.

Поиск сведений об устройстве после перечисления в Windows

Просмотр сведений об идентификаторе интерфейса устройства, идентификаторе оборудования и классе устройства

  1. Найдите устройство, которое предоставляет интересующий вас интерфейс устройства и запишите идентификатор экземпляра. Например, если интерфейс устройства принадлежит классу {A5DCBF10-6530-11D2-901F-00C04FB951ED}, можно найти правильный интерфейс устройства и устройство со следующими параметрами:

    >pnputil /enum-interfaces /class {A5DCBF10-6530-11D2-901F-00C04FB951ED} /instanceid
    
    Microsoft PnP Utility
    
    Interface Path:         \\?\USB#VID_045E&PID_0840#0C33CG9212501N0#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Interface Description:  Unknown
    Interface Class GUID:   {a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device Instance ID:     USB\VID_045E&PID_0840\0C33CG9212501N0
    Interface Status:       Enabled
    
    Interface Path:         \\?\USB#VID_045E&PID_07A5#5&109d12e&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Interface Description:  Unknown
    Interface Class GUID:   {a5dcbf10-6530-11d2-901f-00c04fb951ed}
    Device Instance ID:     USB\VID_045E&PID_07A5\5&109d12e&0&1
    Interface Status:       Enabled
    
  2. Получите список совместимых идентификаторов для устройства и запишите класс устройства, подкласс и коды протоколов:

    >pnputil /enum-devices /instanceid "USB\VID_045E&PID_0840\0C33CG9212501N0" /ids
    
    Microsoft PnP Utility
    
    Instance ID:                USB\VID_045E&PID_0840\0C33CG9212501N0
    Device Description:         USB Composite Device
    Class Name:                 USB
    Class GUID:                 {36fc9e60-c465-11cf-8056-444553540000}
    Manufacturer Name:          (Standard USB Host Controller)
    Status:                     Started
    Driver Name:                usb.inf
    Hardware IDs:               USB\VID_045E&PID_0840&REV_0215
                                USB\VID_045E&PID_0840
    Compatible IDs:             USB\COMPAT_VID_045E&DevClass_00&SubClass_00&Prot00
                                USB\COMPAT_VID_045E&DevClass_00&SubClass_00
                                USB\COMPAT_VID_045E&DevClass_00
                                USB\DevClass_00&SubClass_00&Prot_00
                                USB\DevClass_00&SubClass_00
                                USB\DevClass_00
                                USB\COMPOSITE