DriverEntry ルーチンの記述

各ドライバーは、ドライバー全体のデータ構造とリソースを初期化する DriverEntry ルーチンが必要です。 I/Oマネージャは、ドライバーをロードするときに DriverEntry ルーチンを呼び出します。

プラグ アンド プレイ (PnP) をサポートするドライバーでは、すべてのドライバーが必要とするように、 DriverEntry ルーチンは ドライバー の初期化を担当します。一方 AddDevice ルーチン (および場合によっては、 PnP IRP_MN_START_DEVICE 要求を処理するディスパッチ ルーチン) は device の初期化を担当します。 ドライバーの初期化には、ドライバーの他のエントリ ポイントのエクスポート、ドライバーが使用する特定のオブジェクトの初期化、ドライバーごとのさまざまなシステム リソースの設定が含まれます。 (PnP 以外のドライバーには、Microsoft Windows NT 4.0 以前のドライバー開発キット [DDK] で説明されているように、要件が大幅に異なります)。

DriverEntry ルーチンは、IRQL = PASSIVE_LEVEL のシステム スレッドのコンテキストで呼び出されます。

DriverEntry ルーチンはページング可能であり、また破棄されるよう INIT セグメント内に存在する必要があります。 Windows Driver Kit (WDK) で提供されるサンプル ドライバーに示すように、 alloc_text プラグマ ディレクティブを使用します。

このセクションでは、以下のトピックについて説明します:

DriverEntry の必須の役割

DriverEntry のオプションの役割

DriverEntry の戻り値