FltDeleteContext 関数 (fltkernel.h)
FltDeleteContext 、指定したコンテキストを削除対象としてマークします。
構文
VOID FLTAPI FltDeleteContext(
[in] PFLT_CONTEXT Context
);
パラメーター
[in] Context
削除するコンテキストへのポインター。 このパラメーターは必須であり、NULL することはできません。
戻り値
何一つ。
備考
コンテキストの詳細については、「ミニフィルター コンテキストについて」を参照してください。
コンテキストは参照カウントされるため、通常、ミニフィルター ドライバーが明示的にコンテキストを削除するために、fltDeleteContext などのルーチンを呼び出す必要はありません。
FltDeleteContext 、コンテキストを削除対象としてマークします。 コンテキストは、(たとえば、コンテキストがまだ別のスレッドによって使用されているため) 未処理の参照がない限り、そのコンテキストの現在の参照が解放されるとすぐに解放されます。
FltDeleteContext を使用する場合は、次考慮する必要があります。
ミニフィルター ドライバーが FltDeleteContext 呼び出す場合、ミニフィルター ドライバーにはコンテキストへの参照が既に必要です。 ただし、ミニフィルター ドライバーが FltDeleteStreamHandleContext 、fltDeleteStreamContext 、FltDeleteInstanceContextなどを呼び出す場合、ミニフィルター ドライバーはコンテキストへの参照を必要としません。 ミニフィルター ドライバーが FltDeleteContext 呼び出した後、そのコンテキストへの参照は引き続き有効です。 ミニフィルター ドライバーは、FltReleaseContext ルーチンを呼び出して、コンテキストへの参照を解放する必要があります。
FltDeleteContext 、内部フィルター マネージャー構造からコンテキストを削除します。 その後、FltGetContexts や FltGetInstanceContextなど、コンテキストを取得する関数をさらに呼び出しても、そのコンテキストを見つけることができません。 ただし、コンテキスト メモリは、コンテキストの参照カウントが 0 になるまで解放されません。
コンテキストは、次の表から適切な delete コンテキスト ルーチンを呼び出すことによって削除することもできます。
コンテキストの種類 | Delete-Context ルーチン |
---|---|
FLT_FILE_CONTEXT | FltDeleteFileContext を します (Windows Vista 以降のみ)。 |
FLT_INSTANCE_CONTEXT | FltDeleteInstanceContext の |
FLT_SECTION_CONTEXT | FltCloseSectionForDataScan を します (Windows 8 以降のみ)。 |
FLT_STREAM_CONTEXT | FltDeleteStreamContext の |
FLT_STREAMHANDLE_CONTEXT | FltDeleteStreamHandleContext の |
FLT_TRANSACTION_CONTEXT | FltDeleteTransactionContext を します (Windows Vista 以降のみ)。 |
FLT_VOLUME_CONTEXT | FltDeleteVolumeContext を する |
新しいコンテキストを割り当てるには、FltAllocateContext 呼び出します。
コンテキストの参照カウントをインクリメントするには、FltReferenceContext 呼び出します。
コンテキストの参照カウントを減らすには、FltReleaseContext 呼び出します。
セクション コンテキストFLT_SECTION_CONTEXT型は、FltDeleteContext 使用して削除することはできません。 代わりに、FltReleaseContext 使用してセクション コンテキストの割り当てを解除します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
関連項目
FltAllocateContext の
FltCloseSectionForDataScan の
FltDeleteFileContext の
FltDeleteInstanceContext の
FltDeleteStreamContext の
FltDeleteStreamHandleContext の
FltDeleteTransactionContext の
FltDeleteVolumeContext を する
FltReferenceContext の
FltReleaseContext の