Поделиться через


структура STORAGE_ADAPTER_DESCRIPTOR (ntddstor.h)

Структура STORAGE_ADAPTER_DESCRIPTOR используется вместе с запросом IOCTL_STORAGE_QUERY_PROPERTY для получения данных дескриптора адаптера хранилища для устройства.

Синтаксис

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;

Члены

Version

Содержит версию структуры STORAGE_ADAPTER_DESCRIPTOR. Значение этого элемента изменится по мере добавления элементов в структуру.

Size

Указывает общий размер дескриптора в байтах.

MaximumTransferLength

Указывает максимальное количество байтов, которое может передавать адаптер шины узла (HBA) в одной операции.

MaximumPhysicalPages

Указывает максимальное количество неразрывных физических страниц, которое HBA может управлять в одной передаче (другими словами, степень ее поддержки точечного или сбора).

AlignmentMask

Указывает требования к выравниванию HBA для передачи. Драйвер класса хранилища задает для этого значения поле AlignmentRequirement в его объектах устройства. Маска выравнивания указывает ограничения выравнивания для буферов, необходимых для операций передачи HBA. Допустимые значения маски: 0 (выравнивание байтов), 1 (выравнивание по слову), 3 (выравнивание по DWORD) и 7 (двойное выравнивание DWORD).

AdapterUsesPio

Указывает, когда TRUE, что HBA использует программированные входные и выходные данные (PIO) и требует использования виртуальных адресов, сопоставленных с физической памятью для буферов данных. Если FALSE, HBA не использует ПИО.

AdapterScansDown

Указывает, когда TRUE, что HBA сканирует устройства BIOS, то есть HBA начинает сканирование с наибольшим номером устройства, а не наименьшим. Когда FALSE, HBA начинает сканирование с наименьшим номером устройства. Этот элемент зарезервирован для устаревших драйверов минипорта.

CommandQueueing

Указывает, когда TRUE, что HBA поддерживает очереди с тегами SCSI и/или внутренних очередей, отличных от SCSI. Если FALSE, HBA не поддерживает очереди, помеченные SCSI, или внутренние очереди для логических единиц.

AcceleratedTransfer

Указывает, когда TRUE, что HBA поддерживает синхронные передачи как способ ускорения ввода-вывода. Если FALSE, HBA не поддерживает синхронные передачи как способ ускорения ввода-вывода.

BusType

Указывает значение типа STORAGE_BUS_TYPE, указывающее тип шины, к которой подключено устройство.

BusMajorVersion

Указывает номер основной версии, если он есть, HBA.

BusMinorVersion

Указывает дополнительный номер версии, если таковой есть, HBA.

SrbType

Указывает тип блока запросов SCSI (SRB), используемый HBA. Этот член действителен начиная с Windows 8.

Ценность Значение
SRB_TYPE_SCSI_REQUEST_BLOCK HBA использует блоки запросов SCSI.
SRB_TYPE_STORAGE_REQUEST_BLOCK HBA использует расширенные блоки запросов SCSI.

AddressType

Задает тип адреса HBA. Этот член действителен начиная с Windows 8.

Ценность Значение
STORAGE_ADDRESS_TYPE_BTL8 HBA использует 8-разрядную шину, целевую и LUN-адресацию.

Замечания

Драйверы классов хранилища выдают запрос на управление устройствами с кодом управления ввода-вывода IOCTL_STORAGE_QUERY_PROPERTY для получения этой структуры, содержащей сведения о конфигурации из HBA для операций передачи данных. Структура может быть получена из объекта устройства для шины или из функционального объекта устройства (FDO), который перенаправит запрос на базовую шину.

Если на HBA возникают чрезмерные ошибки протокола, поддерживающие синхронную передачу (AcceleratedTransferTRUE), драйвер класса хранилища может отключить синхронные передачи, задав SRB_FLAGS_DISABLE_SYNCH_TRANSFER в SRBS.

Требования

Требование Ценность
заголовка ntddstor.h (include Ntddstor.h)

См. также

IOCTL_STORAGE_QUERY_PROPERTY

IoBuildDeviceIoControlRequest

STORAGE_ADAPTER_DESCRIPTOR

STORAGE_BUS_TYPE

STORAGE_DESCRIPTOR_HEADER

STORAGE_DEVICE_DESCRIPTOR

STORAGE_DEVICE_ID_DESCRIPTOR