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. 启动适配器设备时,端口驱动程序将使用控制操作 IdeStart 调用微型端口驱动程序例程 AtaAdapterControl
  4. 当 ATA 端口驱动程序处理通道设备启动请求时,将针对控制器上的每个通道调用微型端口驱动程序例程 AtaControllerChannelEnabled ,以确定它是否已启用。
  5. AtaControllerChannelEnabled 例程确定启用哪些通道后,ATA 端口驱动程序为此通道调用 AtaChannelInitRoutine

要求

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

另请参阅

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION