DECLARE_POLY_AGGREGATABLE

DECLARE_POLY_AGGREGATABLE ( x )

매개 변수

x

[in] 집계할 수 또는 집계할 수 없는 정의 하는 클래스 개체의 이름。

주의

지정 된 인스턴스의 CComPolyObject lt;x 귀하의 개체가 만들어질 때 만들어집니다. 생성 하는 동안 외부 알 수 없는 값 체크. NULL인 경우 IUnknown 테이블인된 개체에 대해 구현 됩니다. 집계 개체에 대 한 IUnknown 구현 외부 알 NULL이 아닌 경우(&L)。

DECLARE_POLY_AGGREGATABLE 를 사용 하 여 장점은 CComAggObject 및 CComObject 집계 및 테이블인 경우를 처리 하기 위해 모듈에 필요 하지 않도록 합니다. 단일 CComPolyObject 개체는 두 경우를 처리합니다. 이 모듈에 존재 하는 vtable의 복사본 하나만 함수 중 하나의 복사본을 의미 합니다. 귀하의 vtable 큰 경우이 실질적으로 모듈 크기를 줄일 수 있습니다. 그러나, 귀하의 vtable 작은 경우 CComPolyObject 를 사용 하 여 발생할 수 있습니다 약간 더 큰 모듈 크기는 집계 또는 테이블인 개체에 대 한 최적화 되지 않은 때문에 CComObject , CComAggObject 그리고。

ATL 개체 마법사를 사용 하 여 모든 권한 또는 Internet Explorer 컨트롤을 만드는 경우 개체에 DECLARE_POLY_AGGREGATABLE 매크로 자동으로 선언。

ATL 매크로 및 전역 함수

참고 항목

CComPolyObject, CComAggObject, CComObject

Index