CreateBindCtx
9/8/2008
Essa função fornece um ponteiro para uma implementação de IBindCtx, um objeto que armazena informações sobre um determinado moniker-operação ligação.
Syntax
WINOLEAPI CreateBindCtx(
DWORD reserved,
LPBC FAR* ppbc
);
Parameters
- Reservado
[no] Reservado para uso futuro. Definido como zero.
- ppbc
[out] Endereço do IBindCtxvariável * pointer que recebe o ponteiro interface para o novo objeto contexto BIND. Quando a função for bem-sucedido, o chamador é responsável por chamado IUnknown::Release No contexto de BIND. A NULL valor para o contexto BIND indica que ocorreu um erro.
Return Value
S_OK indica que o contexto BIND foi alocado e inicializado com êxito. O padrão também é E_OUTOFMEMORY valor de retorno com suporte.
Remarks
CreateBindCtx é usado com mais freqüência no processo de localização e obtendo um ponteiro para uma interface por identificá-lo por um moniker ou, ligação um moniker, as in as seguinte etapas:
- Obter um ponteiro para um contexto BIND chamado de CreateBindCtx função.
- Chamar o IMoniker::BindToObject método no moniker. Isso recupera um ponteiro interface para o objeto ao qual o moniker se refere.
- Solte o contexto BIND.
- Use o ponteiro interface.
- Solte o ponteiro interface.
O seguinte exemplo de código mostra essas etapas.
// pMnk is an IMoniker * that points to a previously acquired moniker
IFoo *pFoo;
IBindCtx *pbc;
CreateBindCtx( 0, &pbc );
pMnk->BindToObject( pbc, NULL, IID_IFoo, &pFoo );
pbc->Release();
// pFoo now points to the object; safe to use pFoo
pFoo->Release();
Vincular contextos também são usados em outros métodos da IMoniker interface além IMoniker::BindToObject.
Um contexto BIND retém referências aos objetos que são ligado durante operação de ligação, fazendo com que o ligado objetos para permanecer ativo (mantendo servidor do objeto execução) até que o contexto BIND é lançado. Reutilizando um contexto BIND quando BIND operações subseqüentes para o mesmo objeto pode melhorar desempenho. Você deve, no entanto, versão o contexto BIND tão logo quanto possível, pois você poderia ser manter os objetos ativados desnecessariamente.
Um contexto BIND contém um BIND_OPTS estrutura. Isso contém parâmetros que aplicar a todas as etapas em uma operação ligação. Quando você cria um contexto BIND usando CreateBindCtx, os campos da BIND_OPTS estrutura são inicializados para o seguinte valores.
cbStruct = sizeof(BIND_OPTS)
grfFlags = 0
grfMode = STGM_READWRITE
dwTickCountDeadline = 0.
Você pode chamar o IBindCtx::SetBindOptions método para modificar esses valores usar como padrão.
Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.
Requirements
Header | objbase.h |
Library | ole32.lib |
Windows Embedded CE | Windows CE 2.10 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |