次の方法で共有


FltGetFileContext 関数 (fltkernel.h)

FltGetFileContext ルーチンは、特定のミニフィルター ドライバー インスタンスによってファイルに設定されたコンテキストを取得します。

構文

NTSTATUS FLTAPI FltGetFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

パラメーター

[in] Instance

呼び出し元の不透明なインスタンス ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[in] FileObject

ファイルのファイル オブジェクト ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[out] Context

コンテキストのアドレスを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは必須であり、NULL に設定することはできません。

戻り値

FltGetFileContext は、要求されたファイル コンテキストを正常に返したときにSTATUS_SUCCESSを返します。 それ以外の場合は、次のいずれかの適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_NOT_FOUND 現時点では、このファイルに一致するコンテキストが見つからなかったため、 FltMgrContext をNULL_CONTEXTに設定しました。 これはエラー コードです。
STATUS_NOT_SUPPORTED このファイルでは、ファイル コンテキストはサポートされていません。 これはエラー コードです。

注釈

コンテキストの詳細については、「 ミニフィルター コンテキストについて」を参照してください。

ミニフィルター ドライバーは 、FltGetFileContext を呼び出して、特定のファイルに対して設定されたファイル コンテキストを取得します。

FltGetFileContext は、 Context パラメーターが指すコンテキストの参照カウントをインクリメントします。 このコンテキスト ポインターが不要になった場合、呼び出し元は FltReleaseContext を呼び出して参照カウントをデクリメントする必要があります。 したがって、 FltGetFileContext を正常に呼び出すたびに、 FltReleaseContext の後続の呼び出しと一致する必要があります。

ファイル コンテキストを設定するには、 FltSetFileContext を呼び出します。

新しいコンテキストを割り当てるには、 FltAllocateContext を呼び出します。

ファイル コンテキストを削除するには、 FltDeleteFileContext または FltDeleteContext を呼び出します。

特定のファイルに対してファイル コンテキストがサポートされているかどうかを確認するには、 FltSupportsFileContexts または FltSupportsFileContextsEx を呼び出します。

要件

要件
サポートされている最小のクライアント Windows Vista
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL <= APC_LEVEL

こちらもご覧ください

FLT_CONTEXT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltDeleteFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx