Identificadores para dispositivos 1394
O motorista do ônibus 1394 constrói esses identificadores para um dispositivo:
1394\VendorName&ModelName
1394\UnitSpecId&UnitSwVersion
Em que:
VendorName é o nome do fornecedor de hardware.
ModelName identifica o dispositivo.
UnitSpecId identifica a autoridade de especificação de software.
UnitSwVersion identifica a especificação de software.
As informações usadas para construir esses identificadores vêm da ROM de configuração do dispositivo.
Se um dispositivo tiver cadeias de caracteres de nome de fornecedor e modelo, o driver de barramento 1394 usará o primeiro identificador como, a ID do dispositivo e a ID de hardware e o segundo identificador como a ID compatível. Se um dispositivo não tiver uma cadeia de caracteres de nome de fornecedor ou modelo, o motorista do barramento usará o segundo identificador como ambos, a ID do dispositivo e a ID compatível e retornará nulo duplo se consultado para a ID de hardware. Portanto, o IEEE1394 motorista de ônibus, em determinadas circunstâncias, fornece uma ID do dispositivo, mas nenhuma ID de hardware. Essa é uma exceção à regra geral de que a ID do dispositivo é uma das IDs de hardware.
A ID do dispositivo para uma câmera em um IEEE1394 pode ser:
1394\SONY&CCM-DS250_1.08
Os dispositivos multifuncionais têm um conjunto separado de identificadores para cada diretório de unidade na ROM de configuração do dispositivo.
Se o driver de função do dispositivo estiver na parte superior do driver de porta SBP-2, sua ID do dispositivo terá o seguinte formato.
SBP2\VendorName&ModelName&LUNn*
Em que:
VendorName é o fornecedor de hardware.
ModelName identifica o dispositivo.
n* é uma cadeia de caracteres que representa a ordem inferior de 2 bytes do número de unidade lógica em hexadecimal. Várias funções em um dispositivo multifuncional produzem IDs de dispositivo idênticas, exceto por esse número.
A ID do dispositivo para um disco rígido SBP-2 1394 pode ser a seguinte:
SBP2\VST_TECHNOLOGIESINC.&VST_FULL_HEIGHT_FIREWIRE_DRIVE&LUN0
Assim como acontece com o barramento 1394, o driver de porta SBP2 não classifica a ID do dispositivo como uma ID de hardware. No entanto, enquanto o barramento 1394 distingue entre IDs de hardware e IDs compatíveis, o driver de porta SBP2 não faz isso. Para IRP_MN_QUERY_ID IRPs do tipo BusQueryHardwareIDs e IRP_MN_QUERY_ID IRPs do tipo BusQueryCompatibleIDs SBP2 retorna o mesmo conjunto de quatro identificadores:
SBP2\VendorName&ModelName&CmdSetIdn*
SBP2\Gen
Gen
SBP2\n*&d*
Em que:
n* é o número de ID do conjunto de comandos.
Gen é um dos nomes genéricos listados na coluna Tipo Genérico da tabela a seguir.
d* é um número formado usando os cinco bits inferiores dos dois bytes superiores do número de unidade lógica. Esse número é o código numérico para o nome genérico do dispositivo que corresponde ao identificador de cadeia de caracteres gen .
A quarta ID, listada no exemplo anterior (SBP2\n*&d*), é exclusiva entre todos os identificadores de hardware SBP2 em que n*, o número de ID do conjunto de comandos e d*, o código numérico do nome genérico estão em decimal, não hexadecimal.
Esta tabela lista os nomes de dispositivo genéricos retornados pelo driver de porta SBP2. A maioria, mas não todos, dos nomes genéricos gerados pelo driver de porta SBP2 são um subconjunto daqueles gerados pelo driver de porta SCSI.
Código de tipo 1394 | Tipo de dispositivo | Tipo genérico |
---|---|---|
RBC_DEVICE ou DIRECT_ACCESS_DEVICE (0) |
Disco |
GenDisk |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequencial |
GenSequential |
PRINTER_DEVICE (2) |
Impressora |
GenPrinter |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Worm |
Gen Worm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
Cdrom |
GenCdRom |
SCANNER_DEVICE (6) |
Scanner |
GenScanner |
OPTICAL_DEVICE (7) |
Óptico |
Genóptico |
MEDIUM_CHANGER (8) |
Changer |
GenChanger |
Tipo Padrão (todos os valores não listados acima) |
Outro |
GenSbp2Device |