IRunnableObject::Run 方法 (objidl.h)

强制运行对象。

语法

HRESULT Run(
  [in] LPBINDCTX pbc
);

参数

[in] pbc

指向运行操作的绑定上下文的指针。 请参阅 IBindCtx。 此参数可以为 NULL。

返回值

此方法可返回E_INVALIDARG、E_UNEXPECTED和S_OK的标准返回值。

注解

容器调用 IRunnableObject::Run 以强制其对象进入运行状态。 如果对象尚未运行,则调用 Run 可能是一项成本高昂的操作(以秒为单位)。 如果对象已在运行,则此方法对对象没有影响。

给调用方的说明

当对自上次激活链接以来已转换为新类的链接对象调用时, IRunnableObject::Run 可能会返回OLE_E_CLASSDIFF。 在这种情况下,客户端应调用 IOleLink::BindToSource

OleRun 是一个帮助程序函数,可方便地重新打包 IRunnableObject::Run 提供的功能。 随着 OLE 2.01 的发布, OleRun 的实现已更改,以便调用 QueryInterface,请求 IRunnableObject,然后调用 IRunnableObject::Run。 换句话说,可以互换使用 接口和帮助程序函数。

实施者说明

如果对象分配了名字对象,则应在运行的对象表中注册。 对象不应在自身上保留任何强锁;相反,它应保持不稳定、已解锁状态。 与 对象建立第一个外部连接时,应锁定对象。

嵌入对象在处于运行状态时,必须对其嵌入容器保持锁定。 OLE 2 提供的默认处理程序负责代表 EXE 对象应用程序实现的对象锁定嵌入容器。 DLL 对象应用程序实现的对象必须显式在其嵌入容器上放置一个锁,通过首先调用 IOleClientSite::GetContainer 获取指向容器的指针,然后调用 IOleContainer::LockContainer 来实际放置锁。 调用 IOleObject::Close 时,必须释放此锁。

要求

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

另请参阅

IRunnableObject

OleRun