Partilhar via


marshaling de interfaces selecionadas

O principal meta do tempo de execução callable wrapper (RCW) é ocultar as diferenças entre o gerenciado e un gerenciado modelos de programação.Para criar uma transição transparente, o RCW consome interfaces COM selecionado sem expô-los para o cliente .NET, conforme mostrado na ilustração a seguir.

Interfaces COM e o tempo de execução callable wrapper

Quando criado sistema autônomo um objeto early limite, o RCW é um tipo específico.Ele implementa as interfaces que o objeto COM implementa e expõe os métodos, propriedades e eventos de interfaces do objeto.Na ilustração, o RCW expõe a interface INew mas consome o IUnknown and IDispatch interfaces.Além disso, o RCW expõe todos os membros da interface INew para o cliente .NET.

O RCW consome as interfaces listadas na tabela a seguir, que são expostas pelo objeto que ela encapsula.

Interface

Descrição

IDispatch

Para vinculação de objetos COM através de reflexão tardia.

IErrorInfo

Fornece uma descrição textual do erro, sua fonte, um arquivo de Ajuda, contexto de ajuda e o GUID da interface que definido o erro (sempre GUID_NULL para classes do. NET).

IProvideClassInfo

Se o objeto COM disposto implementa IProvideClassInfo, o RCW extrai as informações de tipo desta interface para fornecer o melhor tipo de identidade.

IUnknown

Identidade do objeto, tipo coerção e gerenciamento da tempo de vida:

  • Identidade do objeto

    O tempo de execução distingue entre objetos COM comparando o valor do IUnknown interface para cada objeto.

  • Coerção de tipo

    O RCW reconhece a descoberta de tipos dinâmico executada pelo QueryInterface método.

  • Gerenciamento da tempo de vida

    Usando o QueryInterface método, o RCW recebe e armazena uma referência a um objeto não gerenciada até que o tempo de execução executa a coleta de lixo no wrapper, que libera o objeto não gerenciado.

O RCW opcionalmente consome as interfaces listadas na tabela a seguir, que são expostas pelo objeto que ela encapsula.

Interface

Descrição

IConnectionPoint and IConnectionPointContainer

Os objetos converte RCW que expõem o estilo de evento de ponto de conexão para eventos com o delegado.

IDispatchEx

Se a classe implementa IDispatchEx, o RCW implementa IExpando.The IDispatchEx interface é uma extensão do IDispatch de interface que, ao contrário de IDispatch, permite a enumeração, adição, exclusão e chamada faz distinção entre diferenciar diferenciar maiúsculas de minúsculas de membros.

IEnumVARIANT

Permite COM tipos que oferecem suporte a enumerações deve ser tratado sistema autônomo coleções.

Consulte também

Conceitos

tempo de execução Callable Wrapper

Qualificação de tipos do .NET para interoperação

Outros recursos

Conjunto de módulos (assembly) Type biblioteca conversão resumo