estructura STORAGE_DEVICE_DESCRIPTOR (winioctl.h)
Se usa junto con el código de control IOCTL_STORAGE_QUERY_PROPERTY para recuperar los datos del descriptor del dispositivo de almacenamiento para un dispositivo.
Sintaxis
typedef struct _STORAGE_DEVICE_DESCRIPTOR {
DWORD Version;
DWORD Size;
BYTE DeviceType;
BYTE DeviceTypeModifier;
BOOLEAN RemovableMedia;
BOOLEAN CommandQueueing;
DWORD VendorIdOffset;
DWORD ProductIdOffset;
DWORD ProductRevisionOffset;
DWORD SerialNumberOffset;
STORAGE_BUS_TYPE BusType;
DWORD RawPropertiesLength;
BYTE RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
Miembros
Version
Contiene el tamaño de esta estructura, en bytes. 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, que puede incluir el identificador del proveedor, el identificador de producto, la revisión del producto, las cadenas de números de serie del dispositivo y los datos específicos del bus 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.
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
Una aplicación puede determinar el tamaño de búfer necesario mediante la emisión de un código de control IOCTL_STORAGE_QUERY_PROPERTY que pasa una estructura de STORAGE_DESCRIPTOR_HEADER para el búfer de salida y, a continuación, usa el miembro Size devuelto de la estructura STORAGE_DESCRIPTOR_HEADER para asignar un búfer del tamaño adecuado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | winioctl.h (incluya Windows.h) |