Compartir a través de


Personalizar contenedores estándar

En este tema se describen los procesos que se utilizan para personalizar los contenedores estándar a los que se puede llamar en tiempo de ejecución y los contenedores COM a los que se puede llamar.

Contenedores a los que se puede llamar en tiempo de ejecución

Cuando un cliente .NET activa un objeto COM, el motor en tiempo de ejecución genera una instancia del contenedor al que se puede llamar en tiempo de ejecución (RCW) para que contenga al tipo COM. Como se muestra en la siguiente ilustración, el motor en tiempo de ejecución usa metadatos obtenidos de una biblioteca de tipos COM importada para generar el RCW. El contenedor calcula referencias de los datos siguiendo las reglas establecidas por el servicio de cálculo de referencia de interoperabilidad.

Generación del RCW y llamadas a métodos

Personalizar contenedores estándar

El RCW se puede personalizar de dos maneras. Si se puede modificar el código fuente IDL (Lenguaje de definición de interfaz), se pueden aplicar atributos de TLB (archivo de biblioteca de tipos) e importar dicha biblioteca. Otra opción es aplicar atributos específicos de interoperabilidad a los tipos importados y generar un nuevo ensamblado. Estos atributos limitan la compatibilidad con la personalización de los RCW estándar. Para obtener instrucciones, vea Cómo: Personalizar contenedores a los que se puede llamar en tiempo de ejecución.

Contenedores COM a los que se puede llamar

Un contenedor COM al que se puede llamar (CCW) expone objetos .NET Framework a COM. Si se compila un proyecto administrado en un archivo DLL de ensamblado, se pueden crear automáticamente los metadatos necesarios para describir cada tipo del ensamblado. El motor en tiempo de ejecución usa estos metadatos para generar un CCW cada vez que un cliente COM activa un código administrado.

Para personalizar un CCW, aplique atributos específicos de interoperabilidad al código fuente administrado y compile el código fuente en un ensamblado, como se muestra en la siguiente ilustración. En este ejemplo, Tlbexp.exe convierte los tipos administrados en COM.

Generación del CCW y llamadas a métodos

Personalizar contenedores estándar

Si se aplican atributos al código, se puede modificar el comportamiento de la interfaz y del cálculo de referencias de datos dentro de los límites del servicio de cálculo de referencia de interoperabilidad. Por ejemplo, se puede controlar el formato de los datos que se pasan como argumento a un método. También se puede controlar qué tipos de un ensamblado se exponen a COM.

Vea también

Tareas

Cómo: Personalizar contenedores a los que se puede llamar en tiempo de ejecución

Referencia

Importador de la biblioteca de tipos (TlbImp.exe)
Desensamblador de MSIL (Ildasm.exe)

Conceptos

Contenedores COM
Contenedor al que se puede llamar en tiempo de ejecución
Contenedor COM al que se puede llamar
Aplicar atributos de interoperabilidad

Otros recursos

Resumen de la conversión de bibliotecas de tipos en ensamblados
Resumen de la conversión de ensamblados en bibliotecas de tipos