USB 디바이스 레지스트리 항목

이 문서에서는 USB 디바이스별 레지스트리 항목에 대해 설명합니다.

중요

이 항목은 프로그래머를 위한 것입니다. USB 문제가 발생하는 고객인 경우 일반적인 USB 문제 해결을 참조하세요.

USB 드라이버 스택 동작을 구성하기 위한 레지스트리 설정

이 문서에서 설명하는 레지스트리 항목은 다음 키 아래에 있습니다.

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

vvvvpppprrrr 키에서

  • vvvv 는 공급업체를 식별하는 4자리 16진수입니다.
  • pppp 는 제품을 식별하는 4자리 16진수입니다.
  • rrrr 은 디바이스의 수정 번호를 포함하는 4자리 16진수입니다.

공급업체 ID, 제품 ID 및 수정 번호 값은 USB 디바이스 설명자에서 가져옵니다. USB_DEVICE_DESCRIPTOR 구조는 디바이스 설명자를 설명합니다.

다음 표에서는 vvvvpppprrrr 키에 대한 가능한 레지스트리 항목에 대해 설명합니다. USB 드라이버 스택은 이러한 항목을 읽기 전용 값으로 간주합니다.

레지스트리 항목 Description 가능한 값
osvc

REG_BINARY
운영 체제가 Microsoft에서 정의한 USB 설명자에 대해 디바이스를 쿼리했는지 여부를 나타냅니다. 이전에 시도한 OS 설명자 쿼리가 성공한 경우 값에는 OS 문자열 설명자의 공급업체 코드가 포함됩니다.
  • 0x0000: 디바이스가 Microsoft OS 문자열 설명자 요청에 대한 유효한 응답을 제공하지 않았습니다.
  • 0x01xx: 디바이스가 Microsoft OS 문자열 설명자 요청에 유효한 응답을 제공했습니다. 여기서 xx는 응답에 포함된 bVendorCode 입니다.
IgnoreHWSerNum

REG_BINARY
USB 드라이버 스택이 디바이스의 일련 번호를 무시해야 하는지 여부를 나타냅니다.
  • 0x00: 설정을 사용할 수 없습니다.
  • 0x01: USB 드라이버 스택이 디바이스의 일련 번호를 무시하도록 합니다. 따라서 디바이스 instance 디바이스가 연결된 포트에 연결됩니다.
ResetOnResume

REG_BINARY
절전 모드 주기에서 포트가 다시 시작될 때 USB 드라이버 스택이 디바이스를 다시 설정해야 하는지 여부를 나타냅니다.
  • 0x0000: 설정을 사용할 수 없습니다.
  • 0x0001: USB 드라이버 스택이 포트 다시 시작에서 디바이스를 다시 설정하도록 강제합니다.

Windows에서 열거한 후 디바이스 정보 찾기

디바이스에 대한 디바이스 인터페이스 GUID, 하드웨어 ID 및 디바이스 클래스 정보 보기

  1. 관심 있는 디바이스 인터페이스를 노출하는 디바이스를 찾고 instance ID를 기록해 둡니다. 예를 들어 디바이스 인터페이스가 {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. 디바이스에 대해 호환되는 ID 목록을 검색하고 디바이스 클래스, 하위 클래스 및 프로토콜 코드를 기록해 둡니다.

    >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