FltRegisterFilter 関数 (fltkernel.h)
FltRegisterFilter はミニフィルター ドライバーを登録します。
構文
NTSTATUS FLTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
パラメーター
[in] Driver
ミニフィルター ドライバーのドライバー オブジェクトへのポインター。 これは、ミニフィルター ドライバーの DriverEntry ルーチンへの入力として渡されたのと同じドライバー オブジェクト ポインターである必要があります。
[in] Registration
呼び出し元によって割り当てられたミニフィルター ドライバー登録構造体へのポインター (FLT_REGISTRATION)。
[out] RetFilter
呼び出し元の不透明なフィルター ポインターを受け取る呼び出し元によって割り当てられた変数へのポインター。
戻り値
FltRegisterFilter は 、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
FltRegisterFilter で プールの割り当てエラーが発生しました。 これはエラー コードです。 |
|
次のいずれか:
|
|
フィルター マネージャーは、フィルターが登録しようとしたときに初期化されませんでした。 フィルター マネージャーがドライバーとして読み込まれていることを確認します。 これはエラー コードです。 |
|
フィルター サービス キーがレジストリに見つかりません。
または フィルター インスタンスが登録されていません。 |
注釈
すべてのミニフィルター ドライバーは、その DriverEntry ルーチンから FltRegisterFilter を呼び出して、登録されているミニフィルター ドライバーのグローバル リストに追加し、フィルター マネージャーにコールバック関数の一覧とミニフィルター ドライバーに関するその他の情報を提供する必要があります。
FltRegisterFilter は 、*RetFilter のミニフィルター ドライバーの不透明なフィルター ポインターを返します。 このポインター値は、ミニフィルター ドライバーを一意に識別し、ミニフィルター ドライバーが読み込まれている限り一定のままになります。 ミニフィルター ドライバーは、 FltStartFiltering と FltUnregisterFilter に必要なパラメーターであるため、このポインターを保存する必要があります。
FltRegisterFilter を呼び出した後、ミニフィルター ドライバーは通常、FltStartFiltering を呼び出して I/O 操作のフィルター処理を開始します。
ミニフィルター ドライバーは、 FltRegisterFilter を呼び出してそれ自体を登録することしかでき、別のミニフィルター ドライバーを呼び出す必要はありません。
それ自体の登録を解除するために、ミニフィルター ドライバーは FltUnregisterFilter.. を呼び出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |