fltFlushBuffers 函数 (fltkernel.h)

微筛选器驱动程序使用 FltFlushBuffers 例程将给定文件的刷新请求发送到文件系统。 使用 FltFlushBuffers2 指定不同的刷新类型选项。

语法

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

参数

[in] Instance

调用方不透明的实例指针。 此参数是必需的,不能为 NULL

[in] FileObject

要刷新的文件的文件对象指针。 此参数是必需的,不能为 NULL

返回值

FltFlushBuffers 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如以下值之一:

返回代码 说明
STATUS_MEDIA_WRITE_PROTECTED
文件驻留在受写保护的卷上。 这是错误代码。
STATUS_VOLUME_DISMOUNTED
该文件驻留在当前未装载的卷上。 这是错误代码。

注解

微筛选器驱动程序可以调用 FltFlushBuffers ,以针对给定文件的文件系统发出 IRP_MJ_FLUSH_BUFFERS 请求。 刷新操作是同步的, (指定实例下的) 发出。

如果 FileObject 适用于文件,则将写入文件缓存中的文件数据和元数据,并且将同步基础存储以刷新其缓存。 如果 FileObject 用于卷,则文件系统将导致写入卷上所有已修改文件的文件数据和元数据,并同步基础存储以刷新其缓存。 使用 FltFlushBuffers2 可以更精细地控制文件系统应执行的刷新类型。

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
IRQL PASSIVE_LEVEL

另请参阅

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS