This section specifies the hardware IDs that the HID class driver generates for top-level collections.
공급업체는 공급업체 하드웨어 ID 형식으로 지정된 형식을 사용하여 최상위 컬렉션을 식별해야 합니다. All other device ID formats are reserved for internal use only.
HID 클래스 드라이버가 devnode에 대해 생성하는 하드웨어 ID는 다음 사항에 따라 달라집니다.
- 기본 전송에서 지원하는 함수 수
- 보고서 설명자의 최상위 수준 컬렉션 수
이러한 요인에 따라 하드웨어 ID에는 4가지 범주가 있습니다.
| Type | Single TLC | Multiple TLC |
|---|---|---|
| Single-Function | Case 1 | Case 2 |
| Multi-Function | Case 3 | Case 4 |
사례 1: 단일 TLC를 사용하는 단일 함수 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송에서 지원하는 함수 수 = 1 &>
- TLC 수 = 1
하드웨어 ID 형식:
- HID\Vid_v(4)&Pid_d(4)&Rev_r(4)
- HID\Vid_v(4)&Pid_d(4)
- HID_DEVICE_UP:p(4)_U:u(4)
- HID_DEVICE
사례 2: 여러 TLC를 사용하는 단일 함수 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송에서 지원하는 함수 수 = 1 &>
- TLC > 1의 수
하드웨어 ID 형식:
- HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&Colb(2)
- HID\Vid_v(4)&Pid_d(4)&Colb(2)
- HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INFS 전용으로 예약됨]
- HID_DEVICE [WINDOWS INF에만 예약됨]
사례 3: 단일 TLC를 사용하는 다기능 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송 > 1에서 지원하는 함수 수(&A)
- TLC 수 = 1
하드웨어 ID 형식:
- HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&MI_z(2)
- HID\Vid_v(4)&Pid_d(4)&MI_z(2)
- HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INFS 전용으로 예약됨]
- HID_DEVICE [WINDOWS INF에만 예약됨]
사례 4: 여러 TLC가 있는 다기능 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송 > 1에서 지원하는 함수 수(&A)
- TLC > 1의 수
하드웨어 ID 형식:
- HID\Vid_v(4)&Pid_d(4)&Rev_r(4)&MI_z(2)&Colb(2)
- HID\Vid_v(4)&Pid_d(4)&MI_z(2)&Colb(2)
- HID_DEVICE_UP:p(4)_U:u(4) [WINDOWS INFS 전용으로 예약됨]
- HID_DEVICE [WINDOWS INF에만 예약됨]
특수 용도 하드웨어 ID
다음은 Windows에서 기본 시스템 기능을 제공하는 데 사용하는 하드웨어 ID(내부 전용)입니다.
| Device Type | Usage Page | Usage | Hardware ID |
|---|---|---|---|
| Pointer | 0x01 | 0x01 | HID_DEVICE_SYSTEM_MOUSE |
| Mouse | 0x01 | 0x02 | HID_DEVICE_SYSTEM_MOUSE |
| Joystick | 0x01 | 0x04 | HID_DEVICE_SYSTEM_GAME |
| Game pad | 0x01 | 0x05 | HID_DEVICE_SYSTEM_GAME |
| Keyboard | 0x01 | 0x06 | HID_DEVICE_SYSTEM_KEYBOARD |
| Keypad | 0x01 | 0x07 | HID_DEVICE_SYSTEM_KEYBOARD |
| System control | 0x01 | 0x80 | HID_DEVICE_SYSTEM_CONTROL |
| 소비자 오디오 컨트롤 | 0x0C | 0x01 | HID_DEVICE_SYSTEM_CONSUMER |
Important notes:
- HIDClass에서 생성된 호환 ID가 없습니다.
- 공급업체 타사 INF는 하드웨어 ID와만 일치해야 합니다.
- HID_DEVICE_SYSTEM_*를 포함하는 하드웨어 ID는 운영 체제가 사용하기 위해 열리는 "특수" 디바이스입니다. 제공된 INF 공급업체는 이러한 특수 하드웨어 ID와 일치하지 않아야 합니다.
- 공급업체에서 제공하는 타사 HID 전송 미니 드라이버는 HIDClass가 적절한 하드웨어 ID를 생성할 수 있도록 아래에 나열된 필드를 제공해야 합니다.
Legend:
| Field | Contains | Hexadecimal Value | Meaning |
|---|---|---|---|
| v(4) | 16진수 4자리 | 0x0000-0xFFFF | Vendor ID |
| d(4) | 16진수 4자리 | 0x0000-0xFFFF | Product ID |
| r(4) | 16진수 4자리 | 0x0000-0xFFFF | Revision Number |
| z(2) | 16진수 2자리 | 0x00-0xFF | 인터페이스 번호(복합 USB 디바이스에서만 사용됨) |
| b(2) | 16진수 2자리 | 0x00-0xFF | 컬렉션 번호(다중 TLC 디바이스에서만 사용됨) |
| p(4) | 16진수 4자리 | 0x0000-0xFFFF | TLC의 사용 페이지 번호 |
| u(4) | 16진수 4자리 | 0x0000-0xFFFF | TLC 사용량 |