aggregierbar
Gibt an, dass die Klasse Aggregation unterstützt.
[ aggregatable(
value
) ]
Parameter
Wert (optional)
Ein Parameter, um anzugeben, wann das COM-Objekt zusammengesetzt werden kann:nie das COM-Objekt kann nicht aggregiert werden.
zulässigen das COM-Objekt kann direkt erstellt werden, oder er kann aggregiert werden.Dies ist die Standardeinstellung.
stets das COM-Objekt kann nicht direkt erstellt werden und kann nur aggregiert werden.Wenn Sie CoCreateInstance für dieses Objekt aufrufen, müssen Sie die aggregierenden IUnknown-Schnittstelle des Objekts (steuernde IUnknown) angeben.
Hinweise
Das Attribut aggregierbar C++ verfügt über die gleichen Funktionen wie das aggregierbar MIDL-Attribut.Dies bedeutet, dass der Compiler das Attribut aggregierbar die generierten IDL-Datei übergibt.
Dieses Attribut erfordert, dass Co-Klasse, ProgIDoder vi_progid-Attribut (oder ein anderes Attribut, das ein solcher Test vorhanden), bedeutet auch auf das gleiche Element übernommen werden.Wenn ein einzelnes Attribut wird, die anderen zwei automatisch angewendet werden.Wenn z. B. progid angewendet wird, werden vi_progid und coclass ebenfalls angewendet.
ATL-Projekte
Wenn dieses Attribut innerhalb eines Projekts verwendet wird, das ATL verwendet, ändert sich das Verhalten des Attributs.Zusätzlich zu den zuvor beschriebenen Verhalten fügt das Attribut auch eines der folgenden Makros der Zielklasse hinzu:
Parameterwert |
Eingefügtes Makro |
---|---|
Nie |
|
Zulässig |
|
Immer |
Beispiel
// 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 {};
Anforderungen
Attribut-Kontext
Betrifft |
Klasse, struct |
Wiederholbar |
Nein |
Erforderliche Attribute |
Ein oder mehrere der folgenden Schritte aus: coclass, progidoder vi_progid. |
Ungültige Attribute |
None |
Weitere Informationen über das kontexte finden Sie unter Attribut-Kontexte.