Condividi tramite


Identificatori USB standard

Il set di identificatori generati per i dispositivi USB dipende dal fatto che il dispositivo sia un dispositivo a interfaccia singola o un dispositivo a interfaccia multipla.

Dispositivi USB a interfaccia singola

Quando un nuovo dispositivo USB è collegato, il driver dell'hub USB fornito dal sistema compone l'ID dispositivo seguente usando le informazioni estratte dal descrittore del dispositivo del dispositivo:

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

Dove:

  • v(4) è il codice fornitore assegnato dal comitato USB al fornitore.
  • d(4) è il codice prodotto assegnato dal fornitore al dispositivo.
  • r(4) è il codice di revisione.

Il driver hub estrae rispettivamente i codici fornitore e prodotto dai campi idVendor, idProduct e bcdDevice del descrittore di dispositivo. Questi codici sono numeri esadecimali a quattro cifre.

Una sezione del modello INF può anche specificare l'ID hardware seguente:

USB\VID_v(4)&PID_d(4)

E gli ID compatibili seguenti:

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

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Dove:

  • c(2) è il codice della classe del dispositivo tratto dal descrittore del dispositivo.
  • s(2) è il codice della sottoclasse del dispositivo.
  • p(2) è il codice del protocollo.

I campi bDeviceClass, bDeviceSubClass e bDeviceProtocol del descrittore del dispositivo determinano rispettivamente il codice della classe del dispositivo, il codice della sottoclasse e il codice del protocollo. Questi codici sono numeri esadecimali a due cifre.

Dispositivi USB a più interfacce

I dispositivi con più interfacce sono denominati dispositivi compositi . Quando un nuovo dispositivo composito USB viene collegato a un computer Windows, il driver dell'hub USB crea un oggetto dispositivo fisico (PDO) e notifica al sistema operativo di aggiornare l'elenco dei dispositivi figlio. Dopo che Windows esegue una query sul driver hub per gli identificatori hardware associati al nuovo PDO, cerca i file INF appropriati per trovare una corrispondenza per gli identificatori. Se trova una corrispondenza diversa da USB\COMPOSITE, carica il driver indicato nel file INF. Tuttavia, se non viene trovata alcuna altra corrispondenza, il sistema operativo usa l'ID compatibile USB\COMPOSITE, per cui carica il driver padre generico USB. Il driver padre generico crea quindi un PDO separato e genera un set separato di identificatori hardware per ogni interfaccia del dispositivo composito.

Ogni interfaccia ha un ID dispositivo nel formato seguente:

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

Dove:

Una sezione del modello INF può anche specificare gli ID compatibili seguenti:

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

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Dove:

  • d(2) è il codice della classe del dispositivo tratto dal descrittore del dispositivo.
  • s(2) è il codice della sottoclasse.
  • p(2) è il codice del protocollo.

I campi bInterfaceClass, bInterfaceSubClass e bInterfaceProtocol del descrittore di interfaccia determinano rispettivamente il codice della classe del dispositivo, il codice della sottoclasse e il codice del protocollo. Questi codici sono numeri esadecimali a due cifre.