Compartir a través de


agregados

Indica que el objeto agrega el objeto especificado por el CLSID.

[ aggregates(
   clsid,
   variable_name
) ]

Parámetros

  • clsid
    Especifica el CLSID del objeto aggregatable.

  • variable_name
    El nombre de la variable que debe incrustar.Esta variable contiene IUnknown de objeto incluido.

Comentarios

Cuando se aplica a un objeto, el atributo de agregados C++ implementa un contenedor externo para el objeto incluido (especificado por clsid).

Este atributo requiere que CoClass, ProgID, o el atributo de vi_progid (u otro atributo que implica una de estas) también se aplican al mismo elemento.Si se utiliza cualquier atributo único, los otros dos se aplica automáticamente.por ejemplo, si se aplica ProgID , vi_progid y CoClass también se aplican.

Proyectos de ATL

Si este atributo se utiliza dentro de un proyecto que utilice ATL, el comportamiento del atributo cambia.Primero, la siguiente entrada se agrega al mapa COM del objeto de destino:

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND(_m_spAttrXXX, clsid)

en segundo lugar, la macro de DECLARE_GET_CONTROLLING_UNKNOWN también se agrega.

Ejemplo

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

Requisitos

Contexto de atributo

Se aplica a

clase, struct

repetible

Atributos necesarios

Uno o más de los siguientes: CoClass, ProgID, o vi_progid.

Atributos no válidos

None

Para obtener más información sobre los contextos de atributos, vea Contextos de atributo.

Vea también

Referencia

Aggregation

Aggregatable

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

Otros recursos

Atributos COM

Atributos

Typedef, Enumeración, join, y atributos de Struct

Attributes Samples