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) 加以識別,如下列步驟所示:
- 藉由呼叫 CreateBindCtx 函式來取得系結內容的指標。
- 在Moniker上呼叫 IMoniker::BindToObject 方法,擷取Moniker所參考物件的介面指標。
- 釋放系結內容。
- 使用介面指標。
- 釋放介面指標。
// 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::BindToObject 和 MkParseDisplayName 函式之外,系結內容也會用於 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 |