Compartir a través de


ATL y el Threaded libre Contador

La página atributos ATL Simple del asistente para objetos proporciona una opción que permite que la clase agregue el contador de subproceso libre (FTM).

El asistente genera código para crear una instancia del contador de subproceso libre en FinalConstruct y liberar esa instancia en FinalRelease.Una macro de COM_INTERFACE_ENTRY_AGGREGATE se agrega automáticamente al mapa COM para garantizar que las solicitudes de QueryInterface para IMarshal se controlan mediante el contador de subproceso libre.

El contador de subproceso libre permite acceso directo a las interfaces en un objeto de cualquier subproceso del mismo de proceso, acelerando llamadas de cruce- apartamento.Esta opción está pensado para las clases que utilizan el modelo de subprocesos de Both.

Con esta opción, las clases deben asumir la responsabilidad de la seguridad para subprocesos de sus datos.Además, se opone que agrega el contador de subproceso libre y la necesidad de utilizar los punteros de interfaz obtenidos de otros objetos debe pasos adicionales para asegurarse de que las interfaces correctamente se calculen las referencias.Esto implica normalmente el almacenamiento de punteros de interfaz en la tabla global (GIT) de la interfaz y el obtener del puntero de GIT cada vez que se utiliza.ATL proporciona la clase CComGITPtr para ayudarle a utilizar los punteros de interfaz almacenados en el GIT.

Vea también

Referencia

CoCreateFreeThreadedMarshaler

IMarshal

When to Use the Global Interface Table

In-Process Server Threading Issues

Otros recursos

Conceptos de ATL