BindMoniker 函式 (objbase.h)
透過物件的Moniker尋找物件,如果對象處於非使用中狀態,則會啟動物件,並擷取該物件上指定介面的指標。
語法
HRESULT BindMoniker(
[in] LPMONIKER pmk,
[in] DWORD grfOpt,
[in] REFIID iidResult,
[out] LPVOID *ppvResult
);
參數
[in] pmk
物件的Moniker指標。 請參閱 IMoniker。
[in] grfOpt
此參數保留供日後使用,且必須為 0。
[in] iidResult
要用來與對象通訊的介面識別碼。
[out] ppvResult
接收 iidResult 中所要求介面指標的指標的指標變數位址。 成功傳回時,*ppvResult 包含要求的介面指標。 如果發生錯誤,*ppvResult 為 NULL。 如果呼叫成功,呼叫端會負責釋放指標,並呼叫物件的 IUnknown::Release 方法。
傳回值
此函式可以傳回下列錯誤碼,或 IMoniker::BindToObject 方法傳回的任何錯誤值。
傳回碼 | 描述 |
---|---|
|
對象已視需要找到並啟動,並傳回所要求介面的指標。 |
|
找不到Moniker物件所識別的物件。 |
備註
BindMoniker 是一種協助程式函式,可讓具有 物件Moniker的用戶端取得該物件介面的指標。 BindMoniker 會封裝下列呼叫:
CreateBindCtx(0, &pbc);
pmk->BindToObject(pbc, NULL, riid, ppvObj);
CreateBindCtx 會建立可支援 IBindContext 系統實作的系結內容物件。 pmk 參數實際上是Moniker物件上 IMoniker 實作的指標。 這個實作的 BindToObject 方法會提供要求的介面指標指標。
如果您有數個Moniker可快速連續系結,而且如果您知道這些Moniker會啟動相同的物件,則直接呼叫 IMoniker::BindToObject 方法可能會更有效率,這可讓您對所有Moniker使用相同的系結內容物件。 如需詳細資訊 ,請參閱 IBindCtx 介面。
允許其檔包含連結物件的容器應用程式是特殊的用戶端,通常不會直接呼叫 IMoniker 方法。 相反地,用戶端會透過 IOleLink 介面操作連結的物件。 默認處理程式會實作這個介面,並視需要呼叫適當的 IMoniker 方法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | objbase.h |
程式庫 | Ole32.lib |
Dll | Ole32.dll |
API 集合 | ext-ms-win-com-ole32-l1-1-5 (Windows 10 10.0.15063 版) |