次の方法で共有


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 は NULL返します。

備考

"レガシ" ファイル システム フィルター ドライバーは、FsRtlLookupPerFileObjectContext を呼び出して、ファイル オブジェクトのファイル ごとのオブジェクト ごとのコンテキスト構造を取得します。 コンテキスト構造体には、ファイル オブジェクトのフィルター ドライバーが保持するコンテキスト情報が含まれています。 このコンテキスト構造は、FsRtlInsertPerFileObjectContext 関数を呼び出すことによって、ファイル オブジェクトに関連付けられている必要があります。

FSRTL_PER_FILEOBJECT_CONTEXT構造体がファイル オブジェクトごとのコンテキスト構造で定義されたフィルターに埋め込まれている場合、CONTAINING_RECORD マクロを使用して、フィルター定義構造体の先頭へのポインターを取得できます。

ファイルごとのオブジェクト コンテキスト構造を初期化するには、FsRtlInitPerFileObjectContext マクロを使用します。

ファイル オブジェクトごとの初期化されたコンテキスト構造をファイル オブジェクトに関連付けるには、fsRtlInsertPerFileObjectContext 関数 使用します。

ファイル オブジェクトに関連付けられているファイル オブジェクトごとのコンテキスト構造を削除するには、FsRtlRemovePerFileObjectContext 関数を使用します。

ファイル システムミニフィルター ドライバーFsRtlXxxPerFileObjectContext 関数を使用しないでください。 代わりに、ミニフィルターは、FltXxxContext 関数を使用して、コンテキスト情報をファイル オブジェクトに関連付けることができます。 完全な一覧については、FSRTL_PER_FILEOBJECT_CONTEXT トピックを参照してください。
 

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Fltkernel.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlInsertPerFileObjectContext

FsRtlRemovePerFileObjectContext