FsRtlRemovePerStreamContext 関数 (ntifs.h)
FsRtlRemovePerStreamContext
構文
PFSRTL_PER_STREAM_CONTEXT FsRtlRemovePerStreamContext(
[in] PFSRTL_ADVANCED_FCB_HEADER StreamContext,
[in, optional] PVOID OwnerId,
[in, optional] PVOID InstanceId
);
パラメーター
[in] StreamContext
ファイル ストリームのFSRTL_ADVANCED_FCB_HEADER構造体へのポインター。 ファイル オブジェクトからこのポインターを取得するには、FsRtlGetPerStreamContextPointer マクロを使用します。
[in, optional] OwnerId
特定のフィルター ドライバーに属するコンテキスト情報を識別するために使用されます。
[in, optional] InstanceId
ストリームごとのコンテキストの特定のインスタンスを検索するために使用されます。 指定しない場合は、フィルター ドライバーによって所有されているコンテキストのいずれかが削除され、返されます。
OwnerId も InstanceId も指定されていない場合は、関連付けられているストリームごとのコンテキストが削除されて返されます。
戻り値
FsRtlRemovePerStreamContext
備考
ファイル システム フィルター ドライバーは、FsRtlRemovePerStreamContext
FsRtlRemovePerStreamContext
このルーチンは、ストリームがまだ開いている間に、フィルター ドライバーがファイル ストリームに関連付けられているコンテキスト情報を破棄する必要がある場合にのみ使用する必要があります。 たとえば、フィルター ドライバーは、次の場合 FsRtlRemovePerStreamContext を呼び出す可能性があります。
特定のボリュームでの I/O 要求のログ記録を停止する要求をユーザー モード アプリケーションから受信した場合。
ファイルまたはディレクトリの名前が変更されたことを検出したとき。
ファイル ストリームが閉じられると、ファイル システムは、そのストリームに関連付けられているすべてのストリームごとのコンテキストが削除され、解放されるようにする役割を担います。 これを行うには、ファイル システムは、ファイル ストリームのファイル制御ブロック (FCB) またはその他のストリーム コンテキスト オブジェクトで
したがって、ファイル システム フィルター ドライバーは、IRP_MJ_CLOSEまたはIRP_MJ_PNPディスパッチ ルーチン内から fsRtlRemovePerStreamContext
ファイル システム フィルター ドライバーは、ストリームごとのコンテキスト構造の
ストリームごとのコンテキスト構造を初期化するには、FsRtlInitPerStreamContext マクロを使用します。
初期化されたストリームごとのコンテキスト構造をファイル ストリームに関連付けるには、FsRtlInsertPerStreamContext を呼び出します。
ファイル ストリームに関連付けられているストリームごとのコンテキスト構造を取得するには、FsRtlLookupPerStreamContext
FsRtlRemovePerStreamContext は、フィルター コンテキストをサポートするファイル システムでのみ使用できます。
詳細については、「レガシ ファイル システム フィルター ドライバーの
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 SP4 更新プログラムのロールアップ。Windows XP |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
関連項目
FsRtlGetPerStreamContextPointer
FsRtlSetupAdvancedHeader の
FsRtlSupportsPerStreamContexts