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 ficheiro de instalação Usbstor.inf contém IDs de dispositivo para os dispositivos que são explicitamente suportados. Se o driver do hub USB enumerar um destes dispositivos, o sistema operativo carregará automaticamente o driver da porta de armazenamento USB, Usbstor.sys.

Os IDs de dispositivo para dispositivos de armazenamento de massa USB no Usbstor.inf assumem a forma habitual para IDs de dispositivos USB compostos usando a informação no descritor do dispositivo USB:

USB\VID_v(4)&PID_d(4)&REV_r(4)

Where:

  • v(4) é o código de fornecedor de 4 dígitos que o comité USB atribui ao fornecedor.

  • d(4) é o código de produto de 4 dígitos que o fornecedor atribui ao dispositivo.

  • r(4) é o código de revisão.

Para além destes IDs de dispositivo, o Usbstor.inf contém IDs compatíveis para dispositivos de CD-ROM ATAPI de classe 8 e dispositivos de meios removíveis que suportam transporte apenas em massa:

USB\CLASS_08&SUBCLASS_02&PROT_50

USB\CLASS_08&SUBCLASS_05&PROT_50

USB\CLASS_08&SUBCLASS_06&PROT_50

Where:

  • classe 08h = dispositivos de armazenamento em massa.

  • subclasse 02h = SFF-8020i ATAPI CD-ROM dispositivos.

  • subclasse 05h = mídia removível SFF-8070i ATAPI.

  • subclasse 06h = mídia SCSI genérica.

  • protocolo 50h = o protocolo de transporte somente em massa.

Se os dados recuperados do descritor do dispositivo corresponderem a algum destes IDs compatíveis, o sistema operativo irá carregar Usbstor.sys.

Assim que é carregado, o driver da porta de armazenamento USB cria um novo DOP para cada uma das unidades lógicas do dispositivo. Para mais informações, consulte a pilha de dispositivos de exemplo criada por Usbstor.sys ilustrada em Device Object Example for a USB Mass Storage Device.

Quando o gerenciador PnP consulta as cadeias de caracteres de identificação de dispositivo dos PDOs recém-criados, o driver da porta de armazenamento USB cria um novo conjunto de IDs de dispositivo, hardware e compatíveis derivados dos dados de consulta SCSI do dispositivo. O formato de ID do dispositivo é o seguinte:

USBSTOR\v(8)p(16)r(4)

Where:

  • V(8) é um identificador de vendedor de 8 caracteres.

  • P(16) é um identificador de produto de 16 caracteres.

  • r(4) é um valor de revisão de 4 caracteres.

Um exemplo de um ID de dispositivo para uma unidade de disco seria o seguinte:

USBSTOR\SEAGATE_ST39102LW_______0004

Os IDs de hardware que o driver da porta de armazenamento USB gera são os 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

Where:

  • t* é um código de tipo de dispositivo SCSI de comprimento variável.

  • V(8) é um identificador de vendedor de 8 caracteres.

  • P(16) é um identificador de produto de 16 caracteres.

  • r(4) é um valor de revisão de 4 caracteres. Nestes identificadores adicionais, r(1) representa apenas o primeiro carácter do identificador de revisão.

A tabela a seguir contém os códigos de tipo de dispositivo SCSI usados pelo driver da 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)

Sequential

GenSequential

WRITE_ONCE_READ_MULTIPLE_DEVICE (4)

Worm

GenWorm

READ_ONLY_DIRECT_ACCESS_DEVICE (5)

CdRom

GenCdRom

OPTICAL_DEVICE (7)

Óptico

GenOptical

MEDIUM_CHANGER (8)

Changer

GenChanger

Tipo padrão (todos os valores não listados anteriormente)

Other

UsbstorOther

Estes exemplos mostram as IDs de hardware geradas pelo driver da 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 dois IDs compatíveis.

USBSTOR\t*

USBSTOR\RAW

onde t* é um código de tipo de dispositivo SCSI de comprimento variável.

Os IDs compatíveis gerados pelo driver da porta de armazenamento USB são ilustrados pelos seguintes exemplos:

USBSTOR\Disco

USBSTOR\RAW