次の方法で共有


FltReleaseContextsEx 関数 (fltkernel.h)

FltReleaseContextsEx は 、特定の FLT_RELATED_CONTEXTS_EX 構造体の各コンテキストを解放します。

構文

VOID FLTAPI FltReleaseContextsEx(
  [in] SIZE_T                   ContextsSize,
  [in] PFLT_RELATED_CONTEXTS_EX Contexts
);

パラメーター

[in] ContextsSize

コンテキストが指すFLT_RELATED_CONTEXTS_EX構造体のサイズ (バイト単位)。 sizeof(FLT_RELATED_CONTEXTS_EX) に設定します。

[in] Contexts

FLT_RELATED_CONTEXTS_EX構造体へのポインター。

戻り値

なし

解説

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

FltReleaseContextsEx はFLT_RELATED_CONTEXTS_EX 構造体内のすべてのコンテキストで参照カウントをデクリメントし、構造体のすべてのメンバーをNULL_CONTEXTに設定します。

特定の I/O 要求の特定のミニフィルター ドライバーの FLT_RELATED_CONTEXTS_EX 構造を取得するには、 FltGetContextsEx を呼び出します。

コンテキスト参照カウントの詳細については、「コンテキストの 参照」を参照してください。

すべてのコンテキストが非ページ プールから割り当てられている場合、 FltReleaseContextsEx の 呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります。 ページ プールからコンテキストが割り当てられた場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。

各コンテキストの参照カウントが 0 に達すると、呼び出し元が IRQL <= APC_LEVELで実行されている場合、コンテキストはすぐに解放されます。 呼び出し元が IRQL DISPATCH_LEVELで実行されている場合、作業項目はコンテキストを解放するようにスケジュールされます。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL 「解説」を参照してください。

こちらもご覧ください

FLT_CONTEXT_REGISTRATION

FLT_RELATED_CONTEXTS_EX

FltAllocateContext

FltGetContextsEx

FltReleaseContext