Compartilhar via


Manipuladores de objetos

Se um aplicativo de servidor OLE for um servidor local, o que significa que ele é executado em seu próprio espaço de processo, a comunicação entre o contêiner e o servidor deve ocorrer entre os limites do processo. Como esse processo é caro, o OLE depende de um objeto alternativo carregado no espaço de processo do contêiner para agir em nome de um aplicativo de servidor local. Esse objeto alternativo, conhecido como um manipulador de objetos , serviços de solicitações de contêiner que não exigem a atenção do aplicativo do servidor, como solicitações de desenho. Quando um contêiner solicita algo que o manipulador de objetos não pode fornecer, o manipulador se comunica com o aplicativo de servidor usando o mecanismo de comunicação fora de processo da COM.

Um manipulador de objetos é exclusivo para uma classe de objeto. Quando você cria uma instância de um manipulador para uma classe, não é possível usá-la para outra. Quando usado para um documento composto, o manipulador de objetos implementa as estruturas de dados do lado do contêiner quando objetos de uma determinada classe são acessados remotamente.

O OLE fornece um manipulador de objetos padrão que os aplicativos de servidor local podem usar. Para aplicativos que exigem comportamentos especiais, os desenvolvedores podem implementar um manipulador personalizado que substitui o manipulador padrão ou o usa para fornecer determinados comportamentos padrão.

Um manipulador de objetos é uma DLL que contém vários componentes de interação. Esses componentes incluem peças de comunicação remota para gerenciar a comunicação entre o manipulador e seu aplicativo de servidor, um cache para armazenar dados de um objeto, juntamente com informações sobre como esses dados devem ser formatados e exibidos e um objeto de controle que coordena as atividades dos outros componentes da DLL. Além disso, se um objeto for um link, a DLL também incluirá um componente de vinculação ou objeto vinculado, que mantém o controle do nome e do local da origem do link.

O cache contém dados e informações de apresentação suficientes para o manipulador exibir um objeto carregado, mas não em execução, em seu contêiner. O OLE fornece uma implementação do cache usado pelo manipulador de objetos padrão do OLE e pelo objeto de link. O cache armazena dados em formatos necessários pelo manipulador de objetos para atender às solicitações de desenho de contêiner. Quando os dados de um objeto são alterados, o objeto envia uma notificação para o cache para que uma atualização possa ocorrer. Para obter mais informações sobre o cache, consulte Exibir cache.

Para obter mais informações, consulte o seguinte tópico:

documentos compostos