Objetos Vinculados e Monikers

Objetos vinculados, como objetos incorporados, dependem de um manipulador de objetos para se comunicar com aplicativos de servidor. O próprio objeto vinculado, no entanto, gerencia a nomeação e o rastreamento de fontes de link. O objeto vinculado atua como um servidor em processo. Por exemplo, quando ativado, um objeto vinculado localiza e inicia o aplicativo de servidor OLE que é a origem do link.

O manipulador de um objeto vinculado é composto por dois componentes principais: o componente manipulador e o componente de vinculação. O componente manipulador contém as partes de controle e comunicação remota e funções muito semelhantes a um manipulador para um objeto incorporado. O componente de vinculação tem seu próprio controlador e cache e fornece acesso ao armazenamento estruturado do objeto. O controlador de componentes de vinculação suporta a nomeação de código-fonte por meio do uso de monikers e vinculação, o processo de localizar e executar a origem do link. (Para obter mais informações sobre apelidos e vinculação, consulte O modelo de objeto componente.)

Quando um usuário cria inicialmente um objeto vinculado ou carrega um existente do armazenamento, o contêiner carrega uma instância do componente de vinculação na memória, juntamente com o manipulador de objetos. O componente de vinculação fornece interfaces — principalmente IOleLink — que identificam o objeto como um link e permitem que ele gerencie a nomenclatura, o controle e a atualização de sua origem de link.

Ao implementar a interface IOleLink , um objeto vinculado fornece ao seu contêiner funções que oferecem suporte à vinculação. Somente objetos vinculados implementam IOleLink e, consultando essa interface, um contêiner pode determinar se um determinado objeto está incorporado ou vinculado. A função mais importante fornecida pelo IOleLink permite que um contêiner se vincule à origem do objeto vinculado, ou seja, ative a conexão com o documento que armazena os dados nativos do objeto vinculado. IOleLink também define funções para gerenciar informações sobre o objeto vinculado, como dados de apresentação armazenados em cache e o local da origem do link.

Quando um documento composto que contém um objeto vinculado é salvo, os dados do link são salvos com a origem do link, não com o contêiner. Somente as informações sobre seu nome e local são salvas junto com o documento composto. Esse comportamento é diferente do de um objeto incorporado, cujos dados são armazenados junto com os de seu contêiner.

Os aplicativos de contêiner podem fornecer informações sobre seus objetos incorporados, de modo que estes últimos, ou partes deles, possam atuar como fontes de link. Ao implementar o suporte para vincular aos objetos incorporados do contêiner, você possibilita incorporações aninhadas, aliviando o usuário de ter que rastrear os originais de cada objeto de incorporação para o qual um link é desejado. Por exemplo, se um usuário deseja incorporar uma planilha do Microsoft Excel no Microsoft Word e a planilha contém um bitmap criado no Paintbrush, o usuário pode vincular a uma cópia do bitmap contido na planilha em vez do original.

Documentos compostos

Servidores em processo

Manipuladores de objetos