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

另請參閱

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION