Share via


Cálculo de referencias personalizado

Un contador de referencias proporciona esencialmente un puente entre las funciones de las interfaces antiguas y nuevas. El cálculo de referencias personalizado permite a los clientes designados por el usuario funcionar con una interfaz antigua y funcionar también con servidores que sólo implementan una interfaz nueva. El cálculo de referencias personalizado también permite a los clientes compilados para funcionar con una interfaz nueva funcionar con servidores que exponen la interfaz antigua.

En lugar de usar el contador de referencias de interoperabilidad, se puede diseñar uno personalizado para una interfaz que presente un comportamiento de cálculo de referencias diferente o exponga la interfaz al Modelo de objetos componentes (COM) de otra manera. Usando un contador de referencias personalizado se puede minimizar la distinción entre los componentes .NET Framework nuevos y los componentes COM existentes.

Por ejemplo, suponga que se está programando una interfaz administrada denominada INew. Cuando se exponga esta interfaz a COM mediante un contenedor CCW estándar, tiene los mismos métodos que la interfaz administrada y usa las reglas de cálculo de referencias integradas en el contador de referencias de interoperabilidad. Suponga ahora que una interfaz COM conocida denominada IOld ya proporciona la misma funcionalidad que la interfaz INew. Si se incluye un contador de referencias personalizado, se puede proporcionar una implementación no administrada de IOld que simplemente delega las llamadas en la implementación administrada de la interfaz INew. En esencia, el contador de referencias actúa como un puente entre las interfaces administrada y no administrada.

Tenga en cuenta que los contadores de referencias personalizados no se invocan cuando se llama del lado administrado al no administrado de una interfaz de solo envío.

Temas relacionados

Título

Descripción

Definir el tipo de cálculo de referencias

Describe cómo preparar las interfaces que intervienen en la configuración de un contador de referencias personalizado.

Implementar la interfaz ICustomMarshaler

Describe las opciones existentes en la preparación de un contador de referencias personalizado.

Utilizar un contador de referencias sustituto

Describe cómo utilizar el atributo MarshalAsAttribute para insertar un contador de referencias personalizado.

Cálculo de referencias de interoperabilidad

Describe el cálculo de referencias de datos para la interoperabilidad COM y la invocación de plataformas.

Referencia

System.Runtime.InteropServices.ICustomMarshaler

System.Runtime.InteropServices.MarshalAsAttribute