IRunningObjectTable::GetObject 方法 (objidl.h)
判斷指定的Moniker所識別的物件是否正在執行,如果是,則會擷取該物件的指標。
語法
HRESULT GetObject(
[in] IMoniker *pmkObjectName,
[out] IUnknown **ppunkObject
);
參數
[in] pmkObjectName
Moniker 上 IMoniker 介面的指標。
[out] ppunkObject
IUnknown 指標變數的指標,可接收執行中對象的介面指標。 成功時,實作會在 物件上呼叫 AddRef ;呼叫者必須負責呼叫 Release。 如果物件未執行或發生錯誤,實作會將 *ppunkObject 設定為 NULL。
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
指出在 ROT 中找到 pmkObjectName ,並擷取指標。 |
|
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 |