структура IDE_CONTROLLER_CONFIGURATION (irb.h)

Структура IDE_CONTROLLER_CONFIGURATION используется для передачи сведений о конфигурации контроллера между драйвером порта и драйвером мини-порта.

Примечание В будущем модели драйвера портов ATA и драйвера мини-порта ATA могут быть изменены или недоступны. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
 

Синтаксис

typedef struct _IDE_CONTROLLER_CONFIGURATION {
  USHORT                  Version;
  UCHAR                   NumberOfChannels;
  IDE_OPERATION_MODE      ControllerMode;
  UCHAR                   NumberOfPhysicalBreaks;
  ULONG                   MaximumTransferLength;
  BOOLEAN                 Reserved;
  BOOLEAN                 NativeModeEnabled;
  BOOLEAN                 Dma64BitAddress;
  BOOLEAN                 BusMaster;
  IDE_BUS_TYPE            AtaBusType;
  PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;

Члены

Version

Драйвер порта задает это поле для указания версии драйвера порта. Драйвер порта задает версию sizeof(IDE_CONTROLLER_CONFIGURATION). Драйвер мини-порта должен убедиться, что версия больше или равна той, которую он использует.

NumberOfChannels

Указывает количество каналов, поддерживаемых HBA. Обратите внимание, что это общее количество каналов, включая отключенные.

ControllerMode

Драйвер порта задает это поле, чтобы сообщить минипорту ATA, в каком режиме он работает. Существует два возможных режима:

Режим Описание
IdeModeNormal Это стандартный полный режим возможностей, в котором минипорт ATA может работать в обычном режиме.
IdeModeDump Это ограниченный режим без памяти, в который работает мини-порт ATA во время гибернации или аварийного завершения. Подпрограммы обратного вызова и процедуры доступа к реестру нельзя использовать в этом режиме.

NumberOfPhysicalBreaks

Указывает максимальное количество разрывов между диапазонами адресов, которое может иметь буфер данных, если HBA поддерживает точечную и сборную. Иными словами, количество списков точечной/собираемой за вычетом единицы. По умолчанию значение этого элемента равно IDE_UNINITIALIZED_VALUE, что указывает, что HBA может поддерживать неограниченное количество физических несоответствий. Если драйвер порта задает значение для этого элемента, драйвер мини-порта может изменить значение ниже, но не выше. Если этот элемент IDE_UNINITIALIZED_VALUE, драйвер мини-порта должен сбросить этот элемент в соответствии с емкостью точечной/сборной емкости HBA.

MaximumTransferLength

Указывает максимальное количество байтов, которые может передавать HBA за одну операцию передачи. По умолчанию значение этого элемента равно IDE_UNINITIALIZED_VALUE, что указывает на неограниченный максимальный размер передачи.

Reserved

Зарезервировано для последующего использования. Драйвер мини-порта не должен использовать это поле.

NativeModeEnabled

Драйвер мини-порта может задать для этого элемента значение TRUE , чтобы указать, что контроллер должен работать в собственном режиме.

Dma64BitAddress

Драйвер мини-порта может задать для этого члена значение TRUE , чтобы указать поддержку 64-разрядной операции DMA.

BusMaster

Драйвер мини-порта может присвоить этому члену значение TRUE , чтобы указать поддержку шины.

AtaBusType

Указывает, является ли он контроллером SATA или PATA.

ControllerResources

Предоставляет аппаратные ресурсы для контроллера ATA.

Требования

Требование Значение
Заголовок irb.h (включая Irb.h)