AtaPortInitializeEx 函数 (irb.h)

AtaPortInitializeEx ATA 端口驱动程序库例程初始化端口和微型端口驱动程序。

注意 ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序Storport 微型端口 驱动程序模型。
 

语法

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

参数

[in] DriverObject

指向微型端口驱动程序对象的指针。

[in] RegistryPath

包含一个 Unicode 字符串,指示存储微型端口驱动程序配置信息的注册表中的位置。

[in] ControllerInterface

包含 AtaAdapterControlAtaChannelInitRoutineAtaControllerChannelEnabledAtaControllerTransferModeSelect 例程的入口点。

返回值

如果作成功,AtaPortInitializeEx 将返回STATUS_SUCCESS。 否则,它将返回错误代码。

言论

AtaPortInitializeEx 例程初始化端口和微型端口驱动程序使用的关键数据结构。 它还会启动控制器通道的初始化。 以下序列描述了此例程采取的主体作:

  1. DriverEntry 例程中,微型端口驱动程序调用端口驱动程序的 AtaPortInitializeEx 库例程,并传递以下关键参数:
    • ControllerInterface:包含 AtaAdapterControlAtaChannelInitRoutineAtaControllerChannelEnabledAtaControllerTransferModeSelect 例程的入口点。
  2. AtaPortInitializeEx 例程初始化端口和微型端口驱动程序使用的关键数据结构,并执行以下作:
    1. 初始化微型端口驱动程序的调度表。
    2. 为驱动程序对象分配扩展。
    3. 将 ControllerInterface 复制到驱动程序扩展中。
    4. AtaPortInitializeEx 完成端口驱动程序的初始化后,它将返回到微型端口驱动程序的 DriverEntry 例程。
  3. 启动适配器设备时,端口驱动程序 AtaAdapterControl 的微型端口驱动程序例程将通过 ideStart 控制作调用。
  4. 当 ATA 端口驱动程序正在处理通道设备启动请求时,控制器上每个通道都会调用微型端口驱动程序例程 AtaControllerChannelEnabled 以确定它是否已启用。
  5. AtaControllerChannelEnabled 例程确定已启用哪些通道后,ATA 端口驱动程序会为此通道调用 AtaChannelInitRoutine

要求

要求 价值
目标平台 桌面
标头 irb.h (包括 Ata.h、Irb.h)
Pciidex.lib

另请参阅

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION