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 | 現時点では、このファイルに一致するコンテキストが見つからなかったため、 FltMgr は Context を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 |