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