IPersistStream::Load 方法 (objidl.h)

从先前保存的流中初始化对象。

语法

HRESULT Load(
  [in] IStream *pStm
);

参数

[in] pStm

指向应从中加载对象的流的 IStream 指针。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_OUTOFMEMORY
由于内存不足,对象未加载。
E_FAIL
由于内存不足以外的某种原因,未加载对象。

注解

此方法从其关联的流加载对象。 查找指针的设置与在最新的 IPersistStream::Save 方法中相同。 此方法可以查找和读取流,但不能写入流。

调用方备注

通常调用 OleLoadFromStream 函数,而不是直接调用 IPersistStream::Load,而是执行以下操作:
  1. 调用 ReadClassStm 函数以从流中获取类标识符。
  2. 调用 CoCreateInstance 函数以创建 对象的实例。
  3. 查询 IPersistStream 的实例。
  4. 调用 IPersistStream::Load
OleLoadFromStream 函数假定对象存储在流中,后跟对象数据的类标识符。 此存储模式由 OLE 提供的泛型复合名字对象实现使用。

如果未使用此模式存储对象,则必须自行单独调用方法。

URL 名字对象注释

从流中的数据初始化 URL 名字对象,通常存储在流中之前使用其 IPersistStream::Save (使用 OleSaveToStream) 。 URL 名字对象的二进制格式是 Unicode 中的 URL 字符串, (可能是完整或部分 URL 字符串,有关详细信息) ,请参阅 CreateURLMonikerEx 。 这表示为 ULONG 字符计数,后跟该多 Unicode 字符。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objidl.h

另请参阅

IPersistStream