次の方法で共有


ファイル システム フィルター ドライバーの初期化

Note

最適な信頼性とパフォーマンスを実現するには、レガシ ファイル システム フィルター ドライバーではなく、フィルター マネージャーのサポートがあるファイル システム ミニフィルター ドライバーを使用します。 レガシー ドライバーをミニフィルター ドライバーに移植するには、「レガシー フィルター ドライバーを移植するためのガイドライン」参照してください。

その DriverEntry 従来のファイル システム フィルター ドライバーを初期化するルーチンは次のようなものです。DriverEntry デバイスドライバーを初期化するルーチン。 ドライバーがロードされた後、ドライバーをロードした同じコンポーネントも、ドライバーの DriverEntry ルーティーン。 ファイル システム フィルター ドライバーの場合、ドライバーをロードするコンポーネントは、I/O マネージャー (開始タイプが SERVICE_BOOT_START であるフィルターの場合) またはサービス コントロール マネージャー (他の開始タイプの場合) です。

その DriverEntry ルーチンは、IRQL = PASSIVE_LEVEL のシステム スレッド コンテキストで実行されます。 このルーチンはページング可能であり、破棄されるように INIT セグメント内に存在する必要があります。 ドライバー コードをページング可能にする方法の詳細については、「」の「備考」セクションを参照してください。MmLockPagableCodeSection.

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

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

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

その DriverEntry ファイル システム フィルター ドライバーのルーチンは、次の手順を実行します。

コントロール デバイス オブジェクトの作成

IRPディスパッチルーチンの登録

高速 I/O ディスパッチ ルーチンの登録

FsFilter コールバック ルーチンの登録

その他必要な初期化の実行

[オプション] コールバック ルーチンの登録

[オプション] レジストリ パス文字列のコピーの保存

返される状態