Bezeichner für 1394 Geräte
Der Bustreiber 1394 erstellt die folgenden Bezeichner für ein Gerät:
1394\VendorName&ModelName
1394\UnitSpecId&UnitSwVersion
Hierbei gilt:
VendorName ist der Name des Hardwareherstellers.
ModelName identifiziert das Gerät.
UnitSpecId identifiziert die Softwarespezifikationsautorität.
UnitSwVersion identifiziert die Softwarespezifikation.
Die Informationen, die zum Erstellen dieser Bezeichner verwendet werden, stammen aus dem Konfigurations-ROM des Geräts.
Wenn ein Gerät über Anbieter- und Modellnamenzeichenfolgen verfügt, verwendet der Bustreiber 1394 den ersten Bezeichner sowohl als Geräte-ID als auch als Hardware-ID und den zweiten Bezeichner als kompatible ID. Wenn einem Gerät eine Anbieter- oder Modellnamenzeichenfolge fehlt, verwendet der Bustreiber den zweiten Bezeichner sowohl als die Geräte-ID als auch die kompatible ID und gibt double NULL zurück, wenn nach der Hardware-ID abgefragt wird. Daher stellt der IEEE1394 Bustreiber unter bestimmten Umständen eine Geräte-ID, aber keine Hardware-ID bereit. Dies ist eine Ausnahme von der allgemeinen Regel, dass die Geräte-ID eine der Hardware-IDs ist.
Die Geräte-ID für eine Kamera auf einem IEEE1394 kann wie folgt sein:
1394\SONY&CCM-DS250_1.08
Multifunktionsgeräte verfügen über einen separaten Satz von Bezeichnern für jedes Einheitenverzeichnis im Konfigurations-ROM des Geräts.
Wenn der Funktionstreiber des Geräts auf dem SBP-2-Porttreiber sitzt, hat die Geräte-ID das folgende Format.
SBP2\VendorName&ModelName&LUNn*
Hierbei gilt:
VendorName ist der Hardwareanbieter.
ModelName identifiziert das Gerät.
n* ist eine Zeichenfolge, die die unteren 2 Bytes der logischen Einheitennummer in hexadezimaler Reihenfolge darstellt. Verschiedene Funktionen auf einem Multifunktionsgerät erzeugen Geräte-IDs, die mit Ausnahme dieser Zahl identisch sind.
Die Geräte-ID für eine SBP-2 1394-Festplatte kann wie folgt aussehen:
SBP2\VST_TECHNOLOGIESINC.&VST_FULL_HEIGHT_FIREWIRE_DRIVE&LUN0
Wie beim Bus 1394 klassifiziert der SBP2-Porttreiber die Geräte-ID nicht als Hardware-ID. Während der Bus 1394 jedoch zwischen Hardware-IDs und kompatiblen IDs unterscheidet, ist der SBP2-Porttreiber nicht der Fall. Für IRP_MN_QUERY_ID IRPs vom Typ BusQueryHardwareIDs und IRP_MN_QUERY_ID IRPs vom Typ BusQueryCompatibleIDs SBP2 gibt den gleichen Satz von vier Bezeichnern zurück:
SBP2\VendorName&ModelName&CmdSetIdn*
SBP2\Gen
Gen
SBP2\n*&d*
Hierbei gilt:
n* ist die Befehlssatz-ID.
Gen ist einer der generischen Namen, die in der Spalte Generischer Typ der folgenden Tabelle aufgeführt sind.
d* ist eine Zahl, die gebildet wird, indem die unteren fünf Bits der oberen beiden Bytes der logischen Einheitennummer verwendet werden. Diese Zahl ist der numerische Code für den generischen Namen des Geräts, der dem Gen-Zeichenfolgenbezeichner entspricht.
Die vierte ID, die im vorherigen Beispiel (SBP2\n*&d*) aufgeführt wurde, ist unter allen SBP2-Hardwarebezeichnern eindeutig, da sowohl n*, die Befehlssatz-ID und d*, der numerische Code des generischen Namens dezimal, nicht hexadezimal sind.
In dieser Tabelle sind die vom SBP2-Porttreiber zurückgegebenen generischen Gerätenamen aufgeführt. Die meisten, aber nicht alle generischen Namen, die vom SBP2-Porttreiber generiert werden, sind eine Teilmenge der vom SCSI-Porttreiber generierten Namen.
Typcode 1394 | Gerätetyp | Generischer Typ |
---|---|---|
RBC_DEVICE oder DIRECT_ACCESS_DEVICE (0) |
Datenträger |
GenDisk |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequenziell |
GenSequential |
PRINTER_DEVICE (2) |
Drucker |
GenPrinter |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Wurm |
GenWorm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
Cdrom |
GenCdRom |
SCANNER_DEVICE (6) |
Scanner |
GenScanner |
OPTICAL_DEVICE (7) |
Optische |
GenOptical |
MEDIUM_CHANGER (8) |
Wechsler |
GenChanger |
Standardtyp (alle Werte, die oben nicht aufgeführt sind) |
Sonstiges |
GenSbp2Device |