FsRtlSetupAdvancedHeaderEx2 宏 (ntifs.h)
文件系统使用 FsRtlSetupAdvancedHeaderEx2 宏初始化FSRTL_ADVANCED_FCB_HEADER结构,以便与流和文件上下文一起使用。
语法
void FsRtlSetupAdvancedHeaderEx2(
_advhdr,
_fmutx,
_fctxptr,
_aepushlock
);
参数
_advhdr
指向要初始化 的FSRTL_ADVANCED_FCB_HEADER 结构的指针。
_fmutx
指向初始化的快速互斥体的指针,该互斥体将用于同步对某些 FSRTL_ADVANCED_FCB_HEADER 成员的访问。 必须从非分页池分配快速互斥体。 此参数是可选的,可以为 NULL。 如果调用方打算使用现有的快速互斥对象,则应将此参数设置为 NULL 。 如果 FastMutex 为 NULL,则调用方必须显式设置流上下文对象中包含的FSRTL_ADVANCED_FCB_HEADER结构的 FastMutex 成员,以指向现有的快速互斥体。 (这可以在调用 FsRtlSetupAdvancedHeaderEx2.) 之前或之后完成
_fctxptr
指向文件系统运行时库 (FSRTL) 用于跟踪文件上下文的指针字段的指针。 此参数是可选的,可以为 NULL。 如果 FileContextSupportPointer 不为 NULL, 则 FileContextSupportPointer 必须是指向创建该结构的文件系统的每个文件结构内的 PVOID 变量的指针。 若要指示文件系统驱动程序不支持文件上下文,调用方必须将 FileContextSupportPointer 设置为 NULL。
_aepushlock
指向用于初始化高级标头的 AePushLock 字段的不透明结构的指针。 此函数的调用方负责首先通过调用 FsRtlAllocateAePushLock 来分配和初始化此字段的内存,然后通过调用 FsRtlFreeAePushLock 释放内存。 有关自动扩展推送锁的详细信息,请参阅 FSRTL_ADVANCED_FCB_HEADER 。
返回值
无
备注
文件系统使用 FsRtlSetupAdvancedHeaderEx2 宏初始化 FSRTL_ADVANCED_FCB_HEADER 结构,以便与流和文件上下文一起使用。
不再需要高级 FCB 标头结构时,文件系统必须调用 FsRtlTeardownPerStreamContexts 来释放所有关联的流和文件上下文结构。
有关详细信息,请参阅 跟踪旧版文件系统筛选器驱动程序中的 Per-Stream 上下文。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 20H2 |
标头 | ntifs.h |