Partilhar via


Interfaces selecionadas de empacotamento.

O principal objetivo do runtime callable wrapper (RCW) é ocultar as diferenças entre os modelos de programação gerenciadas e. Para criar uma transição transparente, o RCW consome selecionados interfaces de COM sem expô-los para o.Cliente de rede, como mostrado na ilustração a seguir.

O runtime callable wrapper e interfaces COM

RCW com interfaces

Quando criado como um objeto de early bound, 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 e IDispatch interfaces. Além disso, o RCW expõe todos os membros da interface INew para o.Cliente de rede.

O RCW consome as interfaces listadas na tabela a seguir, que são expostas pelo objeto de quebra de linha.

Interface

Descrição

IDispatch

Para a ligação tardia para os objetos COM através de reflexão.

IErrorInfo

Fornece uma descrição textual do erro, sua origem, um arquivo de Ajuda, contexto de ajuda e o GUID da interface que definiu o erro (sempre GUID_NULL para.Classes de rede).

IProvideClassInfo

Se o objeto COM sendo empacotado implementa IProvideClassInfo, o RCW extrai as informações de tipo nessa interface para fornecer a identidade de tipo melhor.

IUnknown

Para a identidade do objeto, o tipo coerção e o gerenciamento da vida útil:

  • Identidade do objeto

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

  • Coerção de tipo

    O RCW reconhece a descoberta do tipo dinâmico realizada pelo QueryInterface método.

  • Gerenciamento da vida útil

    Usando o QueryInterface método, o RCW obtém e mantém uma referência a um objeto não gerenciado, até que o tempo de execução realiza a coleta de lixo no invólucro, o que libera o objeto não gerenciado.

Opcionalmente, o RCW consome as interfaces listadas na tabela a seguir, que são expostas pelo objeto de quebra de linha.

Interface

Descrição

IConnectionPoint e IConnectionPointContainer

Os objetos de converte RCW exponham o estilo de evento do ponto de conexão para eventos baseados em delegate.

IDispatchEx

Se a classe implementa IDispatchEx, o RCW implementa IExpando. O IDispatchEx interface é uma extensão da IDispatch interface que, ao contrário de IDispatch, permite a enumeração, adição, exclusão e diferencia maiúsculas de minúsculas chamada de membros.

IEnumVARIANT

Permite que os tipos de COM suporte para enumerações deve ser tratado como coleções.

Consulte também

Conceitos

Runtime Callable Wrapper

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

Outros recursos

Assembly para digitar o resumo de conversão da biblioteca