次の方法で共有


FltGetSectionContext 関数 (fltkernel.h)

FltGetSectionContext ルーチンは、指定されたミニフィルター ドライバー インスタンスによってファイル ストリーム用に作成されたセクション コンテキストを取得します。

構文

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

パラメーター

[in] Instance

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

[in] FileObject

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

[out] Context

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

戻り値

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

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

注釈

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

FltGetSectionContext は、指定されたミニフィルター ドライバー インスタンスによってファイル ストリーム用に作成されたセクション コンテキストを取得します。 セクション コンテキストは、 FltCreateSectionForDataScan を呼び出すことによって作成されます。

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

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

ミニフィルターは、 FltCreateSectionForDataScan に渡されたセクション コンテキストを明示的に削除することはできません。 この場合、セクション コンテキストは FltCloseSectionForDataScan を呼び出すことによって、ストリームから割り当て解除され、削除されます。

要件

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

こちらもご覧ください

FltAllocateContext

FltCloseSectionForDataScan

FltCreateSectionForDataScan

FltReleaseContext