estructura STORAGE_DEVICE_DESCRIPTOR (ntddstor.h)

La estructura STORAGE_DEVICE_DESCRIPTOR se usa junto con la solicitud IOCTL_STORAGE_QUERY_PROPERTY para recuperar los datos del descriptor del dispositivo de almacenamiento para un dispositivo.

Sintaxis

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;

Miembros

Version

Indica el tamaño de la estructura de STORAGE_DEVICE_DESCRIPTOR . El valor de este miembro cambiará a medida que se agreguen miembros a la estructura.

Size

Especifica el tamaño total del descriptor en bytes, incluidas las cadenas de identificador que se anexan a la estructura.

DeviceType

Especifica el tipo de dispositivo tal y como se define en la especificación small Computer Systems Interface (SCSI).

DeviceTypeModifier

Especifica el modificador de tipo de dispositivo, si existe, tal como se define en la especificación SCSI. Si no existe ningún modificador de tipo de dispositivo, este miembro es cero.

RemovableMedia

Indica si es TRUE que el medio del dispositivo (si existe) es extraíble. Si el dispositivo no tiene ningún medio, se debe omitir este miembro. Cuando false , el medio del dispositivo no es extraíble.

CommandQueueing

Indica si es TRUE que el dispositivo admite varios comandos pendientes (cola etiquetada SCSI o equivalente). Si es FALSE, el dispositivo no admite la puesta en cola etiquetada por SCSI ni el equivalente. El controlador STORPORT es responsable de sincronizar los comandos.

VendorIdOffset

Especifica el desplazamiento de bytes desde el principio de la estructura a una cadena ASCII terminada en NULL que contiene el identificador de proveedor del dispositivo. Si el dispositivo no tiene ningún identificador de proveedor, este miembro es cero.

ProductIdOffset

Especifica el desplazamiento de bytes desde el principio de la estructura a una cadena ASCII terminada en NULL que contiene el identificador de producto del dispositivo. Si el dispositivo no tiene ningún identificador de producto, este miembro es cero.

ProductRevisionOffset

Especifica el desplazamiento de bytes desde el principio de la estructura a una cadena ASCII terminada en NULL que contiene la cadena de revisión del producto del dispositivo. Si el dispositivo no tiene ninguna cadena de revisión del producto, este miembro es cero.

SerialNumberOffset

Especifica el desplazamiento de bytes desde el principio de la estructura a una cadena ASCII terminada en NULL que contiene el número de serie del dispositivo. Si el dispositivo no tiene ningún número de serie, este miembro es cero.

BusType

Especifica un valor de enumerador de tipo STORAGE_BUS_TYPE que indica el tipo de bus al que está conectado el dispositivo. Este elemento debe usarse para interpretar las propiedades sin procesar del dispositivo al final de esta estructura (si hubiera alguna).

RawPropertiesLength

Indica el número de bytes de datos específicos del bus que se han anexado a este descriptor.

RawDeviceProperties[1]

Contiene una matriz de longitud que actúa como marcador de posición para el primer byte de los datos de propiedad específicos del bus.

Comentarios

Las aplicaciones y los controladores de clase de almacenamiento emiten una solicitud de control de dispositivo con el código de control de E/S IOCTL_STORAGE_QUERY_PROPERTY para recuperar esta estructura, que contiene información sobre un dispositivo de destino. La estructura solo se puede recuperar de un FDO; si se intenta recuperar las propiedades del dispositivo de un adaptador, se produce un error.

Una aplicación o controlador puede determinar el tamaño de búfer necesario mediante la conversión de la estructura de STORAGE_DEVICE_DESCRIPTOR recuperada a un STORAGE_DESCRIPTOR_HEADER, que contiene solo versión y tamaño.

Requisitos

Requisito Valor
Header ntddstor.h (incluya Ntddstor.h)

Consulte también

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR