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


структура 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 (include Irb.h)