ミニフィルター ドライバーの登録
すべてのミニフィルター ドライバーは、登録されているミニフィルター ドライバーのグローバル リストに自分自身を追加し、コールバック ルーチンとドライバーに関するその他の情報の一覧をフィルター マネージャーに提供するために、その DriverEntry ルーチンから FltRegisterFilter を呼び出す必要があります。
MiniSpy サンプルでは、次のコード例に示すようにミニフィルター ドライバーが登録されています。
NTSTATUS status;
status = FltRegisterFilter(
DriverObject, //Driver
&FilterRegistration, //Registration
&MiniSpyData.FilterHandle); //RetFilter
FltRegisterFilter には、2 つの入力パラメーターがあります。 1 つ目の「ドライバー」は、ミニフィルター ドライバーが DriverEntry ルーチンへの DriverObject 入力パラメーターとして受け取ったドライバー オブジェクト ポインターです。 2 つ目 の「登録」は、ミニフィルター ドライバーのコールバック ルーチンへの エントリ ポイントを含む FLT_REGISTRATION 構造体へのポインターです。
さらに、 FltRegisterFilter には、 ミニフィルター ドライバーの不透明なフィルター ポインターを受け取る出力パラメーター RetFilter があります。 このフィルター ポインターは、FltStartFiltering や FltUnregisterFilter など、多くの FltXxx サポート ルーチンに必要な入力パラメーターです。