分享方式:


aggregatable

表示類別支持匯總。

語法

[ aggregatable(value) ]

參數

value
(選擇性)參數,指出 COM 物件何時可以匯總:

  • never 無法匯總 COM 物件。

  • allowed 您可以直接建立 COM 物件,也可以加以匯總。 這是預設值。

  • always COM 對象無法直接建立,而且只能匯總。 當您呼叫 CoCreateInstance 這個物件時,您必須指定匯總物件的 IUnknown 介面(控制 IUnknown)。

備註

可匯總C++屬性的功能與可匯總的 MIDL 屬性相同。 這表示編譯程式會將可匯總的屬性傳遞至產生的 .idl 檔案。

此屬性需要 coclassprogidvi_progid 屬性 (或表示上述其中一項的另一個屬性) 也套用至相同的項目。 如果使用任何單一屬性,則會自動套用其他兩項。 例如,如果 progid 已套用 , vi_progid 也會 coclass 套用 。

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
可重複 No
必要屬性 下列一或多個專案: coclassprogidvi_progid
無效屬性

如需有關屬性內容的詳細資訊,請參閱 屬性內容

另請參閱

IDL 屬性
類別屬性
Typedef、Enum、Union 和 Struct 屬性
彙總