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 值,如以下值之一:
返回代码 | 说明 |
---|---|
|
文件驻留在受写保护的卷上。 这是错误代码。 |
|
该文件驻留在当前未装载的卷上。 这是错误代码。 |
注解
微筛选器驱动程序可以调用 FltFlushBuffers ,以针对给定文件的文件系统发出 IRP_MJ_FLUSH_BUFFERS 请求。 刷新操作是同步的, (指定实例下的) 发出。
如果 FileObject 适用于文件,则将写入文件缓存中的文件数据和元数据,并且将同步基础存储以刷新其缓存。 如果 FileObject 用于卷,则文件系统将导致写入卷上所有已修改文件的文件数据和元数据,并同步基础存储以刷新其缓存。 使用 FltFlushBuffers2 可以更精细地控制文件系统应执行的刷新类型。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | FltMgr.lib |
IRQL | PASSIVE_LEVEL |