DECLARE_POLY_AGGREGATABLE

Specifica che un'istanza CComPolyObject < x > viene creata quando l'oggetto viene creato.

DECLARE_POLY_AGGREGATABLE( 
   x  
)

Parametri

  • x
    [in] il nome dell'oggetto classe da definire come aggregabile o non aggregabile.

Note

Durante la creazione, il valore di sconosciuto esterno sia selezionata.Se è NULL, IUnknown viene implementato per un oggetto non aggregato.Se sconosciuto esterno non è NULL, IUnknown viene implementato per un oggetto aggregato.

Il vantaggio di l DECLARE_POLY_AGGREGATABLE è di evitare di avere sia CComAggObject che CComObject nel modulo per gestire i casi aggregati e non aggregati.Singole un oggetto CComPolyObject entrambi i casi.Questo significa che una sola copia di vtable e una copia delle funzioni esistenti nel form.Se il riferimento è elevata, questo può ridurre notevolmente la dimensione del modulo.Tuttavia, se il riferimento è ridotto, utilizzando CComPolyObject possono comportare una dimensione leggermente più grande del modulo perché non è ottimizzata per un oggetto aggregato o non aggregato, come vengono CComAggObject e CComObject.

La macro DECLARE_POLY_AGGREGATABLE viene automaticamente dichiarata nell'oggetto se si utilizza la procedura guidata controllo ATL per creare un controllo completo.

Requisiti

Header: atlcom.h

Vedere anche

Riferimenti

Classe di CComPolyObject

Classe di CComAggObject

Classe di CComObject

Altre risorse

Macro di class factory e di aggregazione

Macro ATL