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