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) |
程式庫 | Pciidex.lib |