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
包含 AtaAdapterControl、AtaChannelInitRoutine、AtaControllerChannelEnabled和 AtaControllerTransferModeSelect 例程的入口点。
返回值
如果作成功,AtaPortInitializeEx 将返回STATUS_SUCCESS。 否则,它将返回错误代码。
言论
AtaPortInitializeEx 例程初始化端口和微型端口驱动程序使用的关键数据结构。 它还会启动控制器通道的初始化。 以下序列描述了此例程采取的主体作:
- 在 DriverEntry 例程中,微型端口驱动程序调用端口驱动程序的 AtaPortInitializeEx 库例程,并传递以下关键参数:
- ControllerInterface:包含 AtaAdapterControl、AtaChannelInitRoutine、AtaControllerChannelEnabled和 AtaControllerTransferModeSelect 例程的入口点。
-
AtaPortInitializeEx 例程初始化端口和微型端口驱动程序使用的关键数据结构,并执行以下作:
- 初始化微型端口驱动程序的调度表。
- 为驱动程序对象分配扩展。
- 将 ControllerInterface 复制到驱动程序扩展中。
- AtaPortInitializeEx 完成端口驱动程序的初始化后,它将返回到微型端口驱动程序的 DriverEntry 例程。
- 启动适配器设备时,端口驱动程序 AtaAdapterControl 的微型端口驱动程序例程将通过 ideStart 控制作调用。
- 当 ATA 端口驱动程序正在处理通道设备启动请求时,控制器上每个通道都会调用微型端口驱动程序例程 AtaControllerChannelEnabled 以确定它是否已启用。
- AtaControllerChannelEnabled 例程确定已启用哪些通道后,ATA 端口驱动程序会为此通道调用 AtaChannelInitRoutine。
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 桌面 |
| 标头 | irb.h (包括 Ata.h、Irb.h) |
| 库 | Pciidex.lib |