структура 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 (включая Irb.h) |