Wrappers COM
COM difere do.Modelo de objeto do NET Framework de diversas maneiras importantes:
Clientes de objetos COM devem gerenciar o tempo de vida desses objetos; o common language runtime gerencia o tempo de vida dos objetos em seu ambiente.
Clientes de objetos COM descubram se um serviço está disponível, solicitando uma interface que fornece serviço e voltando de um ponteiro de interface ou não. Clientes do.NET objetos podem obter uma descrição da funcionalidade de um objeto usando reflexão.
NET objetos residem na memória gerenciada pelo.Ambiente de execução do NET Framework. O ambiente de execução pode mover objetos na memória por motivos de desempenho e atualizar todas as referências aos objetos que se move. Os clientes não gerenciados, tendo obtido um ponteiro para um objeto, contam com o objeto 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 runtime fornece classes de wrapper para fazer com que os clientes gerenciados e não gerenciados acha que eles estão chamando objetos dentro de seus respectivos ambientes. Sempre que o cliente gerenciado chama um método em um objeto COM, o runtime cria um runtime callable wrapper (RCW). RCWs abstraem as diferenças entre os mecanismos de referência gerenciada e, entre outras coisas. O runtime também cria um COM callable wrapper (CCW) para reverter o processo, permitindo um cliente COM perfeitamente chamar um método em um.NET object. Como mostra a ilustração a seguir, a perspectiva do código chamador determina qual classe de wrapper, o runtime cria.
Visão geral de wrapper COM
Na maioria dos casos, o RCW padrão ou um CCW geradas pelo runtime fornece o empacotamento adequado para chamadas cruzam o limite entre COM e o.NET Framework. Usando atributos personalizados, você pode ajustar a maneira como o runtime representa o código gerenciado e opcionalmente.
Consulte também
Tarefas
Como: Personalizar Wrappers invocáveis em tempo de execução
Conceitos
Personalizando Wrappers padrão