Visão geral da interoperabilidade (guia de programação translation from VPE for Csharp)

O tópico descreve métodos para habilitar a interoperabilidade entre código gerenciado translation from VPE for Csharp e código não gerenciado.

Invocação de plataforma

Invocação de plataforma é um serviço que permite a código para gerenciado telefonar não gerenciados funções que são implementadas em bibliotecas de vínculo dinâmico (DLLs), tais sistema autônomo aquelas em que o Microsoft Win32 API.Ele localiza e chama uma função exportada e empacota sistema autônomo argumentos (números inteiros, seqüências de caracteres, matrizes, estruturas e assim por diante) entre o limite de interoperação conforme necessário.

Para obter mais informações, consulte Consumir funções DLL não gerenciada e Como: Invocação de plataforma de uso para executar um arquivo wave (guia de programação translation from VPE for Csharp).

Observação:

O Common Language Runtime (CLR) gerencia o acesso aos recursos do sistema. Chamando código não gerenciado que está fora do CLR não usa esse mecanismo de segurança e, portanto, apresenta um risco de segurança.Por exemplo, código não gerenciado poderia chamar recursos em código não gerenciado diretamente, ignorando os mecanismos de segurança do CLR.Para obter mais informações, consulte Segurança do .NET estrutura.

Interoperabilidade de C++

Você pode usar a interoperabilidade de C++, também conhecido sistema autônomo IT apenas Works (IJW), para encapsular uma classe C++ nativa, de modo que pode ser consumida pelo código tiver sido criado no translation from VPE for Csharp ou outra linguagem do .NET estrutura.Para fazer isso, você escrever código C++ para quebrar um componente nativo de DLL ou COM.Ao contrário do Outros .NET estrutura linguagens, Visual C++ tem suporte de interoperabilidade que permite que o código gerenciado e ser localizado no mesmo aplicativo e até mesmo no mesmo arquivo. Em seguida, criar o código C++ usando o /clr comutador do compilador para produzir um assembly gerenciado. Por fim, adicione uma referência ao conjunto de módulos (assembly) em seu projeto translation from VPE for Csharp e use objetos dispostos exatamente sistema autônomo você usaria a outras classes gerenciadas.

Para obter mais informações, consulte Como: Quebrar Nativo classe para uso por C# e Usando a interoperabilidade de C++ (PInvoke implícita).

Expondo COM Components to translation from VPE for Csharp

Você pode consumir um componente COM de um projeto translation from VPE for Csharp.sistema autônomo etapas Geral são:

  1. localizar um componente COM para usar e registrá-lo.Use regsvr32.exe para registrar ou uma DLL COM un–register.

  2. Adicione uma referência para a biblioteca de tipo ou componente COM para o projeto.

    Ao adicionar a referência, Visual Studio usa o Tipo Biblioteca Importer (Tlbimp.exe), uma biblioteca de tipos que obtém sistema autônomo entrada, saída de um assembly de interoperabilidade do .NET estrutura. O assembly, também denominado um tempo de execução callable wrapper (RCW), contém gerenciado classes e interfaces que dispor as classes COM e interfaces que estão na biblioteca de tipos.Visual Studio Adiciona uma referência ao assembly gerado para o projeto.

  3. Crie uma instância de uma classe definida no RCW.Isso, por sua vez, cria uma instância do objeto COM.

  4. Use o objeto, assim sistema autônomo você usa outros objetos gerenciado.Quando o objeto é recuperado pela coleta de lixo, a instância do objeto COM também é liberada da memória.

Para obter mais informações, consulte Expondo componentes COM para o .NET Framework.

Expondo translation from VPE for Csharp para com.

Clientes COM podem consumir translation from VPE for Csharp tipos que foram expostos corretamente.sistema autônomo etapas básicas para expor translation from VPE for Csharp tipos são:

  1. Adicione atributos de interoperabilidade no projeto translation from VPE for Csharp.

    Você pode tornar um assembly COM visível modificando Visual C# Propriedades do projeto. Para obter mais informações, consulte Caixa de diálogo Assembly Information.

  2. Gerar uma biblioteca de tipos COM e registrá-lo para uso COM.

    Você pode modificar Visual C# Propriedades do projeto para registrar o assembly translation from VPE for Csharp para interoperabilidade COM automaticamente. Visual Studio usa o Ferramenta de registro do conjunto (RegAsm.exe), usando o /tlb comutador de linha de comando, que leva um assembly gerenciado sistema autônomo entrada, para gerar uma biblioteca de tipos. Esta biblioteca de tipos descreve o public tipos no assembly e adiciona as entradas do registro para que clientes COM podem criar classes gerenciadas. Para obter mais informações, consulte Como: Registrar um componente para interoperabilidade com..

Para obter mais informações, consulte Expor o .NET Framework Components to COM e Exemplo classe COM (guia de programação translation from VPE for Csharp).

Consulte também

Conceitos

Guia de Programação C#

Outros recursos

Interoperação com Código Não-Gerenciado

Interoperabilidade COM Avançados

Interoperabilidade no .NET Compact Framework

Melhorando o desempenho de interoperabilidade

Introdução ao COM Interop

Marshaling entre código gerenciado e

Date

History

Motivo

Julho de 2008

Atualização da documentação para cobrir mais tipos de interoperabilidade.

Aprimoramento de informações.