共用方式為


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。 換句話說,您可以交換使用 介面和協助程式函式。

實作者的注意事項

如果物件已指派Moniker,該物件應該會在執行中的對象數據表中註冊。 對象不應該自行保留任何強式鎖定;相反地,它應該維持在不穩定、解除鎖定的狀態。 當第一個外部連接對 對象進行時,應該鎖定物件。

當內嵌物件處於執行中狀態時,內嵌物件必須保留其內嵌容器的鎖定。 OLE 2 提供的預設處理程式負責代表 EXE 物件應用程式所實作的物件鎖定內嵌容器。 DLL 物件應用程式所實作的對象必須明確鎖定其內嵌容器,其方式是先呼叫 IOleClientSite::GetContainer 以取得容器的指標,然後呼叫 IOleContainer::LockContainer 以實際放置鎖定。 呼叫 IOleObject::Close 時,必須釋放此鎖定。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 objidl.h

另請參閱

IRunnableObject

OleRun