次の方法で共有


FltGetStreamContext 関数 (fltkernel.h)

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

構文

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

パラメーター

[in] Instance

コンテキストを取得するミニフィルター ドライバー インスタンスの不透明なインスタンス ポインター。

[in] FileObject

ストリームのファイル オブジェクトへのポインター。

[out] Context

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

戻り値

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

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

注釈

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

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

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

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

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

ストリーム コンテキストを削除するには、 FltDeleteStreamContext または FltDeleteContext を呼び出します。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL <= APC_LEVEL

こちらもご覧ください

FltAllocateContext

FltDeleteContext

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext