IBindCtx
9/8/2008
Essa interface fornece acessar para um contexto BIND, que é um objeto que armazena informações sobre uma operação ligação moniker específico.
Você transmitir um contexto BIND como um parâmetro quando chamado muitos métodos da IMoniker interface e em certas funções relacionado para identificadores de origem.
Um contexto BIND inclui o seguinte informações:
- A BIND_OPTS estrutura que contém um conjunto de parâmetros que não alteração durante a operação ligação. Quando uma composição moniker está ligado, cada componente usa o mesmo contexto BIND, portanto, ele atua como um mecanismo para passar os mesmos parâmetros para cada componente de uma composição moniker.
- Um conjunto de ponteiros para os objetos que a operação ligação foi ativado. O contexto BIND contém ponteiros para esses ligado objetos, mantê-las carregado e, portanto, eliminando redundante ativações se os objetos são necessário novamente durante as operações subseqüentes ligação.
- Um ponteiro para o Running Object TABLE na máquina do processo que iniciou a operação de ligação.
Moniker implementações que precisam acessar a tabela de objetos em execução deve usar o IBindCtx::GetRunningObjectTable método vez usando o GetRunningObjectTable função. Isso permite que aperfeiçoamentos futuros do sistema IBindCtx implementação para modificar o comportamento ligação. - Uma tabela de interface ponteiros, cada associado com uma chave seqüência de caracteres. Essa funcionalidade permite implementações moniker para armazenar ponteiros interface sob um conhecido seqüência de caracteres para que eles podem ser recuperados posteriormente do contexto de BIND.
Como exemplo, OLE define vários seqüência de caracteres chaves ("ExceededDeadline", "ConnectManually" e assim por diante) que podem ser usados para armazenar um ponteiro para o objeto que causou um erro durante uma operação ligação.
Quando a implementar
Não é necessário para implementar essa interface. O sistema fornece uma IBindCtx implementação, acessível embora um chamar para o CreateBindCtx função, que é adequado para todas as situações.
Quando usar
Qualquer pessoa que escrever uma nova classe moniker Implementando o IMoniker interface deve chamar IBindCtx métodos de implementação de vários IMoniker Métodos.
Moniker provedores (servidores que mão fora monikers para identificar seus objetos) talvez também precise chamar IBindCtx Métodos de suas implementações das IOleItemContainer Ou IParseDisplayName interface.
Moniker clientes (objetos que usam identificadores de origem para adquirir interface ponteiros para outros objetos) geralmente não chamar muitos IBindCtx Métodos. Em vez disso, elas simplesmente transmitir um contexto BIND como um parâmetro em uma chamar para um IMoniker método.
Para adquirir um ponteiro interface e ativar o objeto indicado (chamado ligação para um objeto), moniker clientes geralmente faz o seguinte:
- Chamar o CreateBindCtx função para criar um contexto BIND e get um ponteiro para o IBindCtx interface no objeto de contexto BIND.
- Se desejar, embora isso seja raramente necessário, o cliente moniker pode chamar o IBindCtx::SetBindOptions método para especificar as opções BIND.
- Passa o contexto BIND como um parâmetro para o desejado IMoniker método (geralmente IMoniker::BindToObject).
- Chamar o IUnknown::Release método no contexto de BIND a versão-lo.
Embora os aplicativos que trabalhar como recipientes link (contêiner aplicativos que permitem que seus documentos para conter os objetos vinculados) são clientes moniker, eles raramente chamar IMoniker Métodos diretamente.
Geralmente, eles manipulam objetos vinculados por meio de implementação sistema (no manipulador de usar como padrão) das IOleLink interface. Essa implementação chama o apropriado IMoniker Métodos quando necessário e, ao fazer isso, passa os ponteiros para IBindCtx Interfaces em objetos de contexto BIND adequado.
Métodos
A seguinte tabela mostra os métodos para esta interface na ordem que o compilador chama os métodos. Como todas as interfaces COM, essa interface herda os métodos para a IUnknown interface.
Método IUnknown | Descrição |
---|---|
Retorna os ponteiros para com suporte interfaces. |
|
Incrementa a contagem de referência. |
|
Diminui o contagem de referência. |
Método IBindCtx | Descrição |
---|---|
Registra um objeto com o contexto BIND. |
|
Revoga registro de um objeto. |
|
Libera registrados todos os objetos. |
|
Define as opções ligação. |
|
Recupera as opções ligação. |
|
Recupera um ponteiro para o Running Object TABLE. |
|
Associa um objeto com uma chave seqüência de caracteres. |
|
Retorna o objeto associado com uma chave seqüência de caracteres determinado. |
|
Enumera todas as teclas seqüência de caracteres a tabela. |
|
Revoga associação entre um objeto e uma chave seqüência de caracteres. |
Remarks
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Requisitos
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
CreateBindCtx
GetRunningObjectTable
IBindCtx::EnumObjectParam
IBindCtx::GetBindOptions
IBindCtx::GetObjectParam
IBindCtx::GetRunningObjectTable
IBindCtx::RegisterObjectBound
IBindCtx::ReleaseBoundObjects
IBindCtx::RegisterObjectParam
IBindCtx::RevokeObjectBound
IBindCtx::RevokeObjectParam
IBindCtx::SetBindOptions
IMoniker
IMoniker::BindToObject
IParseDisplayName
IUnknown::AddRef
IUnknown::QueryInterface
IUnknown::Release
BIND_OPTS