Udostępnij za pośrednictwem


aggregates

Wskazuje, że obiekt agregatów obiektu określonego przez identyfikator CLSID.

[ aggregates( 
   clsid, 
   variable_name 
) ]

Parametry

  • clsid
    Określa identyfikator CLSID obiektu kumulowane.

  • variable_name
    Nazwa zmiennej, która ma być wstawiony.Ta zmienna zawiera IUnknown obiektu sumowanej.

Uwagi

Po zastosowaniu do obiektu, agregatów atrybut C++ implementuje zewnętrznym owinięciu dla obiektu sumowanej (określonej przez clsid).

Atrybut ten wymaga, aby coclass, progid, lub vi_progid atrybutu (lub inny atrybut, który oznacza jeden z tych) również być stosowane do tego samego elementu.Każdy pojedynczy atrybut jest używany, pozostałe dwie są stosowane automatycznie.Na przykład jeśli progid jest stosowany, vi_progid i coclass są również stosowane.

Projekty ATL

Jeśli ten atrybut jest używany w ramach projektu, który używa ATL, zmienia zachowanie atrybutu.Po pierwsze dodaje się mapa COM obiekt docelowy następujący wpis:

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND(_m_spAttrXXX, clsid)

Po drugie, DECLARE_GET_CONTROLLING_UNKNOWN makro jest również dodawane.

Przykład

// 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;
};

Wymagania

Atrybutu kontekstu

Stosuje się do

Klasa,struct

Powtarzalne

Tak

Wymagane atrybuty

Jeden lub więcej z następujących czynności: coclass, progid, lub vi_progid.

Nieprawidłowe atrybuty

Brak

Aby uzyskać więcej informacji na temat kontekstów atrybutu, zobacz Kontekstów atrybutu.

Zobacz też

Informacje

Aggregation

Aggregatable

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

Inne zasoby

Atrybuty COM

Atrybuty klasy

Atrybuty Typedef, Enum, Union oraz Struct

Attributes Samples