Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
- v(4) is de leverancierscode die het USB-comité aan de leverancier toewijst.
- d(4) is de productcode die de leverancier aan het apparaat toewijst.
- r(4) is de revisiecode.
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:
- v(4) is de leverancierscode die het USB-comité aan de leverancier toewijst.
- d(4) is de productcode die de leverancier aan het apparaat toewijst.
- z(2) is het interfacenummer dat wordt geëxtraheerd uit het veld bInterfaceNumber van de bijbehorende interfacedescriptor.
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.