Функция ZwFlushBuffersFile (ntifs.h)

Подпрограмма ZwFlushBuffersFile вызывается драйвером фильтра файловой системы для отправки запроса на очистку указанного файла в файловую систему.

Синтаксис

NTSYSAPI NTSTATUS ZwFlushBuffersFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Параметры

[in] FileHandle

Дескриптор, возвращаемый ZwCreateFile или ZwOpenFile для файла, буферы которого будут сброшены. Этот параметр является обязательным и не может иметь значение NULL.

[out] IoStatusBlock

Адрес блока состояния ввода-вывода вызывающего абонента. Этот параметр является обязательным и не может иметь значение NULL.

Возвращаемое значение

ZwFlushBuffersFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:

Код возврата Описание
STATUS_MEDIA_WRITE_PROTECTED
Файл находится на томе, защищенном от записи; Это код ошибки.
STATUS_VOLUME_DISMOUNTED
Файл находится на томе, который в настоящее время не подключен; Это код ошибки.

Комментарии

Драйвер фильтра файловой системы может вызвать ZwFlushBuffersFile , чтобы выдать IRP_MJ_FLUSH_BUFFERS запрос к файловой системе для заданного файла. Операция очистки является синхронной.

Драйверы минифильтра должны вызывать FltFlushBuffers вместо вызова ZwFlushBuffersFile.

Вызывающие файлы ZwFlushBuffersFile должны выполняться в среде IRQL = PASSIVE_LEVEL и с включенными специальными APC ядра.

Примечание Если вызов функции ZwFlushBuffersFile происходит в пользовательском режиме, следует использовать имя NtFlushBuffersFile вместо ZwFlushBuffersFile.
 
Для вызовов из драйверов режима ядра версии **Nt*Xxx*** и **Zw*Xxx*** подпрограммы собственных системных служб Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между **Nt*Xxx*** и **Zw*Xxx*** подпрограммы см. в разделе [Использование версий Nt и Zw собственных системных служб](/windows-hardware/drivers/kernel/using-nt-and-zw-versions-of-native-system-services-routines).

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

См. также раздел

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

Использование версий Nt и Zw собственных процедур системных служб

ZwCreateFile

ZwOpenFile