Share via


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 包含要求的介面指標。 如果發生錯誤,*ppvResultNULL。 如果呼叫成功,呼叫端會負責釋放指標,並呼叫物件的 IUnknown::Release 方法。

傳回值

此函式可以傳回下列錯誤碼,或 IMoniker::BindToObject 方法傳回的任何錯誤值。

傳回碼 描述
S_OK
對象已視需要找到並啟動,並傳回所要求介面的指標。
MK_E_NOOBJECT
找不到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 版)

另請參閱

CreateBindCtx

IMoniker::BindToObject