FsRtlSetupAdvancedHeader function

The FsRtlSetupAdvancedHeader macro is used by file systems to initialize an FSRTL_ADVANCED_FCB_HEADER structure for use with filter contexts.

Syntax

VOID FsRtlSetupAdvancedHeader(
  _In_ PVOID       AdvancedHeader,
  _In_ PFAST_MUTEX FastMutex
);

Parameters

  • AdvancedHeader [in]
    A pointer to the FSRTL_ADVANCED_FCB_HEADER structure to be initialized.

  • FastMutex [in]
    A pointer to an initialized fast mutex that will be used to synchronize access to the FSRTL_ADVANCED_FCB_HEADER structure. The fast mutex must be allocated from nonpaged pool.

    This parameter can be NULL. Callers should set this parameter to NULL if they intend to use an already existing fast mutex object. If FastMutex is NULL, the caller must explicitly set the FastMutex member of the stream context object to point to the existing fast mutex. (This can be done before or after calling FsRtlSetupAdvancedHeader.)

Return value

None

Remarks

File systems use the FsRtlSetupAdvancedHeader macro to initialize an FSRTL_ADVANCED_FCB_HEADER structure for use with filter contexts.

When the advanced FCB header structure is no longer required, the file system must call FsRtlTeardownPerStreamContexts to free all associated per-stream context structures.

For more information, see Tracking Per-Stream Context in a Legacy File System Filter Driver.

Requirements

Target platform

Desktop

Version

Available on Microsoft Windows XP and later.

Header

Ntifs.h (include Ntifs.h or Fltkernel.h)

IRQL

<= APC_LEVEL

See also

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlGetPerStreamContextPointer

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts

 

 

Send comments about this topic to Microsoft