ID hardware HIDClass per le raccolte di livello superiore
Questa sezione specifica gli ID hardware generati dal driver di classe HID per le raccolte di livello superiore.
I fornitori devono usare i formati designati come formati ID hardware fornitore per identificare le raccolte di livello superiore. Tutti gli altri formati id dispositivo sono riservati solo per uso interno.
Gli ID hardware generati dal driver di classe HID per un devnode dipendono dagli elementi seguenti:
- Numero di funzioni supportate dal trasporto sottostante
- Numero di raccolte di livello superiore nel descrittore di report
In base a questi fattori, esistono 4 categorie di ID hardware
Tipo | TLC singolo | Più TLC |
---|---|---|
Single-Function | Case 1 | Case 2 |
Multi-Funzione | Caso 3 | Caso 4 |
Caso 1: dispositivo a funzione singola con singolo TLC
Condizione in cui viene usato questo formato ID hardware:
- Numero di funzioni supportate dal trasporto sottostante = 1 &&
- Numero di TLC = 1
Formato ID hardware:
- 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
Caso 2: dispositivo a funzione singola con più TLC
Condizione in cui viene usato questo formato ID hardware:
- Numero di funzioni supportate dal trasporto sottostante = 1 &&
- Numero di TLC > 1
Formato ID hardware:
- 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) [RISERVATO SOLO PER LE FUNZIONI INFS DI WINDOWS]
- HID_DEVICE [RISERVATO SOLO PER I FILE INFS DI WINDOWS]
Caso 3: dispositivo a più funzioni con singolo TLC
Condizione in cui viene usato questo formato ID hardware:
- Numero di funzioni supportate dal trasporto > sottostante 1 &&
- Numero di TLC = 1
Formato ID hardware:
- 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) [RISERVATO SOLO PER LE FUNZIONI INFS DI WINDOWS]
- HID_DEVICE [RISERVATO SOLO PER I FILE INFS DI WINDOWS]
Caso 4: dispositivo a più funzioni con più TLC
Condizione in cui viene usato questo formato ID hardware:
- Numero di funzioni supportate dal trasporto > sottostante 1 &&
- Numero di TLC > 1
Formato ID hardware:
- 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) [RISERVATO SOLO PER LE FUNZIONI INFS DI WINDOWS]
- HID_DEVICE [RISERVATO SOLO PER I FILE INFS DI WINDOWS]
ID hardware per scopi speciali
Di seguito sono riportati gli ID hardware (solo per uso interno) usati da Windows per fornire funzionalità di sistema predefinite.
Tipo di dispositivo | Pagina Utilizzo | Utilizzo | Hardware ID |
---|---|---|---|
Puntatore | 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 |
Tastiera | 0x01 | 0x06 | HID_DEVICE_SYSTEM_KEYBOARD |
Tastiera | 0x01 | 0x07 | HID_DEVICE_SYSTEM_KEYBOARD |
Controllo di sistema | 0x01 | 0x80 | HID_DEVICE_SYSTEM_CONTROL |
Controllo audio consumer | 0x0C | 0x01 | HID_DEVICE_SYSTEM_CONSUMER |
Note importanti:
- Non sono presenti ID compatibili generati da HIDClass
- Gli INFS di terze parti del fornitore devono corrispondere solo agli ID hardware
- Gli ID hardware che contengono HID_DEVICE_SYSTEM_* sono dispositivi "speciali" aperti dal sistema operativo per il relativo utilizzo. L'INF fornito dal fornitore non deve corrispondere a questi ID hardware speciali.
- I minidriver di trasporto HID forniti dal fornitore devono fornire i campi elencati di seguito per garantire che HIDClass possa generare gli ID hardware appropriati.
Legenda:
Campo | Contiene | Valore esadecimale | Significato |
---|---|---|---|
v(4) | quattro cifre esadecimale | 0x0000-0xFFFF | ID fornitore |
d(4) | quattro cifre esadecimale | 0x0000-0xFFFF | Product ID |
r(4) | quattro cifre esadecimale | 0x0000-0xFFFF | Revision Number |
z(2) | due cifre esadecimale | 0x00-0xFF | Numero di interfaccia (usato solo con dispositivi USB compositi). |
b(2) | due cifre esadecimale | 0x00-0xFF | Numero di raccolta (usato solo con dispositivi TLC multipli). |
p(4) | quattro cifre esadecimale | 0x0000-0xFFFF | Numero di pagina di utilizzo per TLC |
u(4) | quattro cifre esadecimale | 0x0000-0xFFFF | Numero di utilizzo di TLC |