다음을 통해 공유


DECLARE_POLY_AGGREGATABLE

지정 된 인스턴스의 CComPolyObject < x > 개체를 만들 때 만들어집니다.

DECLARE_POLY_AGGREGATABLE( 
   x  
)

매개 변수

  • x
    [in] 집계 가능한 또는 집계 가능하지 없습니다 정의 하는 클래스 개체의 이름입니다.

설명

만드는 동안 알 수 없는 외부의 값이 확인 됩니다. 이 경우 NULL, IUnknown 집합체를 구현 합니다. 외부 알 수 없는 경우 NULL, IUnknown 개체에 대 한 집계를 구현 합니다.

장점은 DECLARE_POLY_AGGREGATABLE 모두 필요 하지 않는 것입니다 CComAggObjectCComObject 집계 및 끌어냅니다 경우 처리 하는 모듈에서입니다. 단일 CComPolyObject 개체는 두 경우 모두 처리 합니다. 따라서 복사본 하나만 vtable 및 함수 중 하나의 복사본을 모듈에 존재 합니다. Vtable이 큰 경우이 모듈 크기를 크게 줄일 수 있습니다. 그러나 vtable 작으면 사용 CComPolyObject 집계 또는 끌어냅니다 개체에 대 한 적합 하기 때문에 약간 더 큰 모듈 크기에 발생할 수 있습니다으로 CComAggObjectCComObject.

DECLARE_POLY_AGGREGATABLE ATL 컨트롤 마법사를 사용 하 여 전체 컨트롤을 만드는 경우 매크로 개체에 자동으로 선언 됩니다.

요구 사항

헤더: atlcom.h

참고 항목

참조

CComPolyObject Class

CComAggObject Class

CComObject Class

기타 리소스

Aggregation and Class Factory Macros

ATL 매크로