Функция AtaPortInitializeEx (irb.h)

Подпрограмма библиотеки драйверов портов ATA AtaPortInitializeEx инициализирует драйверы портов и минипорта.

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

Синтаксис

ULONG AtaPortInitializeEx(
  [in] PVOID                     DriverObject,
  [in] PVOID                     RegistryPath,
  [in] PIDE_CONTROLLER_INTERFACE ControllerInterface
);

Параметры

[in] DriverObject

Указатель на объект драйвера miniport.

[in] RegistryPath

Содержит строку Юникода, указывающую расположение в реестре, в котором хранятся сведения о конфигурации драйвера miniport.

[in] ControllerInterface

Содержит точки входа для AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabledи подпрограмм AtaControllerTransferModeSelect.

Возвращаемое значение

AtaPortInitializeEx возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае возвращается код ошибки.

Замечания

Программа AtaPortInitializeEx инициализирует ключевые структуры данных, используемые драйверами порта и минипорта. Она также запускает инициализацию каналов контроллера. В следующей последовательности описываются основные действия, выполняемые этой подпрограммой:

  1. Хотя в подпрограмме DriverEntry драйвер минипорта вызывает библиотеки ataPortInitializeEx и передает следующие ключевые параметры:
    • ControllerInterface: содержит точки входа для AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabledи подпрограмм AtaControllerTransferModeSelect.
  2. Подпрограмма ataPortInitializeEx инициализирует ключевые структуры данных, используемые драйверами порта и минипорта, и выполняет следующие действия:
    1. Инициализирует таблицы диспетчера минипорта.
    2. Выделяет расширение для объекта driver.
    3. Копирует ControllerInterface в расширение драйвера.
    4. После AtaPortInitializeEx завершит инициализацию драйвера порта, он возвращается в подпрограмму DriverEnt ry драйвера miniport.
  3. При запуске устройства адаптера подпрограмма драйвера минипорта AtaAdapterControl будет вызываться драйвером порта с действием управления IdeStart.
  4. Когда драйвер порта ATA обрабатывает запрос на запуск устройства канала, подпрограмма драйвера минипорта AtaControllerChannelEnabled вызывается для каждого канала на контроллере, чтобы определить, включена ли она.
  5. После подпрограммы AtaControllerChannelEnabled определяет, какие каналы включены, драйвер портов ATA вызывает AtaChannelInitRoutine для этого канала.

Требования

Требование Ценность
целевая платформа Настольный
заголовка irb.h (include Ata.h, Irb.h)
библиотеки Pciidex.lib

См. также

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION