Sdílet prostřednictvím


KAMENIVO

Označuje, že objekt agreguje určený identifikátor CLSID objektu.

[ aggregates(
   clsid,
   variable_name
) ]

Parametry

  • clsid
    Určuje identifikátor CLSID objektu agregovatelné.

  • variable_name
    Název proměnné, která má být vložen.Tato proměnná obsahuje IUnknown objektu, ve kterém provádíte souhrn.

Poznámky

Když aplikujete na objekt, agregáty implementuje C++ atribut objektu jsou agregovány krycím (podle clsid).

Tento atribut vyžaduje, aby coclass, progid, nebo vi_progid atributu (nebo jiný atribut, který vyplývá z nich) také u téhož prvku.Pokud je použit libovolný jeden atribut, další dvě jsou automaticky použity.Například pokud progid je vi_progid a coclass jsou také použity.

Projekty ATL

Pokud tento atribut je použit v rámci projektu, který používá ATL chování změny atributů.Cílový objekt COM mapy je nejprve přidána následující položka:

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND(_m_spAttrXXX, clsid)

Druhý, DECLARE_GET_CONTROLLING_UNKNOWN je také přidáno makro.

Příklad

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

Požadavky

Atribut kontextu

V aplikacích

Třída,struct

Opakovatelné

Ano

Požadované atributy

Jeden nebo více z následujících: coclass, progid, nebo vi_progid.

Neplatné atributy

Žádná

Další informace o kontextech atribut, viz Kontexty atribut.

Viz také

Referenční dokumentace

Aggregation

Aggregatable

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

Další zdroje

Atributy modelu COM

Atributy třídy

Definice TypeDef, Enum, unie a struktura atributy

Attributes Samples