Поделиться через


Функция 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 (include Fltkernel.h)
библиотеки FltMgr.lib
IRQL PASSIVE_LEVEL

См. также

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS