ミニフィルター ドライバー用の DriverEntry ルーチンの記述

すべてのファイル システム ミニフィルター ドライバーには DriverEntry ルーチンが必要です。 DriverEntry ルーチンは、ミニフィルター ドライバーが読み込まれるときに呼び出されます。

DriverEntry ルーチンは、グローバル初期化を実行し、ミニフィルター ドライバーを登録し、フィルター処理を開始します。 このルーチンは、IRQL PASSIVE_LEVEL のシステム スレッド コンテキストで実行されます。

DriverEntry ルーチンは次のように定義されます。

NTSTATUS 
(*PDRIVER_INITIALIZE) ( 
    IN PDRIVER_OBJECT DriverObject, 
    IN PUNICODE_STRING RegistryPath 
    ); 

DriverEntry には 2 つの入力パラメーターがあります。 最初の DriverObject は、ミニフィルター ドライバーが読み込まれたときに作成されたドライバー オブジェクトです。 2 つ目の RegistryPath は、ミニフィルター ドライバーのレジストリ キーへのパスを含むカウントされた Unicode 文字列へのポインターです。

ミニフィルター ドライバーの DriverEntry ルーチンは、次の手順を順番に実行する必要があります。

  1. ミニフィルター ドライバーに必要なグローバル初期化を実行します。

  2. FltRegisterFilter を呼び出 してミニフィルター ドライバーを登録します。

  3. FltStartFiltering を呼び出してフィルター処理を開始します。

  4. 適切な NTSTATUS 値を返します。

このセクションには、次が含まれます。

ミニフィルター ドライバーの登録

フィルタリングの開始

ミニフィルター DriverEntry ルーチンから返される状態