다음을 통해 공유


aggregatable

클래스가 집계를 지원한다는 것을 나타냅니다.

구문

[ aggregatable(value) ]

매개 변수

value
(선택 사항) COM 개체를 집계할 수 있는 시기를 나타내는 매개 변수입니다.

  • never COM 개체를 집계할 수 없습니다.

  • allowed COM 개체를 직접 만들거나 집계할 수 있습니다. 기본값입니다.

  • always COM 개체는 직접 만들 수 없으며 집계만 가능합니다. 이 개체를 호출 CoCreateInstance 할 때 집계 개체의 IUnknown 인터페이스(제어 IUnknown)를 지정해야 합니다.

설명

집계 가능한 C++ 특성에는 집계 가능한 MIDL 특성과 동일한 기능이 있습니다. 즉, 컴파일러가 집계 가능한 특성을 생성된 .idl 파일로 전달합니다.

이 특성을 사용하려면 coclass, progid또는 vi_progid 특성(또는 이 중 하나를 암시하는 다른 특성)을 동일한 요소에 적용해야 합니다. 단일 특성을 사용하는 경우 다른 두 특성도 자동으로 적용됩니다. 예를 들어 적용 vi_progid 되고 coclass 적용된 경우 progid 입니다.

ATL 프로젝트

ATL을 사용하는 프로젝트 내에서 이 특성을 사용하는 경우 특성의 동작이 변경됩니다. 이 특성은 앞에서 설명한 동작 외에도 다음 매크로 중 하나를 대상 클래스에 추가합니다.

매개 변수 값 삽입된 매크로
Never DECLARE_NOT_AGGREGATABLE
Allowed DECLARE_POLY_AGGREGATABLE
Always DECLARE_ONLY_AGGREGATABLE

예시

// cpp_attr_ref_aggregatable.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"

[module(name="MyModule")];

[ coclass, aggregatable(allowed),
  uuid("1a8369cc-1c91-42c4-befa-5a5d8c9d2529")]
class CMyClass {};

요구 사항

특성 컨텍스트
적용 대상: class, struct
반복 가능 아니요
필수 특성 다음 중 하나 이상: coclass, progid또는 vi_progid.
잘못된 특성 None

특성 컨텍스트에 대한 자세한 내용은 특성 컨텍스트를 참조하세요.

참고 항목

IDL 특성
클래스 특성
Typedef, Enum, Union 및 Struct 특성
집계