다음을 통해 공유


표준 USB 식별자

USB 디바이스에 대해 생성된 식별자 집합은 디바이스가 단일 인터페이스 디바이스인지 다중 인터페이스 디바이스인지에 따라 달라집니다.

단일 인터페이스 USB 디바이스

새 USB 디바이스가 연결되면 시스템에서 제공하는 USB 허브 드라이버는 디바이스의 디바이스 설명자에서 추출된 정보를 사용하여 다음 디바이스 ID를 작성합니다.

USB\VID_v(4)&PID_d(4)&REV_r(4)

여기서

  • v(4) 는 USB 위원회가 공급업체에 할당하는 공급업체 코드입니다.
  • d(4) 는 공급업체가 디바이스에 할당하는 제품 코드입니다.
  • r(4) 은 수정 코드입니다.

허브 드라이버는 디바이스 설명자의 idVendor, idProduct 및 bcdDevice 필드에서 공급업체 및 제품 코드를 각각 추출합니다. 이러한 코드는 4자리 16진수입니다.

INF 모델 섹션에서는 다음 하드웨어 ID를 지정할 수도 있습니다.

USB\VID_v(4)&PID_d(4)

호환되는 ID는 다음과 같습니다.

USB\CLASS_c(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

여기서

디바이스 설명자의 bDeviceClass, bDeviceSubClassbDeviceProtocol 필드는 각각 디바이스 클래스 코드, 하위 클래스 코드 및 프로토콜 코드를 결정합니다. 이러한 코드는 두 자리 16진수입니다.

다중 인터페이스 USB 디바이스

여러 인터페이스가 있는 디바이스를 복합 디바이스라고 합니다. 새 USB 복합 디바이스 가 Windows 컴퓨터에 연결되면 USB 허브 드라이버는 물리적 디바이스 개체(PDO)를 만들고 운영 체제에 자식 디바이스 목록을 업데이트하도록 알릴 수 있습니다. Windows는 허브 드라이버에 새 PDO와 연결된 하드웨어 식별자를 쿼리한 후 적절한 INF 파일을 검색하여 식별자에 대한 일치 항목을 찾습니다. USB\COMPOSITE 이외의 일치 항목을 찾으면 INF 파일에 표시된 드라이버를 로드합니다. 그러나 다른 일치 항목이 없는 경우 운영 체제는 USB 일반 부모 드라이버를 로드하는 호환 ID USB\COMPOSITE를 사용합니다. 그런 다음 일반 부모 드라이버는 별도의 PDO를 만들고 복합 디바이스의 각 인터페이스에 대해 별도의 하드웨어 식별자 집합을 생성합니다.

각 인터페이스에는 다음 형식의 디바이스 ID가 있습니다.

USB\VID_v(4)&PID_d(4)&MI_z(2)

여기서

  • v(4) 는 USB 위원회가 공급업체에 할당하는 공급업체 코드입니다.
  • d(4) 는 공급업체가 디바이스에 할당하는 제품 코드입니다.
  • z(2)는 해당 인터페이스 설명자의 bInterfaceNumber 필드에서 추출된 인터페이스 번호입니다.

INF 모델 섹션에서는 다음과 같은 호환 ID를 지정할 수도 있습니다.

USB\CLASS_d(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

여기서

  • d(2) 는 디바이스 설명자에서 가져온 디바이스 클래스 코드입니다.
  • s(2) 는 하위 클래스 코드입니다.
  • p(2) 는 프로토콜 코드입니다.

인터페이스 설명자의 bInterfaceClass, bInterfaceSubClassbInterfaceProtocol 필드는 각각 디바이스 클래스 코드, 하위 클래스 코드 및 프로토콜 코드를 결정합니다. 이러한 코드는 두 자리 16진수입니다.