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

AtaAdapterControlAtaChannelInitRoutineAtaControllerChannelEnabled、および AtaControllerTransferModeSelect ルーチンのエントリ ポイントを格納します。

戻り値

操作が成功した場合、AtaPortInitializeEx はSTATUS_SUCCESSを返します。 それ以外の場合は、エラー コードが返されます。

解説

AtaPortInitializeEx ルーチンは、ポートとミニポート ドライバーによって使用されるキー データ構造を初期化します。 また、コントローラーのチャネルの初期化も開始します。 次のシーケンスでは、このルーチンによって実行されるプリンシパル アクションについて説明します。

  1. DriverEntry ルーチンでは、ミニポート ドライバーはポート ドライバーの AtaPortInitializeEx ライブラリ ルーチンを呼び出し、次のキー パラメーターを渡します。
    • ControllerInterface: AtaAdapterControlAtaChannelInitRoutineAtaControllerChannelEnabled、および AtaControllerTransferModeSelect ルーチンのエントリ ポイントが含まれます。
  2. AtaPortInitializeEx ルーチンは、ポートとミニポート ドライバーによって使用されるキー データ構造を初期化し、次のアクションを実行します。
    1. ミニポート ドライバーのディスパッチ テーブルを初期化します。
    2. ドライバー オブジェクトの拡張機能を割り当てます。
    3. ControllerInterface をドライバー拡張機能にコピーします。
    4. AtaPortInitializeEx は、ポート ドライバーの初期化を完了した後、ミニポート ドライバーの DriverEntry ルーチンに戻ります。
  3. アダプター デバイスの起動中に、ミニポート ドライバー ルーチン AtaAdapterControl は、コントロール アクション IdeStart のポート ドライバーによって呼び出されます。
  4. ATA ポート ドライバーがチャネル デバイスの開始要求を処理している場合、ミニポート ドライバー ルーチン AtaControllerChannelEnabled がコントローラー上の各チャネルに対して呼び出され、有効になっているかどうかを判断します。
  5. AtaControllerChannelEnabled ルーチンが有効になっているチャネルを決定した後、ATA ポート ドライバーは、このチャネルの AtaChannelInitRoutine を呼び出します。

必要条件

   
対象プラットフォーム デスクトップ
Header irb.h (Ata.h、Irb.h を含む)
Library Pciidex.lib

関連項目

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION