ILockBytes::Flush 方法 (objidl.h)

Flush 方法可确保 ILockBytes 实现维护的任何内部缓冲区都写出到基础物理存储。

语法

HRESULT Flush();

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK 刷新操作成功。
STG_E_ACCESSDENIED 调用方无权访问字节数组。
STG_E_MEDIUMFULL 刷新操作未完成,因为存储设备上没有剩余空间。
E_FAIL 写入数据的常规失败。
STG_E_TOOMANYFILESOPEN 在某些情况下, Flush 方法执行 download-and-closeto 刷新,如果没有可用的文件句柄,则可能会导致返回值STG_E_TOOMANYFILESOPEN。
STG_E_INVALIDHANDLE 基础文件已过早关闭,或者正确的软盘已被无效的软盘替换。

注解

ILockBytes::Flush 将内部缓冲区刷新到基础存储设备。

COM 提供的复合文件实现在事务提交操作期间调用此方法,以提供防止数据丢失的两阶段提交过程。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 objidl.h
Library Uuid.lib
DLL Ole32.dll

另请参阅

ILockBytes - File-Based 实现

ILockBytes - 全局内存实现

IStorage::Commit