IPersistFile::Load 方法 (objidl.h)

打开指定文件并从文件内容初始化对象。

语法

HRESULT Load(
  [in] LPCOLESTR pszFileName,
  [in] DWORD     dwMode
);

参数

[in] pszFileName

要打开的文件的绝对路径。

[in] dwMode

打开文件时要使用的访问模式。 可能的值取自 STGM 枚举。 方法可以将此值视为建议,并在必要时添加更严格的权限。 如果 dwMode 为 0,则实现应使用用户打开文件时使用的任何默认权限打开文件。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_OUTOFMEMORY
由于内存不足,无法加载对象。
E_FAIL
由于内存不足之外,无法加载对象。

注解

IPersistFile::Load 从指定的文件加载对象。 此方法仅用于初始化,不向最终用户显示对象。 它不等效于用户选择 “打开文件” 命令时发生的情况。

调用方备注

文件名字对象中的 BindToObject 方法调用此方法,以在名字对象绑定操作期间加载对象, (链接对象) 运行。 通常,应用程序不会直接调用此方法。

实施者说明

由于打开文件所需的信息因应用程序而异,因此实现此方法的对象还必须打开 pszFileName 参数指定的文件。 这不同于 IPersistStorage::LoadIPersistStream::Load,其中调用方打开存储或流,然后将打开的存储或流指针传递给加载的对象。

对于通常使用 OLE 复合文件的应用程序, IPersistFile::Load 实现只需调用 StgOpenStorage 函数即可打开指定文件中的存储对象。 然后,可以继续进行正常初始化。 不使用存储对象的应用程序可以执行正常的文件打开过程。

加载对象后,实现应在运行的对象表中注册对象, (请参阅 IRunningObjectTable::Register) 。

要求

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

另请参阅

IPersistFile