Partilhar via


Wrappers COM

COM é diferente de modelo de objeto do .NET estrutura de várias maneiras importantes:

  • Clientes de objetos COM devem gerenciar o tempo de vida desses objetos; o common linguagem tempo de execução gerencia o ciclo de vida de objetos em seu ambiente.

  • Clientes de objetos COM descobrir se um serviço está disponível, solicitando uma interface que fornece serviço e voltando um ponteiro de interface, ou não.Os clientes de objetos .NET podem obter uma descrição da funcionalidade de um objeto usando reflexão.

  • Objetos NET residem na memória gerenciada pelo ambiente de execução do .NET estrutura.O ambiente de execução pode mover objetos em torno de na memória por motivos de desempenho e atualizar todas as referências a objetos que ela passa.Os clientes não gerenciados, tendo obtido um ponteiro para um objeto dependem do objeto para permanecer no mesmo local.Esses clientes não ter nenhum mecanismo para lidar com um objeto cuja localização não é fixo.

Para superar essas diferenças, o tempo de execução fornece classes de wrapper para que clientes gerenciado e achar que estão chamando objetos dentro de seus respectivos ambientes.Sempre que o cliente gerenciado chama um método em um objeto COM, o tempo de execução cria um tempo de execução callable wrapper (RCW).RCWs abstraem as diferenças entre os mecanismos de referência gerenciados e entre Outros coisas.O tempo de execução também cria um COM callable wrapper (CCW) para reverter o processo, permitindo que um cliente COM chamar um método diretamente em um objeto .NET.sistema autônomo mostra a ilustração a seguir, da perspectiva do código de chamada determina qual classe wrapper cria o tempo de execução.

Visão geral de wrapper COM

Na maioria dos casos, o RCW ou CCW gerado pelo tempo de execução padrão fornece adequada de marshaling para chamadas que cruzam o limite entre COM e o .NET estrutura.Usando atributos personalizados, você pode ajustar a maneira como o tempo de execução representa o código gerenciado e opcionalmente.

Consulte também

Tarefas

Como: Personalizar tempo de execução Callable Wrappers

Conceitos

tempo de execução Callable Wrapper

COM callable wrapper

Personalizar wrappers padrão

Outros recursos

Interoperabilidade COM avançada