aggregatable
indica que la clase admite la agregación.
[ aggregatable(
value
) ]
Parámetros
valor (opcional)
Un parámetro para indicar cuando el objeto COM puede agregarse:el objeto COM denuncano puede agregarse.
el objeto COM depermitidoThe puede crear directamente o puede agregarse.Éste es el valor predeterminado.
el objeto COM desiempreno se puede crear directamente y se puede agregar únicamente.Cuando se llama a CoCreateInstance para este objeto, debe especificar la interfaz de IUnknown de objeto que agrega ( IUnknownque controla).
Comentarios
el atributo de aggregatable C++ tiene la misma funcionalidad que el atributo de aggregatable MIDL.Esto significa que el compilador pasará el atributo de aggregatable hasta el archivo generado .idl.
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.Además de comportamiento previamente descrito, el atributo también agrega una de las macros siguientes a la clase de destino:
Valor de parámetro |
macro insertada |
---|---|
Nunca |
|
Se permite |
|
Siempre |
Ejemplo
// cpp_attr_ref_aggregatable.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"
[module(name="MyModule")];
[ coclass, aggregatable(allowed),
uuid("1a8369cc-1c91-42c4-befa-5a5d8c9d2529")]
class CMyClass {};
Requisitos
Contexto de atributo
Se aplica a |
clase, struct |
repetible |
No |
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.