DECLARE_POLY_AGGREGATABLE

DECLARE_POLY_AGGREGATABLE ( x )

Parametry

x

[w] Nazwa obiektu klasy podczas definiowania kumulowalnych lub nie kumulowalnych.

Uwagi

Określa, że wystąpienie CComPolyObject lt;x jest tworzony, gdy tworzony jest obiekt. Podczas tworzenia wartości zewnętrznej nieznany jest zaznaczone. Jeśli jest NU&LL, IUnknown jest zaimplementowana dla obiektu nonaggregated. Jeśli zewnętrzne nieznany jest NULL, IUnknown jest zaimplementowana dla obiektu zagregowane.

Zaletą używania DECLARE_POLY_AGGREGATABLE jest, można uniknąć, posiadające zarówno CComAggObject , jak i CComObject w module obsługi przypadkach zagregowanych i nonaggregated. Pojedynczy obiekt CComPolyObject obsługuje oba przypadki. Oznacza to, że istnieje tylko jedna kopia Tablica metod wirtualnych i jedną kopię funkcje w module. W przypadku dużych sieci Tablica metod wirtualnych, to znacznie zmniejszyć rozmiar modułu. Jednakże w przypadku małych sieci Tablica metod wirtualnych, przy użyciu CComPolyObject może spowodować nieco większy rozmiar modułu ponieważ nie jest optymalizowany dla obiektu zagregowanych lub nonaggregated, jak CComAggObject i CComObject.

Makro DECLARE_POLY_AGGREGATABLE jest automatycznie zadeklarowane w obiektu, jeśli kreator obiektu ATL zostanie użyty do utworzenia Pełna kontrola lub formant programu Internet Explorer.

ATL makra i funkcje globalne

Zobacz też

CComPolyObject, CComAggObject, CComObject

Index