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 |