ファイル システム フィルター ドライバーとデバイス ドライバーの相違点
Microsoft Windows オペレーティング システムのファイルと、システム フィルター ドライバーとデバイス ドライバーは、次の点で異なります。
電源管理なし
ファイル システム フィルター ドライバーはデバイス ドライバーではないため、ハードウェア デバイスを直接制御しないため、ファイル システム フィルター ドライバーは、IRP_MJ_POWERを リクエストします。 代わりに、電源 IRP はストレージ デバイス スタックに直接送信されます。 ただし、まれに、ファイル システム フィルター ドライバーが電源管理に干渉することがあります。 このため、ファイル システム フィルター ドライバーは、IRP_MJ_POWER のディスパッチ ルーチンを DriverEntry ルーチンであり、PoXxx ルーチンを呼び出すべきではありません。
WDMなし
ファイル システム フィルター ドライバーを Windows Driver Model (WDM) ドライバーにすることはできません。 Microsoft Windows ドライバーモデル は、デバイスドライバー専用です。
AddDevice または StartIo なし
ファイル システム フィルター ドライバーはデバイス ドライバーではないため、ハードウェア デバイスを直接制御しないため、ファイル システム フィルター ドライバーには、デバイスを追加 もしくは、スタートIo ルーチン。
異なるデバイスオブジェクトが作成される
ファイル システム フィルター ドライバーとデバイス ドライバーはどちらもデバイス オブジェクトを作成しますが、作成するデバイス オブジェクトの数と種類が異なります。
デバイス ドライバーは、デバイスを表す物理的および機能的なデバイス オブジェクトを作成します。 プラグ アンド プレイ (PnP) マネージャーは、デバイス ドライバーによって作成されたすべてのデバイス オブジェクトを含むグローバル デバイス ツリーを構築および維持します。 ファイル システム フィルター ドライバーが作成するデバイス オブジェクトは、このデバイス ツリーには含まれません。
ファイル システム フィルター ドライバーは、物理的または機能的なデバイス オブジェクトを作成しません。 代わりに、制御デバイス オブジェクトを作成し、デバイス オブジェクトをフィルタリングします。 その 制御デバイスオブジェクトは、 システムおよびユーザーモード アプリケーションに対するフィルター ドライバーを表します。 その フィルターデバイスオブジェクトは、 特定のファイル システムまたはボリュームをフィルタリングする実際の作業を実行します。 ファイル システム フィルター ドライバーは通常、1 つの制御デバイス オブジェクトと 1 つ以上のフィルター デバイス オブジェクトを作成します。
その他の相違点
ファイル システム フィルター ドライバーはデバイス ドライバーではないため、ダイレクト メモリ アクセス (DMA)) は行いません。
ターゲット デバイスのファンクション ドライバーの上または下に接続できるデバイス フィルター ドライバーとは異なり、ファイル システム フィルター ドライバーはターゲット ファイル システム ドライバーの上にのみ接続できます。 したがって、デバイス ドライバーの観点から見ると、ファイル システム フィルター ドライバーは上位フィルターのみになることができ、下位フィルターになることはありません。