структура IDE_CONTROLLER_CONFIGURATION (irb.h)
Структура IDE_CONTROLLER_CONFIGURATION используется для передачи сведений о конфигурации контроллера между драйвером порта и драйвером мини-порта.
Синтаксис
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) |