Partilhar via


STORAGE_DEVICE_DESCRIPTOR estrutura (ntddstor.h)

A estrutura STORAGE_DEVICE_DESCRIPTOR é usada em conjunto com a solicitação IOCTL_STORAGE_QUERY_PROPERTY para recuperar os dados do descritor do dispositivo de armazenamento para um dispositivo.

Sintaxe

typedef struct _STORAGE_DEVICE_DESCRIPTOR {
  ULONG            Version;
  ULONG            Size;
  UCHAR            DeviceType;
  UCHAR            DeviceTypeModifier;
  BOOLEAN          RemovableMedia;
  BOOLEAN          CommandQueueing;
  ULONG            VendorIdOffset;
  ULONG            ProductIdOffset;
  ULONG            ProductRevisionOffset;
  ULONG            SerialNumberOffset;
  STORAGE_BUS_TYPE BusType;
  ULONG            RawPropertiesLength;
  UCHAR            RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;

Membros

Version

Indica o tamanho da estrutura STORAGE_DEVICE_DESCRIPTOR. O valor desse membro será alterado à medida que os membros forem adicionados à estrutura.

Size

Especifica o tamanho total do descritor em bytes, incluindo cadeias de caracteres de ID que são acrescentadas à estrutura.

DeviceType

Especifica o tipo de dispositivo conforme definido pela especificação SCSI (Small Computer Systems Interface).

DeviceTypeModifier

Especifica o modificador de tipo de dispositivo, se houver, conforme definido pela especificação SCSI. Se nenhum modificador de tipo de dispositivo existir, esse membro será zero.

RemovableMedia

Indica quando VERDADEIRO que a mídia do dispositivo (se houver) é removível. Se o dispositivo não tiver mídia, esse membro deverá ser ignorado. Quando FALSE a mídia do dispositivo não é removível.

CommandQueueing

Indica quando VERDADEIRO que o dispositivo dá suporte a vários comandos pendentes (enfileiramento marcado por SCSI ou equivalente). Quando FALSE, o dispositivo não dá suporte à fila marcada por SCSI ou ao equivalente. O driver STORPORT é responsável por sincronizar os comandos.

VendorIdOffset

Especifica o deslocamento de bytes do início da estrutura para um cadeia de caracteres ASCII terminada porNULL que contém a ID do fornecedor do dispositivo. Se o dispositivo não tiver nenhuma ID do fornecedor, esse membro será zero.

ProductIdOffset

Especifica o deslocamento de bytes do início da estrutura para um cadeia de caracteres ASCII terminada porNULL que contém a ID do produto do dispositivo. Se o dispositivo não tiver nenhuma ID do produto, esse membro será zero.

ProductRevisionOffset

Especifica o deslocamento de bytes do início da estrutura para um cadeia de caracteres ASCII terminada porNULL que contém a cadeia de caracteres de revisão de produto do dispositivo. Se o dispositivo não tiver cadeia de caracteres de revisão de produto, esse membro será zero.

SerialNumberOffset

Especifica o deslocamento de bytes do início da estrutura para um cadeia de caracteres ASCII terminada porNULL que contém o número de série do dispositivo. Se o dispositivo não tiver número de série, esse membro será zero.

BusType

Especifica um valor enumerador do tipo STORAGE_BUS_TYPE que indica o tipo de barramento ao qual o dispositivo está conectado. Isso deve ser usado para interpretar as propriedades brutas do dispositivo no final dessa estrutura (se houver).

RawPropertiesLength

Indica o número de bytes de dados específicos do barramento que foram acrescentados a esse descritor.

RawDeviceProperties[1]

Contém uma matriz de comprimento que serve como um espaço reservado para o primeiro byte dos dados de propriedade específicos do barramento.

Observações

Aplicativos e drivers de classe de armazenamento emitem uma solicitação de controle de dispositivo com o código de controle de E/S IOCTL_STORAGE_QUERY_PROPERTY para recuperar essa estrutura, que contém informações sobre um dispositivo de destino. A estrutura só pode ser recuperada de um FDO; a tentativa de recuperar as propriedades do dispositivo de um adaptador causa um erro.

Um aplicativo ou driver pode determinar o tamanho do buffer necessário convertendo a estrutura de STORAGE_DEVICE_DESCRIPTOR recuperada em um STORAGE_DESCRIPTOR_HEADER, que contém apenas versão e Size.

Requisitos

Requisito Valor
cabeçalho ntddstor.h (include Ntddstor.h)

Consulte também

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR