Identificatori per 1394 dispositivi
Il driver del bus 1394 costruisce questi identificatori per un dispositivo:
1394\VendorName&ModelName
1394\UnitSpecId&UnitSwVersion
Dove:
VendorName è il nome del fornitore dell'hardware.
ModelName identifica il dispositivo.
UnitSpecId identifica l'autorità di specifica software.
UnitSwVersion identifica la specifica del software.
Le informazioni usate per costruire questi identificatori provengono dalla ROM di configurazione del dispositivo.
Se un dispositivo ha stringhe di nome fornitore e modello, il driver del bus 1394 usa il primo identificatore come entrambi, l'ID del dispositivo e l'ID hardware e il secondo identificatore come ID compatibile. Se un dispositivo non dispone di una stringa di nome fornitore o modello, il driver del bus usa il secondo identificatore come entrambi, l'ID dispositivo e l'ID compatibile e restituisce doppio null se viene eseguito una query per l'ID hardware. Pertanto, il driver del bus di IEEE1394, in determinate circostanze, fornisce un ID dispositivo ma non un ID hardware. Si tratta di un'eccezione alla regola generale che l'ID dispositivo è uno degli ID hardware.
L'ID dispositivo per una fotocamera in un IEEE1394 potrebbe essere:
1394\SONY&CCM-DS250_1.08
I dispositivi multifunzione dispongono di un set separato di identificatori per ogni directory di unità nella rom di configurazione del dispositivo.
Se il driver di funzione del dispositivo si trova sopra il driver di porta SBP-2, il relativo ID dispositivo ha il formato seguente.
SBP2\VendorName&ModelName&LUNn*
Dove:
VendorName è il fornitore hardware.
ModelName identifica il dispositivo.
n* è una stringa che rappresenta i 2 byte inferiori del numero di unità logica nell'esadecimale. Varie funzioni in un dispositivo multifunzione producono ID dispositivo identici ad eccezione di questo numero.
L'ID dispositivo per un disco rigido SBP-2 1394 potrebbe essere il seguente:
SBP2\VST_TECHNOLOGIESINC.&VST_FULL_HEIGHT_FIREWIRE_DRIVE&LUN0
Come per il bus 1394, il driver della porta SBP2 non classifica l'ID dispositivo come ID hardware. Tuttavia, mentre il bus 1394 distingue tra ID hardware e ID compatibili, il driver di porta SBP2 non è. Per IRP_MN_QUERY_ID IRP di tipo BusQueryHardwareID e IRP_MN_QUERY_ID IRP di tipo BusQueryCompatibleIDS SBP2 restituisce lo stesso set di quattro identificatori:
SBP2\VendorName&ModelName&CmdSetIdn*
SBP2\Gen
Gen
SBP2\n*&d*
Dove:
n* è il numero ID set di comandi.
Gen è uno dei nomi generici elencati nella colonna Tipo generico della tabella seguente.
d* è un numero formato prendendo i cinque bit inferiori dei due byte superiori del numero di unità logica. Questo numero è il codice numerico per il nome generico del dispositivo che corrisponde all'identificatore stringa Gen .
Il quarto ID, elencato nell'esempio precedente (SBP2\n*&d*), è univoco tra tutti gli identificatori hardware SBP2 in cui sia n*, il numero ID set di comandi e d*, il codice numerico del nome generico è decimale, non esadecimale.
Questa tabella elenca i nomi di dispositivo generici restituiti dal driver di porta SBP2. La maggior parte, ma non tutte, dei nomi generici generati dal driver di porta SBP2 sono un subset di quelli generati dal driver porta SCSI.
Codice di tipo 1394 | Tipo di dispositivo | Tipo generico |
---|---|---|
RBC_DEVICE o DIRECT_ACCESS_DEVICE (0) |
Disco |
GenDisk |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequenziale |
GenSequential |
PRINTER_DEVICE (2) |
Stampante |
GenPrinter |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Worm |
GenWorm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
Cdrom |
GenCdRom |
SCANNER_DEVICE (6) |
Scanner |
GenScanner |
OPTICAL_DEVICE (7) |
Ottico |
GenOptical |
MEDIUM_CHANGER (8) |
Changer |
GenChanger |
Tipo predefinito (tutti i valori non elencati sopra) |
Altro |
GenSbp2Device |