FltDeleteStreamHandleContext 関数 (fltkernel.h)
FltDeleteStreamHandleContext は、特定のミニフィルター ドライバー インスタンスが特定のストリーム ハンドルに対して設定したコンテキストを削除し、コンテキストに削除のマークを付けます。
構文
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
パラメーター
[in] Instance
ストリーム ハンドルにアタッチされているコンテキストの一覧からコンテキストを削除するミニフィルター ドライバー インスタンスの不透明なインスタンス ポインター。
[in] FileObject
ファイル ストリームのファイル オブジェクトへのポインター。
[out] OldContext
削除されたコンテキストのアドレスを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 OldContext が NULL ではなく、NULL_CONTEXTを指していない場合、呼び出し元は FltReleaseContext を呼び出して、不要になったときにこのコンテキストを解放します。
戻り値
FltDeleteStreamHandleContext は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
STATUS_FLT_DELETING_OBJECT | 指定した インスタンス が破棄されています。 これはエラー コードです。 |
STATUS_NOT_FOUND | 一致するコンテキストが見つかりませんでした。 これはエラー コードです。 |
STATUS_NOT_SUPPORTED | ファイル システムでは、このファイル ストリーム ハンドルのストリームごとのコンテキストはサポートされていません。 これはエラー コードです。 |
注釈
コンテキストの詳細については、「 ミニフィルター コンテキストについて」を参照してください。
コンテキストは参照カウントされるため、通常、ミニフィルター ドライバーが FltDeleteStreamHandleContext などのルーチンを呼び出してコンテキストを明示的に削除する必要はありません。
ミニフィルター ドライバーは 、FltDeleteStreamHandleContext を呼び出して、ストリーム ハンドルからコンテキストを削除し、コンテキストに削除のマークを付けます。 コンテキストは通常、未処理の参照がない限りすぐに解放されます (たとえば、コンテキストが別のスレッドでまだ使用されているため)。
新しいコンテキストを割り当てるには、 FltAllocateContext を呼び出します。
ストリーム コンテキストを取得するには、 FltGetStreamHandleContext を呼び出します。
ストリーム コンテキストを設定するには、 FltSetStreamHandleContext を呼び出します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |