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 を呼び出します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
関連項目
FltStartFiltering の
FltUnregisterFilter の