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