OleSave 函数 (ole2.h)

将事务处理模式下打开的对象保存到指定的存储对象中。

语法

HRESULT OleSave(
  [in] LPPERSISTSTORAGE pPS,
  [in] LPSTORAGE        pStg,
  [in] BOOL             fSameAsLoad
);

参数

[in] pPS

指向要保存的对象上的 IPersistStorage 接口的指针。

[in] pStg

指向目标存储对象上的 IStorage 接口的指针, pPS 中指示的对象将保存到该对象。

[in] fSameAsLoad

TRUE 表示 pStg 是加载或创建对象的同一存储对象; FALSE 表示 pStg 是从其他存储对象加载或创建的。

返回值

此函数在成功时返回S_OK。 其他可能的值包括以下内容。

返回代码 说明
STGMEDIUM_E_FULL
由于磁盘空间不足,无法保存对象。

此函数还可以返回 IPersistStorage::Save 方法返回的任何错误值。

注解

OleSave 帮助程序函数处理在事务处理模式下打开对象的常见情况,然后保存到使用 OLE 提供的复合文件实现的指定存储对象中。 事务处理模式意味着对对象的更改将缓冲,直到调用 IStorage::CommitIStorage::Revert 之一。 调用方可以通过直接调用 IPersistStorageIStorage 接口来处理其他情况。

OleSave 执行以下操作:

注意 静态对象保存到名为 CONTENTS 的流中。 静态图元文件对象以“可放置的图元文件格式”保存,静态 DIB 数据以“DIB 文件格式”保存。 这些格式定义为图元文件和 DIB 的 OLE 标准。 使用 IStream 接口或文件 ((即通过 IDataObject::GetDataHere) )传输的所有数据都必须采用这些格式。 此外,默认文件格式为图元文件或 DIB 的所有对象都必须使用这些标准格式将其数据写入 CONTENTS 流。
 

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ole2.h
Library Ole32.lib
DLL Ole32.dll
API 集 Windows 10版本 10.0.10240 中引入的 ext-ms-win-com-ole32-l1-1-3 ()

另请参阅

IPersistStorage

IStorage