Share via


FltGetInstanceContext 関数 (fltkernel.h)

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

構文

NTSTATUS FLTAPI FltGetInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *Context
);

パラメーター

[in] Instance

インスタンスの不透明なインスタンス ポインター。

[out] Context

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

戻り値

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

リターン コード 説明
STATUS_NOT_FOUND 現時点では、このインスタンスで一致するコンテキストが見つかりませんでした。 FltMgr は、コンテキストをNULL_CONTEXTに設定します。 これはエラー コードです。

注釈

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

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

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

インスタンスのコンテキストを設定するには、 FltSetInstanceContext を呼び出します。

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

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

要件

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

こちらもご覧ください

FltAllocateContext

FltDeleteContext

FltDeleteInstanceContext

FltReleaseContext

FltSetInstanceContext