Partilhar via


Simulando Interfaces de COM

O COM callable wrapper (CCW) expõe todos os pública, visível para COM interfaces, tipos de dados e valores de retorno para os clientes COM de maneira que seja consistente com a imposição de interação baseada em interface COM. Para um cliente COM a invocação de métodos em um.Objeto do NET Framework é idêntico ao invocar métodos em um objeto COM.

Para criar essa abordagem perfeita, o CCW fabrica interfaces COM tradicionais, como IUnknown e IDispatch. Como mostra a ilustração a seguir, o CCW mantém uma única referência sobre o.NET object quebra de linha. O cliente COM e.NET object interagem entre si por meio do proxy e stub construída a CCW.

Invólucro e interfaces com

interfaces COM

Para além de expor as interfaces que são implementadas explicitamente por uma classe no ambiente gerenciado, o.NET Framework fornece implementações das interfaces COM listados na tabela a seguir no nome do objeto. A.NET classe pode substituir o comportamento padrão fornecendo sua própria implementação dessas interfaces. No entanto, o runtime sempre fornece a implementação para o IUnknown e IDispatch interfaces.

Interface

Descrição

IDispatch

Fornece um mecanismo de ligação tardia digitar.

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

Permite que os clientes acessar COM o ITypeInfo interface implementada por uma classe gerenciada.

IsupportErrorInfo

Permite que um cliente COM determinar se o objeto gerenciado suporta a IErrorInfo interface. Em caso afirmativo, permite que o cliente obter um ponteiro para o objeto de exceção mais recente. Todos os tipos de suporte de gerenciados a IErrorInfo interface.

ItypeInfo

Fornece informações de tipo para uma classe que é exatamente o mesmo que o tipo de informação produzido pela Tlbexp. exe.

IUnknown

Fornece a implementação padrão de IUnknown interface com a qual o cliente COM gerencia a vida útil do CCW e fornece a coerção de tipo.

Uma classe gerenciada também pode fornecer as interfaces COM descrito na tabela a seguir.

Interface

Descrição

A (_classname) interface de classe

Interface, exposto pelo tempo de execução e não explicitamente definido, que expõe todas as interfaces públicas, métodos, propriedades e campos que são expostos explicitamente em um objeto gerenciado.

IConnectionPoint e IconnectionPointContainer

Interface para objetos de fonte de eventos baseadas em delegados (uma interface para o registro de assinantes de eventos).

IdispatchEx

Interface fornecida pelo tempo de execução se a classe 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

Interface para classes de tipo de coleção que enumera os objetos na coleção se a classe implementa IEnumerable.

Consulte também

Conceitos

COM Callable Wrapper

Apresentando a Interface de classe

Expondo.NET Framework para COM