최상위 컬렉션에 대한 HIDClass 하드웨어 ID
이 섹션에서는 HID 클래스 드라이버가 최상위 컬렉션에 대해 생성하는 하드웨어 ID를 지정합니다.
공급업체는 공급업체 하드웨어 ID 형식으로 지정된 형식을 사용하여 최상위 컬렉션을 식별해야 합니다. 다른 모든 디바이스 ID 형식은 내부 전용으로 예약되어 있습니다.
DEVnode에 대해 HID 클래스 드라이버가 생성하는 하드웨어 ID는 다음 사항에 따라 달라집니다.
- 기본 전송에서 지원하는 함수 수
- 보고서 설명자의 최상위 컬렉션 수
이러한 요인에 따라 하드웨어 ID에는 4가지 범주가 있습니다.
형식 | 단일 TLC | 여러 TLC |
---|---|---|
Single-Function | 케이스 1 | 케이스 2 |
다중 함수 | 사례 3 | 사례 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 INF 전용 예약]
- HID_DEVICE [WINDOWS INF 전용으로 예약됨]
사례 3: 단일 TLC를 사용하는 다중 함수 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송 > 1에서 지원하는 함수 수 &&
- 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 INF 전용 예약]
- HID_DEVICE [WINDOWS INF 전용으로 예약됨]
사례 4: 여러 TLC가 있는 다기능 디바이스
이 하드웨어 ID 형식이 사용되는 조건:
- 기본 전송 > 1에서 지원하는 함수 수 &&
- 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 INF 전용 예약]
- HID_DEVICE [WINDOWS INF 전용으로 예약됨]
특수 용도 하드웨어 ID
다음은 Windows에서 기본 시스템 기능을 제공하는 데 사용하는 하드웨어 ID(내부 전용)입니다.
디바이스 유형 | 사용량 페이지 | 사용량 | 하드웨어 ID |
---|---|---|---|
포인터 | 0x01 | 0x01 | HID_DEVICE_SYSTEM_MOUSE |
마우스 | 0x01 | 0x02 | HID_DEVICE_SYSTEM_MOUSE |
조이스틱 | 0x01 | 0x04 | HID_DEVICE_SYSTEM_GAME |
게임 패드 | 0x01 | 0x05 | HID_DEVICE_SYSTEM_GAME |
Keyboard | 0x01 | 0x06 | HID_DEVICE_SYSTEM_KEYBOARD |
키패드 | 0x01 | 0x07 | HID_DEVICE_SYSTEM_KEYBOARD |
시스템 제어 | 0x01 | 0x80 | HID_DEVICE_SYSTEM_CONTROL |
소비자 오디오 컨트롤 | 0x0C | 0x01 | HID_DEVICE_SYSTEM_CONSUMER |
유의 사항:
- HIDClass에서 생성된 호환 ID가 없습니다.
- 공급업체 타사 INF는 하드웨어 ID와만 일치해야 합니다.
- HID_DEVICE_SYSTEM_*를 포함하는 하드웨어 ID는 운영 체제가 사용하기 위해 열리는 "특수" 디바이스입니다. 공급업체 제공 INF는 이러한 특수 하드웨어 ID와 일치하지 않아야 합니다.
- 공급업체가 제공한 타사 HID 전송 미니드라이버에서 HIDClass가 적절한 하드웨어 ID를 생성할 수 있도록 아래에 나열된 필드를 제공해야 합니다.
범례:
필드 | 포함 | 16진수 값 | 의미 |
---|---|---|---|
v(4) | 16진수 4자리 | 0x0000-0xFFFF | 공급업체 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의 사용량 수 |