Share via


Personalizar contenedores estándar

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

Contenedores invocables 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 invocable 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 invocables en tiempo de ejecución.

Contenedores COM invocables

Un contenedor COM invocable (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 RCW

Referencia

TlbImp.exe (Importador de la biblioteca de tipos)

Ildasm.exe (Desensamblador de MSIL)

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