IOleInPlaceObject::InPlaceDeactivate 方法 (oleidl.h)

停用活动的就地对象并放弃对象的撤消状态。

语法

HRESULT InPlaceDeactivate();

返回值

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

返回代码 说明
E_UNEXPECTED
发生了意外错误。

注解

给调用方的说明

此方法由活动对象的直接容器调用,以停用活动对象并放弃其撤消状态。

实施者说明

IOleInPlaceObject::InPlaceDeactivate 返回时,对象将放弃其撤消状态。 对象应用程序不应在此调用后立即关闭。 相反,它应等待对 IOleObject::Close 的显式调用或对象的引用计数达到零。

在停用之前,对象应用程序应通过调用 IOleInPlaceSite::OnUIDeactivate,让容器有机会将其用户界面放回框架窗口。

如果在调用 IOleInPlaceObject::InPlaceDeactivate 期间仍显示就地用户界面,则对象应用程序应调用自己的 IOleInPlaceObject::InPlaceDeactivate 方法以隐藏用户界面。 在调用 IOleInPlaceObject::InPlaceDeactivate 和 IOleInPlaceObject::InPlaceDeactivate 期间,可以选择销毁就地用户界面。 但是,如果在容器调用 IOleObject::Close 时用户界面尚未销毁,则必须在调用 IOleObject::Close 期间销毁该用户界面。

在调用 IOleObject::Close 期间,对象应检查以查看它是否仍然处于活动状态。 如果是这样,它应调用 IOleInPlaceObject::InPlaceDeactivate

要求

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

另请参阅

IOleInPlaceObject

IOleInPlaceSite::OnInPlaceDeactivate

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close