Identificadores gerados por USBSTOR.SYS
A partir do Windows 2000, o sistema operacional fornece suporte nativo para muitos dispositivos de armazenamento em massa USB. O arquivo de instalação Usbstor.inf contém IDs de dispositivo para os dispositivos com suporte explícito. Se o driver do hub USB enumerar um desses dispositivos, o sistema operacional carregará automaticamente o driver de porta de armazenamento USB ,Usbstor.sys.
As IDs de dispositivo para dispositivos de armazenamento em massa USB em Usbstor.inf assumem o formato usual para IDs de dispositivo USB compostas usando informações no descritor de dispositivo USB:
USB\VID_v(4)&PID_d(4)&REV_r(4)
Em que:
v(4) é o código de fornecedor de 4 dígitos que o comitê USB atribui ao fornecedor.
d(4) é o código do produto de 4 dígitos que o fornecedor atribui ao dispositivo.
r(4) é o código de revisão.
Além dessas IDs de dispositivo, o Usbstor.inf contém IDs compatíveis para CD-ROM de ATAPI de classe 8 e dispositivos de mídia removíveis que dão suporte ao transporte somente em massa:
USB\CLASS_08&SUBCLASS_02&PROT_50
USB\CLASS_08&SUBCLASS_05&PROT_50
USB\CLASS_08&SUBCLASS_06&PROT_50
Em que:
classe 08h = dispositivos de armazenamento em massa.
subclasse 02h = dispositivos CD-ROM da ATAPI SFF-8020i.
subclasse 05h = mídia removível da ATAPI SFF-8070i.
subclasse 06h = mídia SCSI genérica.
protocolo 50h = o protocolo de transporte somente em massa.
Se os dados recuperados do descritor de dispositivo do dispositivo corresponderem a qualquer uma dessas IDs compatíveis, o sistema operacional carregará Usbstor.sys.
Assim que ele é carregado, o driver da porta de armazenamento USB cria um novo PDO para cada uma das unidades lógicas do dispositivo. Para obter mais informações, consulte o exemplo de pilha de dispositivos criada por Usbstor.sys ilustrado em Exemplo de objeto de dispositivo para um dispositivo de armazenamento em massa USB.
Quando o gerenciador PnP consulta as cadeias de caracteres de identificação do dispositivo dos PDOs recém-criados, o driver de porta de armazenamento USB cria um novo conjunto de dispositivos, hardware e IDs compatíveis derivados dos dados de consulta SCSI do dispositivo. O formato da ID do dispositivo é o seguinte:
USBSTOR\v(8)p(16)r(4)
Em que:
v(8) é um identificador de fornecedor de 8 caracteres.
p(16) é um identificador de produto de 16 caracteres.
r(4) é um valor de nível de revisão de 4 caracteres.
Um exemplo de uma ID de dispositivo para uma unidade de disco seria o seguinte:
USBSTOR\SEAGATE_ST39102LW_______0004
As IDs de hardware geradas pelo driver de porta de armazenamento USB são as seguintes:
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
Em que:
t* é um código de tipo de dispositivo SCSI de comprimento variável.
v(8) é um identificador de fornecedor de 8 caracteres.
p(16) é um identificador de produto de 16 caracteres.
r(4) é um valor de nível de revisão de 4 caracteres. Nesses identificadores adicionais, r(1) representa apenas o primeiro caractere do identificador de revisão.
A tabela a seguir contém os códigos de tipo de dispositivo SCSI usados pelo driver de porta de armazenamento USB para gerar cadeias de caracteres de identificador.
Código de tipo SCSI | Tipo de dispositivo | Tipo genérico |
---|---|---|
DIRECT_ACCESS_DEVICE (0) |
Disco ou SFloppy |
GenDisk ou GenSFloppy |
SEQUENTIAL_ACCESS_DEVICE (1) |
Sequencial |
GenSequential |
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) |
Worm |
Gen Worm |
READ_ONLY_DIRECT_ACCESS_DEVICE (5) |
Cdrom |
GenCdRom |
OPTICAL_DEVICE (7) |
Óptico |
Genóptico |
MEDIUM_CHANGER (8) |
Changer |
GenChanger |
Tipo Padrão (todos os valores não listados anteriormente) |
Outro |
UsbstorOther |
Estes exemplos mostram as IDs de hardware geradas pelo driver de porta de armazenamento USB:
USBSTOR\DiskSEAGATE_ST39102LW_______0004
USBSTOR\DiskSEAGATE_ST39102LW_______
USBSTOR\DiskSEAGATE_
USBSTOR\SEAGATE_ST39102LW_______0
SEAGATE_ST39102LW_______0
USBSTOR\GenDisk
GenDisk
O driver da porta de armazenamento USB gera duas IDs compatíveis.
USBSTOR\t*
USBSTOR\RAW
em que t* é um código de tipo de dispositivo SCSI de comprimento variável.
As IDs compatíveis geradas pelo driver da porta de armazenamento USB são ilustradas pelos seguintes exemplos:
USBSTOR\Disk
USBSTOR\RAW