Compartilhar via


Introdução à interoperabilidade COM (Visual Basic)

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

Os aplicativos do .NET Framework eventualmente substituirão os desenvolvidos pelo COM. Até lá, talvez seja necessário usar ou criar objetos COM usando o Visual Studio. A interoperabilidade com COM ou interoperabilidade COM permite que você use objetos COM existentes durante a transição para o .NET Framework em seu próprio ritmo.

Usando o .NET Framework para criar componentes COM, você pode usar a interoperabilidade COM sem registro. Isso permite controlar qual versão de DLL está habilitada quando mais de uma versão está 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 obter mais informações, consulte Registration-Free COM Interop.

Código e dados gerenciados

O código desenvolvido para o .NET Framework é chamado de código gerenciado e contém metadados usados pelo CLR. Os dados usados por aplicativos do .NET Framework são chamados de dados gerenciados porque o runtime gerencia tarefas relacionadas a dados, como alocar e recuperar memória e executar verificação de tipo. Por padrão, o .NET do Visual Basic usa código e dados gerenciados, mas você pode acessar o código não gerenciado e os dados de objetos COM usando assemblies de interoperabilidade (descritos posteriormente nesta página).

Assembléias

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

Bibliotecas de Tipos e Manifestos de Assembly

Bibliotecas de tipos descrevem características de objetos COM, como nomes de membro e tipos de dados. Os manifestos do assembly executam a mesma função para aplicativos do .NET Framework. 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 o assembly. Isso inclui aqueles que são exportados dele.

  • Dependências de tempo de compilação em outros assemblies.

  • Permissões necessárias para que o assembly seja executado corretamente.

Para obter mais informações sobre assemblies e manifestos do assembly, consulte Assemblies no .NET.

Importando e exportando bibliotecas de tipos

O Visual Studio contém um utilitário, Tlbimp, que permite importar informações de uma biblioteca de tipos para um aplicativo .NET Framework. Você pode gerar bibliotecas de tipos de assemblies usando o utilitário Tlbexp.

Para obter informações sobre Tlbimp e Tlbexp, consulte Tlbimp.exe (Importador de Biblioteca de Tipos) e Tlbexp.exe (Exportador de Biblioteca de Tipos).

Assemblies de Interoperabilidade

Os assemblies de interoperabilidade são assemblies do .NET Framework que fazem a ponte entre código gerenciado e não gerenciado, mapeando membros do objeto COM para membros gerenciados equivalentes do .NET Framework. Os assemblies de interoperabilidade criados pelo .NET do Visual Basic lidam com muitos dos detalhes de trabalhar com objetos COM, como o marshalling de interoperabilidade.

Marshalling de Interoperabilidade

Todos os aplicativos do .NET Framework compartilham um conjunto de tipos comuns que permitem a interoperabilidade de objetos, independentemente da linguagem de programação usada. Os parâmetros e os valores retornados de objetos COM às vezes usam tipos de dados que diferem daqueles usados no código gerenciado. O marshalling de interoperabilidade é o processo de empacotamento de parâmetros e retornar valores em tipos de dados equivalentes à medida que eles se movem de e para objetos COM. Para obter mais informações, consulte Interop Marshaling.

Consulte também