Calcular referencias de interfaces seleccionadas
El objetivo principal del contenedor al que se puede llamar en tiempo de ejecución (RCW) es ocultar las diferencias entre los modelos de programación administrado y no administrado. Para crear una transición sin problemas, el RCW consume interfaces COM seleccionadas sin exponerlas al cliente .NET, como se muestra en la siguiente ilustración.
Interfaces COM y el contenedor al que se puede llamar en tiempo de ejecución
Cuando se crea como objeto de enlace en tiempo de compilación, el RCW es un tipo concreto. Implementa las mismas interfaces que el objeto COM y expone los métodos, propiedades y eventos de las interfaces del objeto. En la ilustración, el RCW expone la interfaz INew pero consume las interfaces IUnknown e IDispatch. Además, el RCW expone todos los miembros de la interfaz INew al cliente .NET.
El RCW consume las interfaces que se enumeran en la siguiente tabla, expuestas por el objeto que contiene.
Interfaz | Descripción |
---|---|
IDispatch |
Para enlace en tiempo de ejecución a objetos COM mediante la Reflexión. |
IErrorInfo |
Proporciona una descripción del error, su origen, un archivo de ayuda, contexto de ayuda y el identificador GUID de la interfaz que definió el error (siempre GUID_NULL para las clases .NET). |
IProvideClassInfo |
Si el objeto COM contenido implementa IProvideClassInfo, el RCW extrae la información de tipo de esta interfaz para proporcionar una mejor identidad de tipo. |
IUnknown |
Para identidad de objetos, conversión de tipos y administración de la duración:
|
El RCW puede consumir las interfaces que se enumeran en la siguiente tabla, expuestas por el objeto que contiene.
Interfaz | Descripción |
---|---|
IConnectionPoint e IConnectionPointContainer |
El RCW convierte objetos que exponen el estilo de evento de punto de conexión en eventos basados en delegados. |
IDispatchEx |
Si la clase implementa IDispatchEx, el RCW implementa IExpando. La interfaz IDispatchEx es una extensión de la interfaz IDispatch que, a diferencia de ésta, permite la enumeración, adición, eliminación y llamada de miembros con distinción de mayúsculas y minúsculas. |
IEnumVARIANT |
Permite tratar como colecciones los tipos COM compatibles con enumeraciones. |
Vea también
Conceptos
Contenedor al que se puede llamar en tiempo de ejecución
Habilitar tipos de .NET para la interoperación
Otros recursos
Resumen de la conversión de ensamblados en bibliotecas de tipos