Compartilhar via


CreateBindCtx

Windows Mobile SupportedWindows Embedded CE Supported

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:

  1. Obter um ponteiro para um contexto BIND chamado de CreateBindCtx função.
  2. Chamar o IMoniker::BindToObject método no moniker. Isso recupera um ponteiro interface para o objeto ao qual o moniker se refere.
  3. Solte o contexto BIND.
  4. Use o ponteiro interface.
  5. 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

See Also

Reference

IMoniker
IMoniker::BindToObject
IUnknown::Release
BIND_OPTS