USB-Standardbezeichner

Der Satz von Bezeichnern, die für USB-Geräte generiert werden, hängt davon ab, ob es sich bei dem Gerät um ein Gerät mit einer oder mehreren Schnittstellen handelt.

Single-Interface USB-Geräte

Wenn ein neues USB-Gerät angeschlossen ist, erstellt der vom System bereitgestellte USB-Hubtreiber die folgende Geräte-ID anhand von Informationen, die aus dem Gerätedeskriptor des Geräts extrahiert wurden:

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

Hierbei gilt:

  • v(4) ist der Anbietercode, den das USB-Komitee dem Anbieter zuweist.

  • d(4) ist der Produktcode, den der Anbieter dem Gerät zuweist.

  • r(4) ist der Revisionscode.

Der Hubtreiber extrahiert die Hersteller- und Produktcodes aus den Feldern idVendor, idProduct und bcdDevice des Gerätedeskriptors. Dies sind 4-stellige Hexadezimalzahlen.

Ein INF-Modellabschnitt kann auch die folgende Hardware-ID angeben:

USB\VID_v(4)&PID_d(4)

und die folgenden kompatiblen IDs:

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

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Hierbei gilt:

  • c(2) ist der Geräteklassencode aus dem Gerätedeskriptor.

  • s(2) ist der Geräteunterklassencode.

  • p(2) ist der Protokollcode.

Geräteklassencode, Unterklassencode und Protokollcode werden durch die Felder bDeviceClass, bDeviceSubClass und bDeviceProtocol des Gerätedeskriptors bestimmt. Dies sind 2-stellige Hexadezimalzahlen.

Multiple-Interface USB-Geräte

Geräte mit mehreren Schnittstellen werden als zusammengesetzte Geräte bezeichnet. Wenn ab Windows 2000 ein neues zusammengesetztes USB-Gerät an einen Computer angeschlossen ist, erstellt der USB-Hubtreiber ein physisches Geräteobjekt (PDO) und benachrichtigt das Betriebssystem darüber, dass seine Untergeordneten Geräte geändert wurden. Nach der Abfrage des Hubtreibers nach den Hardwarebezeichnern, die dem neuen PDO zugeordnet sind, durchsucht das Betriebssystem die entsprechenden INF-Dateien, um eine Übereinstimmung für die Bezeichner zu finden. Wenn eine andere Übereinstimmung als USB\COMPOSITE gefunden wird, wird der in der INF-Datei angegebene Treiber geladen. Wenn jedoch keine andere Übereinstimmung gefunden wird, verwendet das Betriebssystem die kompatible ID USB\COMPOSITE, für die es den generischen übergeordneten USB-Treiber lädt. Der generische übergeordnete Treiber erstellt dann ein separates PDO und generiert einen separaten Satz von Hardwarebezeichnern für jede Schnittstelle des zusammengesetzten Geräts.

Jede Schnittstelle verfügt über eine Geräte-ID in der folgenden Form:

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

Hierbei gilt:

Ein INF-Modellabschnitt kann auch die folgenden kompatiblen IDs angeben:

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

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Hierbei gilt:

  • d(2) ist der Geräteklassencode aus dem Gerätedeskriptor.

  • s(2) ist der Unterklassencode.

  • p(2) ist der Protokollcode.

Geräteklassencode, Unterklassencode und Protokollcode werden durch die Felder bInterfaceClass, bInterfaceSubClass und bInterfaceProtocol des Schnittstellendeskriptors bestimmt. Dies sind 2-stellige Hexadezimalzahlen.