Compartir a través de


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 agregan 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 sola transferencia (es decir, la extensión de su soporte de dispersión o recopilación).

AlignmentMask

Especifica los requisitos de alineación de 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 (alineados con DWORD) y 7 (doble DWORD alineado).

AdapterUsesPio

Indica cuándo TRUE que el HBA usa entradas y 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 FALSE, el HBA no usa PIO.

AdapterScansDown

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

CommandQueueing

Indica cuándo TRUE que el HBA admite colas internas etiquetadas por SCSI o por unidad lógica o equivalente no SCSI. Cuando FALSE, el HBA no admite colas internas etiquetadas por SCSI ni por unidad lógica.

AcceleratedTransfer

Indica cuándo TRUE que el HBA admite transferencias sincrónicas como una forma de acelerar la E/S. Cuando FALSE, el HBA no admite transferencias sincrónicas como una forma 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 direccionamiento de bus, destino y LUN de 8 bits.

Observaciones

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 del objeto de dispositivo del bus o de 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
encabezado de 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