Delen via


Standaard USB-id's

De set id's die worden gegenereerd voor USB-apparaten, is afhankelijk van of het apparaat een apparaat met één interface of een apparaat met meerdere interfaces is.

USB-apparaten met één interface

Wanneer een nieuw USB-apparaat is aangesloten, bevat het door het systeem geleverde USB-hubstuurprogramma de volgende apparaat-id met behulp van informatie die is geëxtraheerd uit de apparaatdescriptor van het apparaat:

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

Waar:

Het hubstuurprogramma haalt de leveranciers- en productcodes op uit respectievelijk de velden idVendor, idProduct en bcdDevice van de apparaatdescriptor. Deze codes zijn hexadecimale getallen van vier cijfers.

Een INF-modelsectie kan ook de volgende hardware-id opgeven:

USB\VID_v(4)&PID_d(4)

En de volgende compatibele ID's:

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

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Waar:

  • c(2) is de apparaatklassecode die is opgehaald uit de apparaatdescriptor.
  • s(2) is de subklassecode van het apparaat.
  • p(2) is de protocolcode.

De velden bDeviceClass, bDeviceSubClass en bDeviceProtocol van de apparaatdescriptor bepalen respectievelijk de code van de apparaatklasse, subklassecode en protocolcode. Deze codes zijn hexadecimale getallen van twee cijfers.

USB-apparaten met meerdere interfaces

Apparaten met meerdere interfaces worden samengestelde apparaten genoemd. Wanneer een nieuw USB-samengesteld apparaat is aangesloten op een Windows-computer, maakt het USB-hubstuurprogramma een fysiek apparaatobject (PDO) en informeert het besturingssysteem zodat de lijst met onderliggende apparaten wordt bijgewerkt. Nadat windows het hubstuurprogramma opvraagt voor de hardware-id's die zijn gekoppeld aan de nieuwe PDO, wordt in de juiste INF-bestanden gezocht naar een overeenkomst voor de id's. Als er een andere overeenkomst wordt gevonden dan USB\COMPOSITE, wordt het stuurprogramma geladen dat is aangegeven in het INF-bestand. Als er echter geen andere overeenkomst wordt gevonden, gebruikt het besturingssysteem de compatibele ID USB\COMPOSITE, waarvoor het generieke USB-ouderstuurprogramma wordt geladen. Het algemene bovenliggende stuurprogramma maakt vervolgens een afzonderlijke PDO en genereert een afzonderlijke set hardware-id's voor elke interface van het samengestelde apparaat.

Elke interface heeft een apparaat-id van het volgende formaat:

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

Waar:

Een INF-modelsectie kan ook de volgende compatibele id's opgeven:

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

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Waar:

  • d(2) is de apparaatklassecode die is opgehaald uit de apparaatdescriptor.
  • s(2) is de subklasse-code.
  • p(2) is de protocolcode.

De velden bInterfaceClass, bInterfaceSubClass en bInterfaceProtocol van de interfacedescriptor bepalen respectievelijk de code van de apparaatklasse, subklassecode en protocolcode. Deze codes zijn hexadecimale getallen van twee cijfers.