IRunningObjectTable::GetObject 方法 (objidl.h)

判斷指定的Moniker所識別的物件是否正在執行,如果是,則會擷取該物件的指標。

語法

HRESULT GetObject(
  [in]  IMoniker *pmkObjectName,
  [out] IUnknown **ppunkObject
);

參數

[in] pmkObjectName

Moniker 上 IMoniker 介面的指標。

[out] ppunkObject

IUnknown 指標變數的指標,可接收執行中對象的介面指標。 成功時,實作會在 物件上呼叫 AddRef ;呼叫者必須負責呼叫 Release。 如果物件未執行或發生錯誤,實作會將 *ppunkObject 設定為 NULL

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
指出在 ROT 中找到 pmkObjectName ,並擷取指標。
S_FALSE
ROT 中沒有 pmkObjectName 的專案,或它所識別的物件不再執行 (在此情況下,專案會撤銷) 。

備註

這個方法會檢查 ROT 中 pmkObjectName 所指定的 Moniker。 如果該 Moniker 先前已向 IRunningObjectTable::Register 呼叫註冊,這個方法會傳回當時註冊的指標。

來電者附註

一般而言,只有在撰寫自己的Moniker類別 (時,才呼叫 IRunningObjectTable::GetObject 方法,也就是實作 IMoniker 介面) 。 您通常會從 IMoniker::BindToObject 實作呼叫此方法。

不過請注意,並非所有 IMoniker::BindToObject 實作都需要呼叫這個方法。 如果您預期Moniker的前置詞 (非 NULLpmkToLeft 參數表示為 IMoniker::BindToObject) ,則不應該檢查 ROT。 這是因為只有完整的Moniker會向 ROT 註冊,而且如果您的Moniker有前置詞,則Moniker是複合的一部分,因此未完成。 相反地,您的Moniker應該向前置詞所識別的物件要求服務 (例如,Moniker所識別物件的容器) 。

規格需求

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

另請參閱

IMoniker::BindToObject

IRunningObjectTable