Функция FlushViewOfFile (memoryapi.h)
Записывает на диск диапазон байтов в сопоставленном представлении файла.
Синтаксис
BOOL FlushViewOfFile(
[in] LPCVOID lpBaseAddress,
[in] SIZE_T dwNumberOfBytesToFlush
);
Параметры
[in] lpBaseAddress
Указатель на базовый адрес диапазона байтов, который будет преобразован в представление сопоставленного файла на диске.
[in] dwNumberOfBytesToFlush
Число байтов для очистки. Если значение dwNumberOfBytesToFlush равно нулю, файл сбрасывается с базового адреса в конец сопоставления.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Очистка диапазона сопоставленного представления инициирует запись грязное страниц в этом диапазоне на диск. "Грязные" страницы — это страницы, содержимое которых изменилось с момента сопоставления представления файла. Функция FlushViewOfFile не очищает метаданные файла и не ожидает возврата, пока изменения не будут удалены из базового аппаратного кэша диска и физически записаны на диск. Чтобы очистить все грязное страницы, а также метаданные файла и убедиться, что они физически записаны на диск, вызовите FlushViewOfFile, а затем вызовите функцию FlushFileBuffers.
При очистке файла, сопоставленного с памятью, по сети , FlushViewOfFile гарантирует, что данные были записаны с локального компьютера, но не находятся на удаленном компьютере. Сервер может кэшировать данные на удаленной стороне. Таким образом, FlushViewOfFile может возвращать данные до физической записи на диск.
При изменении файла с помощью сопоставленного представления метка времени последнего изменения может не обновляться автоматически. При необходимости вызывающий объект должен использовать SetFileTime для установки метки времени.
В Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
Прозрачная отработка отказа (TFO) SMB 3.0 | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
При приостановке csvfs этот вызов может завершиться ошибкой, указывающей на конфликт блокировки.
Примеры
Пример см. в разделе Чтение и запись из представления файлов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | memoryapi.h (включая Windows.h, Memoryapi.h) |
Библиотека | onecore.lib |
DLL | Kernel32.dll |