FsRtlTeardownPerStreamContexts function (ntifs.h)

The FsRtlTeardownPerStreamContexts routine frees all per-stream context structures associated with a given FSRTL_ADVANCED_FCB_HEADER structure.

Syntax

void FsRtlTeardownPerStreamContexts(
  [in] PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader
);

Parameters

[in] AdvancedHeader

Pointer to the FSRTL_ADVANCED_FCB_HEADER structure.

Return value

None

Remarks

File systems call FsRtlTeardownPerStreamContexts to free all per-stream context structures associated with a given FSRTL_ADVANCED_FCB_HEADER structure. When a file system tears down the stream context object for a file stream, it must call FsRtlTeardownPerStreamContexts, which in turn calls the FreeCallback routines of all per-stream context structures associated with the file stream.

To avoid conflicts in synchronization, the FsRtlTeardownPerStreamContexts routine releases the lock for the per file context objects before calling FreeCallback. This avoids blocking access to the to the per file context objects by the filter for own list operations, such as removal with FsRtlRemovePerStreamContext.

Requirements

Requirement Value
Minimum supported client Windows 2000 SP4 Update Rollup; Windows XP
Target Platform Universal
Header ntifs.h (include Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

See also

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlGetPerStreamContextPointer

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSetupAdvancedHeader

FsRtlSupportsPerStreamContexts

Tracking Per-Stream Context in a Legacy File System Filter Driver