可聚集的
指示类支持聚合。
[ aggregatable(
value
) ]
参数
值 (可选)
指示 COM 对象时的参数可聚合:从未 COM 对象不能聚合。
允许 COM 对象可以直接创建或其进行聚合。 这是默认值。
始终 COM 对象不直接创建并只能聚合。 当调用此对象的 CoCreateInstance 时,必须指定复合对象的 IUnknown 接口 (控件 IUnknown)。
备注
可聚集的 C++ 特性具有与 可聚集的 MIDL 属性相同。 这意味着编译器将通过 可聚集的 属性设置为生成的 .idl 文件。
此特性要求 coclass、 progid或 vi_progid 属性 (或表示这些中为) 的其他特性也适用于同一元素。 如果使用任何单一属性,自动应用其他两个。 例如,因此,如果 progid 是应用的,也适用 vi_progid 和 coclass 。
ATL 项目
如果此属性在使用 ATL 项目中使用,属性的行为更改。 除该前面所述的行为之外,特性也添加下面的宏之一添加到目标类:
参数值 |
插入的宏 |
---|---|
从不 |
|
允许 |
|
始终 |
示例
// 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 {};
要求
属性上下文
适用对象 |
类, struct |
可重复 |
否 |
必需的特性 |
一个或多个以下各项: coclass、 progid或 vi_progid。 |
无效的特性 |
无 |
有关属性上下文的更多信息,请参见 属性上下文。