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
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:
|
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
Qualificação.NET tipos de interoperação