Servidores em processo

Se você implementar um aplicativo de servidor OLE como um servidor em processo — uma DLL em execução no espaço de processo do aplicativo de contêiner — em vez de como um servidor local — um EXE em execução em seu próprio espaço de processo — a comunicação entre contêiner e servidor será simplificada porque a comunicação entre os dois pode assumir a forma de chamadas de função normais. Chamadas de procedimento remoto não são necessárias porque os dois aplicativos são executados no mesmo espaço de processo. Como seria de esperar, os objetos que gerenciam o empacotamento de parâmetros também são desnecessários, embora possam ser agregados dentro da DLL sem interferir na comunicação entre o contêiner e o servidor.

Quando um aplicativo de servidor OLE é implementado como um servidor em processo, um manipulador de objeto separado não é necessário porque o próprio servidor reside no espaço de processo do cliente. A principal diferença entre um servidor em processo e um manipulador de objetos é que o servidor é capaz de gerenciar o objeto em um estado de execução, enquanto o manipulador não pode. Uma consequência dessa diferença é que um servidor deve fornecer uma interface de usuário para manipular o objeto em execução, enquanto um manipulador delega esse requisito ao servidor do objeto. Ao criar um servidor em processo, você pode agregar no manipulador OLE padrão, permitindo que ele lide com tarefas básicas, como exibição, armazenamento e notificações, enquanto implementa apenas os serviços que o manipulador não fornece ou não implementa da maneira necessária.

Para Mais informações, consulte os seguintes tópicos:

Documentos compostos