estructura STORAGE_ADAPTER_DESCRIPTOR (ntddstor.h)

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

Sintaxis

typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
  ULONG   Version;
  ULONG   Size;
  ULONG   MaximumTransferLength;
  ULONG   MaximumPhysicalPages;
  ULONG   AlignmentMask;
  BOOLEAN AdapterUsesPio;
  BOOLEAN AdapterScansDown;
  BOOLEAN CommandQueueing;
  BOOLEAN AcceleratedTransfer;
#if ...
  BOOLEAN BusType;
#else
  UCHAR   BusType;
#endif
  USHORT  BusMajorVersion;
  USHORT  BusMinorVersion;
  UCHAR   SrbType;
  UCHAR   AddressType;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;

Miembros

Version

Contiene la versión de la estructura STORAGE_ADAPTER_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.

MaximumTransferLength

Especifica el número máximo de bytes que el adaptador de bus host (HBA) puede transferir en una sola operación.

MaximumPhysicalPages

Especifica el número máximo de páginas físicas discontinuas que el HBA puede administrar en una única transferencia (es decir, la extensión de su compatibilidad de dispersión/recopilación).

AlignmentMask

Especifica los requisitos de alineación del HBA para las transferencias. Un controlador de clase de almacenamiento establece el campo AlignmentRequirement en sus objetos de dispositivo en este valor. La máscara de alineación indica restricciones de alineación para los búferes requeridos por el HBA para las operaciones de transferencia. Los valores de máscara válidos son 0 (alineados por bytes), 1 (línea de palabra), 3 (alineado con DWORD) y 7 (doble DWORD alineado).

AdapterUsesPio

Indica si es TRUE que el HBA usa entradas/salidas programadas (PIO) y requiere el uso de direcciones virtuales de espacio del sistema asignadas a la memoria física para los búferes de datos. Cuando es FALSE, el HBA no usa PIO.

AdapterScansDown

Indica si es TRUE que el HBA examina los dispositivos BIOS, es decir, el HBA comienza a escanear con el número de dispositivo más alto en lugar del más bajo. Cuando es FALSE, el HBA comienza a examinar con el número de dispositivo más bajo. Este miembro está reservado para controladores de minipuerto heredados.

CommandQueueing

Indica si ES TRUE que el HBA admite colas internas etiquetadas por SCSI o por unidad lógica o equivalentes que no son SCSI. Cuando es FALSE, el HBA no admite colas internas etiquetadas por SCSI ni por unidad lógica.

AcceleratedTransfer

Indica si es TRUE que el HBA admite transferencias sincrónicas como una forma de acelerar la E/S. Cuando es FALSE, el HBA no admite transferencias sincrónicas como una manera de acelerar la E/S.

BusType

Especifica un valor de tipo STORAGE_BUS_TYPE que indica el tipo de bus al que está conectado el dispositivo.

BusMajorVersion

Especifica el número de versión principal, si existe, del HBA.

BusMinorVersion

Especifica el número de versión secundaria, si existe, del HBA.

SrbType

Especifica el tipo de bloque de solicitud SCSI (SRB) usado por el HBA. Este miembro es válido a partir de Windows 8.

Valor Significado
SRB_TYPE_SCSI_REQUEST_BLOCK El HBA usa bloques de solicitud SCSI.
SRB_TYPE_STORAGE_REQUEST_BLOCK El HBA usa bloques de solicitud SCSI extendidos.

AddressType

Especifica el tipo de dirección del HBA. Este miembro es válido a partir de Windows 8.

Valor Significado
STORAGE_ADDRESS_TYPE_BTL8 El HBA usa el bus de 8 bits, el destino y el direccionamiento LUN.

Comentarios

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 de configuración del HBA para las operaciones de transferencia de datos. La estructura se puede recuperar desde el objeto de dispositivo para el bus o desde un objeto de dispositivo funcional (FDO), que reenvía la solicitud al bus subyacente.

Si se producen errores excesivos de protocolo en un HBA que admite transferencias sincrónicas (AcceleratedTransfer es TRUE), el controlador de clase de almacenamiento puede deshabilitar las transferencias sincrónicas estableciendo SRB_FLAGS_DISABLE_SYNCH_TRANSFER en SRB.

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