Introdução à interoperabilidade COM (Visual Basic)

O COM (Component Object Model) permite que um objeto exponha sua funcionalidade a outros componentes e aplicativos host. Embora os objetos COM tenham sido fundamentais para a programação do Windows por muitos anos, os aplicativos projetados para o Common Language Runtime (CLR) oferecem muitas vantagens.

A interoperabilidade com COM, ou interoperabilidade COM, permite-lhe usar objetos COM existentes de aplicações .NET.

Ao usar .NET para criar componentes COM, pode usar interoperabilidade COM sem registo. Isso permite controlar qual versão da DLL é habilitada quando mais de uma versão é instalada em um computador e permite que os usuários finais usem XCOPY ou FTP para copiar seu aplicativo para um diretório apropriado em seu computador onde ele pode ser executado. Para mais informações, veja Registration-Free Interop COM.

Código e dados gerenciados

O código desenvolvido para .NET é referido como código gerido e contém metadados usados pelo CLR. Os dados usados por aplicações .NET são chamados de dados geridos porque o tempo de execução gere tarefas relacionadas com dados, como alocar e recuperar memória e realizar verificação de tipos. Por defeito, o Visual Basic usa código e dados geridos, mas pode aceder ao código não gerido e aos dados dos objetos COM usando assemblies de interoperabilidade (descritos mais adiante nesta página).

Assemblagens

Um assembly é o principal bloco de construção de uma aplicação .NET. É uma coleção de funcionalidades que é criada, versionada e implantada como uma única unidade de implementação contendo um ou mais arquivos. Cada assembly contém um manifesto de assemblagem.

Bibliotecas de tipos e manifestos de assemblagem

As bibliotecas de tipos descrevem características de objetos COM, como nomes de membros e tipos de dados. Os manifestos de assemblagem desempenham a mesma função nas aplicações .NET. Eles incluem informações sobre o seguinte:

  • Identidade, versão, cultura e assinatura digital do assembly.
  • Arquivos que compõem a implementação do assembly.
  • Tipos e recursos que compõem a montagem. Isso inclui aqueles que são exportados a partir dele.
  • Dependências em tempo de compilação em outros assemblies.
  • Permissões necessárias para que a assemblagem seja executada corretamente.

Para mais informações sobre assemblies e manifests de assembly, consulte Assemblies in .NET.

Importando e exportando bibliotecas de tipos

O Visual Studio contém uma utilidade, Tlbimp, que permite importar informação de uma biblioteca de tipos para uma aplicação .NET. Você pode gerar bibliotecas de tipos a partir de assemblies usando o utilitário Tlbexp.

Para obter informações sobre Tlbimp e Tlbexp, consulte Tlbimp.exe (Type Library Importer) e Tlbexp.exe (Type Library Exporter).

Assemblies de Interoperabilidade

Os assemblies interop são assemblies .NET que fazem a ponte entre código gerido e não gerido, mapeando membros de objetos COM para membros .NET geridos equivalentes. Os assemblies de interoperabilidade criados pelo Visual Basic .NET lidam com muitos dos detalhes do trabalho com objetos COM, como empacotamento de interoperabilidade.

Interoperabilidade e Agrupamento

Todas as aplicações .NET partilham um conjunto de tipos comuns que permitem a interoperabilidade dos objetos, independentemente da linguagem de programação utilizada. Os parâmetros e valores de retorno de objetos COM às vezes usam tipos de dados diferentes daqueles usados no código gerenciado. O agrupamento de interoperabilidade é o processo de empacotamento de parâmetros e valores de retorno em tipos de dados equivalentes à medida que eles se movem de e para objetos COM. Para obter mais informações, consulte Interop Marshaling.

Ver também