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


Метод ILockBytes::Flush (objidl.h)

Метод Flush гарантирует, что все внутренние буферы, поддерживаемые реализацией ILockBytes , будут записаны в базовое физическое хранилище.

Синтаксис

HRESULT Flush();

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

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK Операция очистки прошла успешно.
STG_E_ACCESSDENIED Вызывающий объект не имеет разрешения на доступ к массиву байтов.
STG_E_MEDIUMFULL Операция очистки не завершена, так как на запоминающее устройство не осталось места.
E_FAIL Общие данные об ошибках записи.
STG_E_TOOMANYFILESOPEN При определенных обстоятельствах метод Flush выполняет очистку для скачивания и закрытия, что может привести к возврату значения STG_E_TOOMANYFILESOPEN, если дескрипторы файлов недоступны.
STG_E_INVALIDHANDLE Базовый файл был преждевременно закрыт, или правильный гибкий диск был заменен недопустимым.

Комментарии

ILockBytes::Flush сбрасывает внутренние буферы на базовое запоминающее устройство.

Реализация составных файлов, предоставляемая COM, вызывает этот метод во время транзакции фиксации, чтобы обеспечить двухфазный процесс фиксации, который защищает от потери данных.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objidl.h
Библиотека Uuid.lib
DLL Ole32.dll

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

ILockBytes — реализация File-Based

ILockBytes — реализация глобальной памяти

IStorage::Commit