Von USBSTOR.SYS generierte Bezeichner
Ab Windows 2000 bietet das Betriebssystem native Unterstützung für viele USB-Massenspeichergeräte. Die Installationsdatei Usbstor.inf enthält Geräte-IDs für die Geräte, die explizit unterstützt werden. Wenn der USB-Hubtreiber eines dieser Geräte aufzählt, lädt das Betriebssystem automatisch den USB-Speicherporttreiber Usbstor.sys.
Die Geräte-IDs für USB-Massenspeichergeräte in Usbstor.inf haben die übliche Form für USB-Geräte-IDs, die mithilfe von Informationen im Gerätedeskriptor des USB-Geräts erstellt werden:
USB\VID_v(4)&PID_d(4)&REV_r(4)
Hierbei gilt:
v(4) ist der 4-stellige Anbietercode, den das USB-Komitee dem Anbieter zuweist.
d(4) ist der 4-stellige Produktcode, den der Anbieter dem Gerät zuweist.
r(4) ist der Revisionscode.
Zusätzlich zu diesen Geräte-IDs enthält Usbstor.inf kompatible IDs für ATAPI-CD-ROM der Klasse 8 und Wechselmediengeräte, die den reinen Massentransport unterstützen:
USB\CLASS_08&SUBCLASS_02&PROT_50
USB\CLASS_08&SUBCLASS_05&PROT_50
USB\CLASS_08&SUBCLASS_06&PROT_50
Hierbei gilt:
Klasse 08h = Massenspeichergeräte.
Unterklasse 02h = SFF-8020i ATAPI CD-ROM-Geräte.
Unterklasse 05h = SFF-8070i ATAPI-Wechselmedien.
Unterklasse 06h = generische SCSI-Medien.
Protokoll 50h = das reine Massentransportprotokoll.
Wenn die vom Gerätedeskriptor des Geräts abgerufenen Daten mit einer dieser kompatiblen IDs übereinstimmen, lädt das Betriebssystem Usbstor.sys.
Sobald er geladen wird, erstellt der USB-Speicherporttreiber ein neues PDO für jede logische Einheit des Geräts. Weitere Informationen finden Sie im Beispielgerätestapel, der von Usbstor.sys unter Device Object Example for a USB Mass Storage Device veranschaulicht.
Wenn der PnP-Manager die Geräteidentifizierungszeichenfolgen der neu erstellten PDOs abfragt, erstellt der USB-Speicherporttreiber eine neue Gruppe von Geräte-, Hardware- und kompatiblen IDs, die aus den SCSI-Abfragedaten des Geräts abgeleitet werden. Das Format der Geräte-ID lautet wie folgt:
USBSTOR\v(8)p(16)r(4)
Hierbei gilt:
v(8) ist ein 8-stellige Anbieterbezeichner.
p(16) ist ein 16-stellige Produktbezeichner.
r(4) ist ein Wert der 4-stelligen Revisionsebene.
Ein Beispiel für eine Geräte-ID für ein Datenträgerlaufwerk lautet wie folgt:
USBSTOR\SEAGATE_ST39102LW_______0004
Die Hardware-IDs, die der USB-Speicherporttreiber generiert, sind wie folgt:
USBSTOR\t*v(8)p(16)r(4)
USBSTOR\t*v(8)p(16)
USBSTOR\t*v(8)
USBSTOR\v(8)p(16)r(1)
v(8)p(16)r(1)
USBSTOR\GenericTypeString
GenericTypeString
Hierbei gilt:
t* ist ein SCSI-Gerätetypcode mit variabler Länge.
v(8) ist ein 8-stellige Anbieterbezeichner.
p(16) ist ein 16-stellige Produktbezeichner.
r(4) ist ein Wert der 4-stelligen Revisionsebene. In diesen zusätzlichen Bezeichnern stellt r(1) nur das erste Zeichen des Revisionsbezeichners dar.
Die folgende Tabelle enthält die SCSI-Gerätetypcodes, die vom USB-Speicherporttreiber zum Generieren von Bezeichnerzeichenfolgen verwendet werden.
Code des SCSI-Typs | Gerätetyp | Generischer Typ |
---|---|---|
DIRECT_ACCESS_DEVICE (0) |
Datenträger oder SFloppy |
GenDisk oder GenSFloppy |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequenziell |
GenSequential |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Wurm |
GenWorm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
Cdrom |
GenCdRom |
OPTICAL_DEVICE (7) |
Optische |
GenOptical |
MEDIUM_CHANGER (8) |
Wechsler |
GenChanger |
Standardtyp (alle Werte, die zuvor nicht aufgeführt wurden) |
Sonstiges |
UsbstorOther |
Diese Beispiele zeigen die Hardware-IDs, die vom USB-Speicherporttreiber generiert werden:
USBSTOR\DiskSEAGATE_ST39102LW_______0004
USBSTOR\DiskSEAGATE_ST39102LW_______
USBSTOR\DiskSEAGATE_
USBSTOR\SEAGATE_ST39102LW_______0
SEAGATE_ST39102LW_______0
USBSTOR\GenDisk
GenDisk
Der USB-Speicherporttreiber generiert zwei kompatible IDs.
USBSTOR\t*
USBSTOR\RAW
dabei ist t* ein SCSI-Gerätetypcode mit variabler Länge.
Die vom USB-Speicherporttreiber generierten kompatiblen IDs werden in den folgenden Beispielen veranschaulicht:
USBSTOR\Disk
USBSTOR\RAW