Compartilhar via


Personalizando o tempo de execução Callable Wrappers

O common linguagem tempo de execução produz um tempo de execução callable wrapper (RCW) dos metadados em um assembly de interoperabilidade.Ao contrário de outros assemblies, assemblies de interoperabilidade são gerados por importar bibliotecas de tipos.Embora o processo de importação geralmente produz precisos assemblies de interoperabilidade, há casos em que você pode (ou deve) modificar o assembly de interoperabilidade para produzir um RCW personalizado.

Há várias razões por que você pode personalizar um RCW, sistema autônomo:

  • Um ou mais tipos requerem informações adicionais de marshaling.

  • Uma biblioteca de tipos contém vários tipos especializados que são o empacotador irreconhecíveis.

  • Uma biblioteca de tipos grandes pode incluir tipos que são desnecessários para um aplicativo.Você pode eliminar a necessidade de implantar tipos desnecessários, criando um assembly de interoperabilidade de gerenciado código-fonte.

  • Ter RCW código-fonte que contém uma parte dos tipos em uma biblioteca de tipos grandes pode eliminar a necessidade de implantar tipos desnecessários.

sistema autônomo mostra a ilustração a seguir, você pode importar uma biblioteca de tipos sistema autônomo uma DLL gerenciada sem Personalizando o wrapper (mostrada à esquerda).Ou você pode criar um wrapper personalizado.

Informações de marshaling nas bibliotecas de tipos importada

Se você deve personalizar o tempo de execução callable wrapper com instruções de marshaling adicionais ou diferentes, você tem duas opções:

  • edição o assembly de interoperabilidade, procurando sintaxe problemático e substituí-lo com a sintaxe alternativa.Essa opção é ideal para pequenas alterações de marshaling.

  • Criar manualmente um invólucro, com base em uma existente linguagem IDL (IDL) tipo de arquivo ou biblioteca.Declarar tipos COM manualmente é uma atividade difícil que exige conhecimento prático do Tipo biblioteca Importer (Tlbimp.exe), o comportamento padrão do interop marshaler e COM.Essa abordagem é melhor utilizada quando você tiver uma biblioteca inteira de tipos especializados ou exige o código-fonte RCW.

Consulte também

Tarefas

Como: edição assemblies de interoperabilidade

Como: Criar wrappers manualmente

Conceitos

Tipos de dados COM

Personalizando COM Callable Wrappers

Outros recursos

marshaling de dados com interoperabilidade com.