Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando um cliente COM chama um objeto. NET, o common linguagem tempo de execução cria o objeto gerenciado e um COM callable wrapper (CCW) para o objeto.Não é possível fazer referência a um objeto .NET diretamente, clientes COM usar a CCW sistema autônomo um proxy para o objeto gerenciado.
O tempo de execução cria exatamente um CCW para um objeto gerenciado, independentemente do número de clientes COM solicitando seus serviços.sistema autônomo mostra a ilustração a seguir, COM vários clientes podem manter uma referência a CCW expõe a interface INew.Anti-horário, por sua vez, contém uma única referência ao objeto gerenciado que implementa a interface e é coletado do lixo.Clientes COM e .NET podem fazer solicitações no mesmo objeto gerenciado simultaneamente.
Acessando objetos .NET por meio de COM callable wrapper
.gif)
COM callable wrappers são invisível para outras classes em execução dentro do .NET estrutura.Sua finalidade principal é realizar realizar marshaling as chamadas entre código gerenciado e; no entanto, CCWs também gerenciar a identidade do objeto e a tempo de vida de objeto dos objetos gerenciados que dispor.
Identidade de objeto
O runtime aloca memória para o objeto .NET da pilha coleta de lixo, que permite que o tempo de execução mover o objeto ao redor na memória conforme necessário.Em contraste, o tempo de execução aloca memória para a CCW partir de um heap noncollected, possibilitando aos clientes COM a referência diretamente o wrapper.
Vida útil do objeto
Ao contrário de cliente .NET que ele encapsula, o anti-horário é referência contado tradicional COM modo.Quando a contagem de referência a CCW chegar a zero, o wrapper lança sua referência no objeto gerenciado.Um objeto gerenciado com sem referências restantes é coletado durante o próximo lixo-coleção ciclo.
Consulte também
Conceitos
tempo de execução Callable Wrapper
Expondo componentes .NET estrutura para com.
Referência
COM callable wrapper