Compartilhar via


Bibliotecas COM, DCOM e Type

O COM (Component Object Model) e o DCOM (Distributed Component Object Model) usam RPC (Chamadas de Procedimento Remoto) para permitir que objetos de componente distribuídos se comuniquem entre si. Assim, uma interface COM ou DCOM define a identidade e as características externas de um objeto COM. Ele forma os meios pelos quais os clientes podem obter acesso aos métodos e dados de um objeto. Com o DCOM, esse acesso é possível independentemente de os objetos existirem no mesmo processo, processos diferentes no mesmo computador ou em computadores diferentes. Assim como acontece com interfaces de cliente/servidor RPC, um objeto COM ou DCOM pode expor sua funcionalidade de várias maneiras diferentes e por meio de várias interfaces.

Biblioteca de tipos

Uma biblioteca de tipos (.tlb) é um arquivo binário que armazena informações sobre as propriedades e métodos de um objeto COM ou DCOM em um formulário acessível a outros aplicativos em runtime. Usando uma biblioteca de tipos, um aplicativo ou navegador pode determinar quais interfaces um objeto dá suporte e invocar métodos de interface de um objeto. Isso pode ocorrer mesmo se os aplicativos de objeto e cliente tiverem sido escritos em diferentes linguagens de programação. O ambiente de tempo de execução COM/DCOM também pode usar uma biblioteca de tipos para fornecer marshaling automático entre apartamentos, entre processos e entre máquinas para interfaces descritas em bibliotecas de tipos.

Características de uma interface

Você define as características de uma interface em um arquivo de definição de interface (IDL) e um ACF (arquivo de configuração de aplicativo opcional):

  • O arquivo IDL especifica as características das interfaces do aplicativo na transmissão , ou seja, como os dados devem ser transmitidos entre o cliente e o servidor ou entre objetos COM.
  • O arquivo ACF especifica características de interface, como identificadores de associação, que pertencem apenas ao ambiente operacional local. O arquivo ACF também pode especificar como realizar marshaling e transmitir uma estrutura de dados complexa em um formulário independente do computador.

Para obter mais informações sobre arquivos IDL e ACF, consulte Os arquivos IDL e ACF.

Os arquivos IDL e ACF são scripts escritos em MIDL (Linguagem de Definição de Interface da Microsoft), que é a implementação da Microsoft e a extensão da linguagem de definição de interface OSF-DCE (IDL). As extensões da Microsoft para a linguagem IDL permitem que você crie interfaces COM e bibliotecas de tipos. O compilador, Midl.exe, usa esses scripts para gerar stubs de linguagem C e arquivos de cabeçalho, bem como arquivos de biblioteca de tipos.

O compilador MIDL

Dependendo do conteúdo do arquivo IDL, o compilador MIDL gerará qualquer um dos arquivos a seguir.

Um arquivo proxy/stub de linguagem C, um arquivo de identificador de interface, um arquivo de dados DLL e um arquivo de cabeçalho relacionado para uma interface COM personalizada. O compilador MIDL gera esses arquivos quando encontra o atributo de objeto em uma lista de atributos de interface. Para obter informações mais detalhadas sobre esses arquivos, consulte Arquivos gerados para uma interface COM.

Um arquivo de biblioteca de tipos compilado (.tlb) e um arquivo de cabeçalho relacionado. MIDL gera esses arquivos quando encontra uma instrução de biblioteca no arquivo IDL. Para obter informações gerais sobre bibliotecas de tipos, consulte Conteúdo de uma Biblioteca de Tipos, na Referência do Programador de Automação.

Arquivos stub de cliente e servidor em linguagem C/C++e arquivo de cabeçalho relacionado para uma interface RPC. Esses arquivos são gerados quando há interfaces no arquivo IDL que não têm o atributo de objeto . Para obter uma visão geral dos arquivos stub e header, consulte Procedimento de build geral. Para obter informações mais detalhadas, consulte Arquivos gerados para uma interface RPC.