IPersistStream::Save 方法 (objidl.h)
将对象保存到指定流。
语法
HRESULT Save(
[in] IStream *pStm,
[in] BOOL fClearDirty
);
parameters
[in] pStm
指向对象应保存到的流的 IStream 指针。
[in] fClearDirty
指示在保存完成后是否清除已更新标志。 如果 为 TRUE,则应清除标志。 如果 为 FALSE,则标志应保持不变。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
对象无法将自身保存到流中。 例如,此错误可能指示对象包含另一个对象,该对象不可序列化为流,或者 ISequentialStream::Write 调用STG_E_CANTSAVE返回。 |
|
无法保存对象,因为存储设备上没有剩余的空间。 |
注解
IPersistStream::Save 将对象保存到指定的流中,并指示对象是否应重置其脏标志。
搜寻指针位于流中对象应开始写入其数据的位置。 对象调用 ISequentialStream::Write 方法来写入其数据。
退出时,搜寻指针必须紧接在对象数据之后。 如果返回错误,则查找指针的位置未定义。
给调用方的说明
通常调用执行以下操作的 OleSaveToStream 帮助程序函数,而不是直接调用 IPersistStream::Save:- 调用 GetClassID 以获取对象的 CLSID。
- 调用 WriteClassStm 函数将对象的 CLSID 写入流。
- 调用 IPersistStream::Save。
OLE 提供的 IPersistStream 实现遵循此模式。
实施者说明
IPersistStream::Save 方法不会将 CLSID 写入流。 调用方负责编写 CLSID。IPersistStream::Save 方法可以在流中读取、写入和查找;但它不得在入口处查找指针之前查找流中的位置。
URL 名字对象注释
将 URL 名字对象保存到流。 URL 名字对象的二进制格式是 Unicode 中的 URL 字符串 (可能是完整或部分 URL 字符串,请参阅 CreateURLMonikerEx 了解) 的详细信息。 这表示为后跟许多 Unicode 字符的 ULONG 字符计数。要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objidl.h |