Compartilhar via


Clientes e servidores COM

Um aspecto crítico do COM é como clientes e servidores interagem. Um cliente COM é qualquer código ou objeto que obtém um ponteiro para um servidor COM e usa seus serviços chamando os métodos de suas interfaces. Um servidor COM é qualquer objeto que fornece serviços aos clientes; esses serviços estão na forma de implementações de interface COM que podem ser chamadas por qualquer cliente que seja capaz de obter um ponteiro para uma das interfaces no objeto do servidor.

Há dois tipos principais de servidores, em processo e fora do processo. Os servidores em processo são implementados em uma DLL (biblioteca vinculada dinâmica) e os servidores fora de processo são implementados em um arquivo executável (EXE). Servidores fora de processo podem residir no computador local ou em um computador remoto. Além disso, o COM fornece um mecanismo que permite que um servidor em processo (uma DLL) seja executado em um processo EXE alternativo para obter a vantagem de poder executar o processo em um computador remoto. Para obter mais informações, consulte substitutos de DLL.

O modelo e os constructos de programação COM foram estendidos para que os clientes e servidores COM possam trabalhar juntos em toda a rede, não apenas em um determinado computador. Isso permite que os aplicativos existentes interajam com novos aplicativos e entre redes com a administração adequada, e novos aplicativos podem ser gravados para aproveitar os recursos de rede.

Os aplicativos cliente COM não precisam estar cientes de como os objetos do servidor são empacotados, sejam eles empacotados como objetos em processo (em DLLs) ou como objetos locais ou remotos (em EXEs). O COM distribuído permite ainda que os objetos sejam empacotados como aplicativos de serviço, sincronizando COM com os recursos avançados de integração administrativa e do sistema do Windows.

Nota

Ao longo desta documentação, o acrônimo COM é usado em preferência ao DCOM. Isso ocorre porque o DCOM não é separado; é apenas COM com um fio mais longo. Nos casos em que o que está sendo descrito é especificamente uma operação remota, o termo COM distribuído é usado.

 

O COM foi projetado para possibilitar a adição do suporte à transparência de localização que se estende por uma rede. Ele permite que aplicativos gravados para computadores únicos sejam executados em uma rede e fornece recursos que estendem esses recursos e adicionam à segurança necessária em uma rede. (Para obter mais informações, consulte Security no COM.)

COM especifica um mecanismo pelo qual o código de classe pode ser usado por muitos aplicativos diferentes.

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

de Sincronização de Chamadas

segurança do no COM