次の方法で共有


FltGetVolumeContext 関数 (fltkernel.h)

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

構文

NTSTATUS FLTAPI FltGetVolumeContext(
  [in]  PFLT_FILTER  Filter,
  [in]  PFLT_VOLUME  Volume,
  [out] PFLT_CONTEXT *Context
);

パラメーター

[in] Filter

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

[in] Volume

コンテキストが取得されるボリュームの不透明なポインター。 このパラメーターは必須であり、NULL にすることはできません。

[out] Context

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

戻り値

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

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

注釈

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

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

ボリュームのコンテキストを設定するには、 FltSetVolumeContext を呼び出します。

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

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

要件

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

こちらもご覧ください

FltAllocateContext

FltDeleteContext

FltDeleteVolumeContext

FltReleaseContext

FltSetVolumeContext