mmFlushImageSection 函数 (ntifs.h)

MmFlushImageSection 例程刷新文件的 image 节。

语法

BOOLEAN MmFlushImageSection(
       PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in] MMFLUSH_TYPE             FlushType
);

参数

SectionObjectPointer

指向结构的指针,该结构包含文件对象的节对象指针。

[in] FlushType

指定刷新操作的原因。 它可以是下表中列出的值之一。

FlushType 值 含义
MmFlushForDelete 正在删除该文件。
MmFlushForWrite 正在打开文件进行写入访问。

返回值

如果刷新操作成功,或者文件不存在图像部分,则 MmFlushImageSection 返回 TRUE;否则,MmFlushImageSection 返回 FALSE

注意 如果指定了 FlushType MmFlushForDelete 值,并且文件的数据节上存在一个或多个未完成的写入探测, 则 MmFlushImageSection 返回 FALSE
 

注解

在删除文件或打开文件进行写入访问之前,文件系统必须调用 MmFlushImageSection 例程。

删除文件之前,文件系统应从其IRP_MJ_SET_INFORMATION或IRP_MJ_CLEANUP调度例程调用 MmFlushImageSection,为 FlushType 参数传递 MmFlushForDelete

打开文件进行写入访问时,文件系统应从其IRP_MJ_CREATE调度例程调用 MmFlushImageSection,并传递 FlushType 参数的 MmFlushForWrite

如果没有图像部分的映射视图, MmFlushImageSection 将销毁图像部分,并将所有已用页面返回到可用列表。

在使用 MmFlushImageSection 之前,强烈建议文件系统编写器研究在 FASTFAT 示例中使用此例程的方式。

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

CcPurgeCacheSection