FsRtlLookupPerFileObjectContext 関数 (ntifs.h)
"レガシ" ファイル システム フィルター ドライバーの場合、FsRtlLookupPerFileObjectContext 関数は、以前にファイル オブジェクトに関連付けられたコンテキスト情報を取得します。
構文
PFSRTL_PER_FILEOBJECT_CONTEXT FsRtlLookupPerFileObjectContext(
[in] PFILE_OBJECT FileObject,
[in, optional] PVOID OwnerId,
[in, optional] PVOID InstanceId
);
パラメーター
[in] FileObject
コンテキスト情報を照会する対象のファイル オブジェクトへのポインター。
[in, optional] OwnerId
ファイルごとのオブジェクト コンテキスト構造の所有フィルターを一意に識別する呼び出し元によって割り当てられた変数へのポインター。 この変数の形式は、フィルター ドライバー固有です。
[in, optional] InstanceId
呼び出し元によって割り当てられた変数へのポインター。同じフィルター ドライバーによって作成されたファイルごとのオブジェクト コンテキスト構造を区別するために使用できます。 この変数の形式は、フィルター ドライバー固有です。 このパラメーターは省略可能であり、NULL
戻り値
FsRtlLookupPerFileObjectContext
備考
"レガシ" ファイル システム フィルター ドライバーは、FsRtlLookupPerFileObjectContext を呼び出して、ファイル オブジェクトのファイル ごとのオブジェクト ごとのコンテキスト構造を取得します。 コンテキスト構造体には、ファイル オブジェクトのフィルター ドライバーが保持するコンテキスト情報が含まれています。 このコンテキスト構造は、FsRtlInsertPerFileObjectContext 関数を呼び出すことによって、ファイル オブジェクトに関連付けられている必要があります。
FSRTL_PER_FILEOBJECT_CONTEXT構造体がファイル オブジェクトごとのコンテキスト構造で定義されたフィルターに埋め込まれている場合、CONTAINING_RECORD マクロを使用して、フィルター定義構造体の先頭へのポインターを取得できます。
ファイルごとのオブジェクト コンテキスト構造を初期化するには、FsRtlInitPerFileObjectContext マクロを使用します。
ファイル オブジェクトごとの初期化されたコンテキスト構造をファイル オブジェクトに関連付けるには、fsRtlInsertPerFileObjectContext 関数
ファイル オブジェクトに関連付けられているファイル オブジェクトごとのコンテキスト構造を削除するには、FsRtlRemovePerFileObjectContext 関数を使用します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Fltkernel.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |