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