CreateBindCtx 函式 (objbase.h)

傳回 IBindCtx 實作的指標, (系結內容物件) 。 此物件會儲存特定Moniker系結作業的相關信息。

語法

HRESULT CreateBindCtx(
  [in]  DWORD reserved,
  [out] LPBC  *ppbc
);

參數

[in] reserved

此參數是保留的,而且必須是 0。

[out] ppbc

接收新系結內容物件的介面指標的 IBindCtx* 指標變數位址。 函式成功時,呼叫端會負責在系結內容上呼叫 Release 。 系結內容的 NULL 值表示發生錯誤。

傳回值

此函式可以傳回標準傳回值E_OUTOFMEMORY和S_OK。

備註

CreateBindCtx 最常用於系結 Moniker (尋找和取得介面的指標,方法是透過Moniker) 加以識別,如下列步驟所示:

  1. 藉由呼叫 CreateBindCtx 函式來取得系結內容的指標。
  2. 在Moniker上呼叫 IMoniker::BindToObject 方法,擷取Moniker所參考物件的介面指標。
  3. 釋放系結內容。
  4. 使用介面指標。
  5. 釋放介面指標。
下列代碼段說明這些步驟。
// pMnk is an IMoniker * that points to a previously acquired moniker 
IInterface *pInterface; 
IBindCtx *pbc; 
 
CreateBindCtx( 0, &pbc ); 
pMnk->BindToObject( pbc, NULL, IID_IInterface, &pInterface ); 
pbc->Release(); 

// pInterface now points to the object; safe to use pInterface 
pInterface->Release(); 

除了 IMoniker::BindToObjectMkParseDisplayName 函式之外,系結內容也會用於 IMoniker 介面的其他方法中。

系結內容會保留系結作業期間所系結對象的參考,導致系結物件保持作用中, (讓對象的伺服器保持執行) ,直到系結內容釋放為止。 當後續作業系結至相同物件時,重複使用系結內容可以改善效能。 不過,您應該儘快釋放系結內容,因為您可以不必要地讓物件保持啟用狀態。

系結內容包含 BIND_OPTS 結構,其中包含套用至系結作業中所有步驟的參數。 當您使用 CreateBindCtx 建立系結內容時, BIND_OPTS 結構的欄位會初始化如下。

cbStruct = sizeof(BIND_OPTS) 
grfFlags = 0 
grfMode = STGM_READWRITE 
dwTickCountDeadline = 0

您可以呼叫 IBindCtx::SetBindOptions 方法來修改這些預設值。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objbase.h
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

IBindCtx

IMoniker

MkParseDisplayName