共用方式為


彙總

指示此物件彙總 CLSID 所指定的物件。

[ aggregates( 
   clsid, 
   variable_name 
) ]

參數

  • clsid
    指定可彙總物件的 CLSID。

  • variable_name
    插入變數的名稱。 這個變數包含 IUnknown 要彙總的物件。

備註

當套用至物件, 的彙總 C++ 屬性實作的物件正在進行彙總之外部包裝函式 (藉由指定clsid)。

這個屬性不能 coclassprogid,或 vi_progid 屬性 (或另一個屬性,表示其中一種) 也會套用到相同的項目。 如果使用任何的單一屬性時,會自動套用其他兩個。 比方說,如果 progid 被套用的話, vi_progidcoclass 也會套用。

ATL 專案

如果使用 ATL 專案中使用這個屬性,屬性的行為就會變更。 首先,下列項目會加入至目標物件的 COM 對應:

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND(_m_spAttrXXX, clsid)

第二個, DECLARE_GET_CONTROLLING_UNKNOWN 也會加入巨集。

範例

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

// requires 'aggregatable.dll'
// see aggregatable attribute to create 'aggregatable.dll'
class DECLSPEC_UUID("1a8369cc-1c91-42c4-befa-5a5d8c9d2529") CMyClass;

[module (name="MYObject")];
[object, uuid("ab006d85-e754-47c5-9ef4-2744ff32a20c")]
__interface IObject
{
};

[ coclass, aggregates(__uuidof(CMyClass)), 
  uuid("91cb2c06-8931-432a-baac-206e55c4edfb")]
struct CObject : IObject
{
   int i;
};

需求

屬性內容

適用於

類別,struct

可重複

必要的屬性

一或多項動作: coclassprogid,或 vi_progid

無效的屬性

None

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

請參閱

參考

Aggregation

Aggregatable

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

其他資源

COM 屬性

類別屬性

Typedef、Enum、Union 和 Struct 屬性

Attributes Samples