IOleObject::Close 方法 (oleidl.h)

将嵌入对象从 运行 状态更改为已加载状态。 断开链接对象与其链接源的连接。

语法

HRESULT Close(
  [in] DWORD dwSaveOption
);

参数

[in] dwSaveOption

指示对象是否作为转换到已加载状态的一部分进行保存。 有效值取自枚举 OLECLOSE

注意 OLE 2 用户模型建议对象应用程序在保存链接或嵌入的对象(包括已就地激活的对象)之前不提示用户。 此策略表示 OLE 1 用户模型中的更改,对象应用程序始终提示用户决定是否保存更改。
 

返回值

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

返回代码 说明
OLE_E_PROMPTSAVECANCELLED
系统提示用户保存,但从提示消息框中选择了 “取消 ”按钮。

注解

调用方备注

容器应用程序在想要将对象从运行状态移动到已加载状态时调用 IOleObject::Close 。 进行此类调用后,对象仍会显示在其容器中,但不打开进行编辑。 对已加载但未运行的对象调用 IOleObject::Close 不起作用。 关闭链接的对象只是意味着断开它的连接。

实施者说明

收到对 IOleObject::Close 的调用后,正在运行的对象应执行以下操作: 如果对象应用程序是本地服务器 (EXE 而不是 DLL) ,则关闭对象应用程序还应关闭对象应用程序,除非后者支持其他正在运行的对象或有其他原因保持运行状态。 此类原因可能包括 IClassFactory::LockServer 锁的存在、应用程序的最终用户控制,或者存在需要访问应用程序的其他打开的文档。

对链接对象调用 IOleObject::Close 会断开它与其源应用程序的连接,但不会关闭。 在对象关闭时对用户可见的源应用程序在断开连接后保持可见且正在运行,并且不会向链接容器发送 IAdviseSink::OnClose 通知。

要求

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

另请参阅

CoDisconnectObject

IAdviseSink::OnClose

IClassFactory::LockServer

IDataObject::D Advise

IOleClientSite::OnShowWindow

IOleClientSite::SaveObject

IOleObject

OLECLOSE

OleFlushClipboard