ファイル システム フィルター ドライバーとファイル システムは、FsRtlRegisterFileSystemFilterCallbacks ルーチンを呼び出して、基になるファイル システムが特定の操作を実行したときに呼び出される通知コールバック ルーチンを登録します。
構文
NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
[in] _DRIVER_OBJECT *FilterDriverObject,
[in] PFS_FILTER_CALLBACKS Callbacks
);
パラメーター
[in] FilterDriverObject
フィルターまたはファイル システム ドライバーのドライバー オブジェクトへのポインター。
[in] Callbacks
呼び出し元が指定した通知コールバック ルーチンのエントリ ポイントを含む FS_FILTER_CALLBACKS 構造体へのポインター。 すべてのコールバック エントリ ポイントは省略可能であり、NULL 設定できます。
戻り値
FsRtlRegisterFileSystemFilterCallbacks ルーチンは、次のいずれかの状態値を返すことができます。
リターン コード | 形容 |
---|---|
STATUS_SUCCESS | コールバック ルーチンが正常に登録されました。 |
STATUS_INSUFFICIENT_RESOURCES | FsRtlRegisterFileSystemFilterCallbacks コールバック情報を格納するためにメモリを割り当てるときにプールの割り当てエラーが発生しました。 |
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY | FsRtlRegisterFileSystemFilterCallbacks FsFilter 操作が正常に完了。 |
STATUS_FILE_LOCKED_WITH_ONLY_READERS | ファイルはロックされており、ファイルのすべてのユーザーは読み取り専用です。 |
STATUS_FILE_LOCKED_WITH_WRITERS | ファイルがロックされ、ファイルの少なくとも 1 人のユーザーが書き込むことができます |
STATUS_INVALID_PARAMETER | いずれかのパラメーターが無効です。 |
備考
ファイル システムおよびファイル システム フィルター ドライバーは、ドライバーの DriverEntry ルーチンから FsRtlRegisterFileSystemFilterCallbacks を呼び出す必要があります。
FsRtlRegisterFileSystemFilterCallbacks は、特定のファイル操作の要求が基になるファイル システムに送信されるときに呼び出される コールバック パラメーターで指定された通知コールバック ルーチンを登録します。
ファイル システム FsRtlRegisterFileSystemFilterCallbacks を呼び出して、FS_FILTER_CALLBACKS 構造体の PreAcquireForSectionSynchronization コールバック メンバーを、AcquireFileForNtCreateSectionを使用する代わりに設定します。
FsRtlRegisterFileSystemFilterCallbacks によって登録されたコールバック ルーチンは、次の高速 I/O コールバック ルーチンよりも優先。これは廃止されており、ファイル システム フィルター ドライバーでは使用しないでください。
- AcquireForCcFlush の
- AcquireFileForNtCreateSection
- AcquireForModWrite
- ReleaseForCcFlush
- ReleaseFileForNtCreateSection を する
- ReleaseForModWrite の
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |