DECLARE_POLY_AGGREGATABLE

Especifica que una instancia de CComPolyObject < x > se crea cuando se crea el objeto.

DECLARE_POLY_AGGREGATABLE( 
   x  
)

Parámetros

  • x
    [in] El nombre del objeto de clase que se está definiendo como aggregatable o no aggregatable.

Comentarios

Durante la creación, el valor desconocido externo se comprueba.si es NULL, IUnknown se implementa para un objeto nonaggregated.Si el hecho exterior no se NULL, IUnknown se implementa para un objeto agregado.

La ventaja de utilizar DECLARE_POLY_AGGREGATABLE es que se evita tener CComAggObject y CComObject en el módulo para controlar los casos agregado y nonaggregated.Los controladores de objeto de CComPolyObject ambos casos.Esto significa que sólo una copia de vtable y una copia de las funciones existen en el módulo.Si el vtable es grande, esto puede reducir considerablemente el tamaño del módulo.Sin embargo, si el vtable es pequeño, mediante CComPolyObject pueden producir un tamaño ligeramente mayor de módulo porque no se optimiza para un objeto agregado o nonaggregated, al igual que CComAggObject y CComObject.

La macro de DECLARE_POLY_AGGREGATABLE automáticamente se declara en el objeto si utiliza el asistente para controles ATL para crear un control completo.

Requisitos

encabezado: atlcom.h

Vea también

Referencia

Clase de CComPolyObject

Clase de CComAggObject

Clase de CComObject

Otros recursos

Macros de generador de agregación y la clase

Macros de ATL