Funzione CreateBindCtx (objbase.h)
Restituisce un puntatore a un'implementazione di IBindCtx (oggetto contesto di associazione). Questo oggetto archivia informazioni su un'operazione di associazione moniker specifica.
Sintassi
HRESULT CreateBindCtx(
[in] DWORD reserved,
[out] LPBC *ppbc
);
Parametri
[in] reserved
Questo parametro è riservato e deve essere 0.
[out] ppbc
Indirizzo di una variabile puntatore IBindCtx* che riceve il puntatore di interfaccia al nuovo oggetto contesto di associazione. Quando la funzione ha esito positivo, il chiamante è responsabile della chiamata a Release nel contesto di associazione. Un valore NULL per il contesto di associazione indica che si è verificato un errore.
Valore restituito
Questa funzione può restituire i valori restituiti standard E_OUTOFMEMORY e S_OK.
Commenti
CreateBindCtx viene comunemente usato nel processo di associazione di un moniker (individuazione e recupero di un puntatore a un'interfaccia identificandolo tramite un moniker), come nei passaggi seguenti:
- Ottenere un puntatore a un contesto di associazione chiamando la funzione CreateBindCtx .
- Chiamare il metodo IMoniker::BindToObject sul moniker, recuperando un puntatore di interfaccia all'oggetto a cui fa riferimento il moniker.
- Rilasciare il contesto di associazione.
- Usare il puntatore all'interfaccia.
- Rilasciare il puntatore all'interfaccia.
// 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();
I contesti di binding vengono usati anche in altri metodi dell'interfaccia IMoniker oltre a IMoniker::BindToObject e nella funzione MkParseDisplayName .
Un contesto di associazione mantiene i riferimenti agli oggetti associati durante l'operazione di associazione, causando il rilascio degli oggetti associati (mantenendo in esecuzione il server dell'oggetto) fino al rilascio del contesto di associazione. Il riutilizzo di un contesto di associazione quando le operazioni successive si associano allo stesso oggetto possono migliorare le prestazioni. È tuttavia consigliabile rilasciare il contesto di associazione il prima possibile, perché è possibile mantenere gli oggetti attivati inutilmente.
Un contesto di associazione contiene una struttura BIND_OPTS , che contiene parametri che si applicano a tutti i passaggi di un'operazione di associazione. Quando si crea un contesto di associazione usando CreateBindCtx, i campi della struttura BIND_OPTS vengono inizializzati nel modo seguente.
cbStruct = sizeof(BIND_OPTS)
grfFlags = 0
grfMode = STGM_READWRITE
dwTickCountDeadline = 0
È possibile chiamare il metodo IBindCtx::SetBindOptions per modificare questi valori predefiniti.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | objbase.h |
Libreria | Ole32.lib |
DLL | Ole32.dll |