IPersistStorage::Load 方法 (objidl.h)
从其现有存储加载对象。
语法
HRESULT Load(
[in] IStorage *pStg
);
参数
[in] pStg
指向要从中加载对象的现有存储的 IStorage 指针。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
对象已由之前对 IPersistStorage::Load 方法或 IPersistStorage::InitNew 方法的调用初始化。 |
|
由于内存不足,对象未加载。 |
|
由于内存不足以外的某些原因,未加载对象。 |
注解
此方法从现有存储初始化对象。 如果容器应用程序调用此方法,则对象将置于加载状态。 如果由默认处理程序调用,此方法会将对象置于运行状态。
在加载或运行对象时,默认处理程序或对象本身可以保留 IStorage 指针。
给调用方的说明
通常调用执行以下操作的 OleLoad 帮助程序函数,而不是直接调用 IPersistStorage::Load:- 创建对象类的未初始化实例。
- 查询 IPersistStorage 接口的新实例。
- 调用 Load 以从现有存储初始化 对象。
容器应缓存 IPersistStorage 指针,以便在对象上的后续操作中使用。
实施者说明
实现应执行以下步骤来加载对象:- 在存储对象中打开对象的流,并将必要的数据读取到对象的内部数据结构中。
- 清除对象的脏标志。
- 调用 AddRef 方法并缓存在存储指针中传递的 。
- 保持打开状态,并缓存指向对象将自身保存到此存储所需的任何流或存储的指针。
- 执行对象所需的任何其他默认初始化。
如果此方法的实现在初始化后收到对 IPersistStorage::InitNew 方法或 IPersistStorage::Load 方法的调用,则应返回CO_E_ALREADYINITIALIZED错误代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | objidl.h |