FltReleaseContext 関数 (fltkernel.h)
FltReleaseContext は、コンテキストの参照カウントをデクリメントします。
構文
VOID FLTAPI FltReleaseContext(
[in] PFLT_CONTEXT Context
);
パラメーター
[in] Context
コンテキストへのポインター。 ボリューム、インスタンス、ストリーム、またはストリーム ハンドルのコンテキスト オブジェクトへの有効なポインターである必要があります。 このパラメーターは必須であり、NULL することはできません。
戻り値
何一つ
備考
コンテキストの詳細については、「ミニフィルター コンテキストについて」を参照してください。
ミニフィルター ドライバーは、コンテキスト 解放するために FltReleaseContext を呼び出します。 FltReleaseContext 、指定されたコンテキストの参照カウントをデクリメントします。 参照カウントが 0 に達すると、呼び出し元が IRQL <= APC_LEVELで実行されている場合、コンテキストはすぐに解放されます。 呼び出し元が IRQL DISPATCH_LEVELで実行されている場合、作業項目はコンテキストを解放するようにスケジュールされます。
手記
FltReleaseContext 戻った後、コンテキストが既に解放されている可能性があるため、呼び出し元はコンテキストを使用しないでください。
FltAllocateContext 、FltGetXxxコンテキスト、または FltReferenceContextへの呼び出しが、FltReleaseContext 呼び出しによって最終的に一致する必要があります。
FltSet Xxxコンテキストによって返される OldContext ポインターと、FltDeleteContextの呼び出しに使用される Context パラメーターも、必要なくなったときに fltReleaseContext 呼び出して解放する必要があることに注意してください。
新しいコンテキストを割り当てるには、FltAllocateContext呼び出します。
コンテキストの参照カウントをインクリメントするには、FltReferenceContext呼び出します。
コンテキスト参照カウントの詳細については、「コンテキストの参照を参照する」を参照してください。
FltReleaseContext の呼び出し元は、非ページ プールからコンテキストが割り当てられている場合は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 ページ プールからコンテキストが割り当てられた場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | 「解説」セクションを参照してください。 |
関連項目
FltAllocateContextの
FltDeleteContextの
FltGetContextsの
FltGetContextsExの
FltGetFileContextの
FltGetInstanceContextの
FltGetSectionContextの
FltGetStreamContextの
FltGetStreamHandleContextの
FltGetTransactionContextの
FltGetVolumeContextの
FltReferenceContextの
FltReleaseContextsをする
FltSetFileContextの
FltSetInstanceContextの
FltSetStreamContextの
FltSetStreamHandleContextの
FltSetTransactionContextの
FltSetVolumeContextの