FsRtlSetupAdvancedHeaderEx 宏 (ntifs.h)

文件系统使用 FsRtlSetupAdvancedHeaderEx 宏初始化FSRTL_ADVANCED_FCB_HEADER结构,以便与流和文件上下文一起使用。

语法

void FsRtlSetupAdvancedHeaderEx(
   _advhdr,
   _fmutx,
   _fctxptr
);

参数

_advhdr

指向要初始化 FSRTL_ADVANCED_FCB_HEADER 结构的指针。

_fmutx

指向初始化的快速互斥体的指针,该互斥体将用于同步对某些 FSRTL_ADVANCED_FCB_HEADER 成员的访问。 必须从非分页池中分配快速互斥。 此参数是可选的,可以为 NULL。 如果调用方打算使用现有的快速互斥对象,则应将此参数设置为 NULL 。 如果 FastMutexNULL,则调用方必须显式设置流上下文对象中包含的FSRTL_ADVANCED_FCB_HEADER结构的 FastMutex 成员,以指向现有的快速互斥体。 (可以在调用 FsRtlSetupAdvancedHeaderEx.) 之前或之后执行此操作

_fctxptr

指向文件系统运行时库使用的指针字段的指针 (FSRTL) 跟踪文件上下文。 此参数是可选的,可以为 NULL。 具体而言:

  • 对于在 Windows Vista 之前发布的 Microsoft Windows 操作系统,调用方必须将此参数设置为 NULL

  • 对于从 Windows Vista 开始的 Windows 操作系统:如果 FileContextSupportPointer 不是 NULL则 FileContextSupportPointer 必须是指向创建结构的文件系统的每个文件结构内的 PVOID 变量的指针。 若要指示文件系统驱动程序不支持文件上下文,调用方必须将 FileContextSupportPointer 设置为 NULL

返回值

备注

文件系统使用 FsRtlSetupAdvancedHeaderEx 宏初始化用于流和文件上下文的FSRTL_ADVANCED_FCB_HEADER结构。

不再需要高级 FCB 标头结构时,文件系统必须调用 FsRtlTeardownPerStreamContexts 以释放所有关联的流和文件上下文结构。

有关详细信息,请参阅 在旧版文件系统筛选器驱动程序中跟踪 Per-Stream 上下文

要求

要求
最低受支持的客户端 Microsoft Windows 2000 Service Pack 4 更新汇总 (SP4) ;Windowsxp
目标平台 桌面
标头 ntifs.h (包括 Ntifs.h、Fltkernel.h)
IRQL PASSIVE_LEVEL

另请参阅

FSRTL_ADVANCED_FCB_HEADER

FSRTL_PER_STREAM_CONTEXT

FsRtlGetPerStreamContextPointer

FsRtlInitPerStreamContext

FsRtlInsertPerStreamContext

FsRtlLookupPerStreamContext

FsRtlRemovePerStreamContext

FsRtlSupportsPerStreamContexts

FsRtlTeardownPerStreamContexts