aggregates
表示物件會彙總 CLSID 所指定的物件。
語法
[ aggregates(clsid, variable_name) ]
參數
clsid
指定可彙總物件的 CLSID。
variable_name
要插入的變數名稱。 這個變數包含 IUnknown
要匯總之物件的 。
備註
套用至物件時, aggregates C++ 屬性會實作所彙總物件的外部包裝函式 (透過 clsid
所指定)。
此屬性需要 coclass、 progid或 vi_progid 屬性 (或表示上述其中一項的另一個屬性) 也套用至相同的項目。 如果使用任何單一屬性,則會自動套用其他兩項。 例如,如果 progid
已套用 , vi_progid
也會 coclass
套用 。
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;
};
需求
屬性內容 | 值 |
---|---|
適用於 | class , struct |
可重複 | Yes |
必要屬性 | 下列一或多個專案: coclass 、 progid 或 vi_progid 。 |
無效屬性 | 無 |
如需有關屬性內容的詳細資訊,請參閱 屬性內容。
另請參閱
COM 屬性
類別屬性
Typedef、Enum、Union 和 Struct 屬性
彙總
可彙總
COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND