Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Označuje, že třída podporuje agregaci.
Syntaxe
[ aggregatable(value) ]
Parametry
value
(Volitelné) Parametr označující, kdy lze objekt COM agregovat:
neverObjekt COM nelze agregovat.allowedObjekt COM lze vytvořit přímo nebo je možné ho agregovat. Tato možnost je výchozí.alwaysObjekt COM nelze vytvořit přímo a lze jej agregovat pouze. Při voláníCoCreateInstancetohoto objektu je nutné zadat agregační rozhraní objektuIUnknown(ovládací prvkyIUnknown).
Poznámky
Atribut Aggregatable C++ má stejné funkce jako aggregatable MIDL atribut. To znamená, že kompilátor předá agregatable atributu do vygenerovaného souboru .idl.
Tento atribut vyžaduje, aby se na stejný prvek použil také atribut coclass, progid nebo vi_progid (nebo jiný atribut, který napovídá jeden z těchto atributů). Pokud se použije jakýkoli jeden atribut, ostatní dva se automaticky použijí. Pokud se například progid použije a vi_progid coclass použije se také.
Projekty ATL
Pokud se tento atribut používá v projektu, který používá ATL, chování atributu se změní. Kromě dříve popsaného chování přidá atribut do cílové třídy také jedno z následujících maker:
| Hodnota parametru | Vložené makro |
|---|---|
Never |
DECLARE_NOT_AGGREGATABLE |
Allowed |
DECLARE_POLY_AGGREGATABLE |
Always |
DECLARE_ONLY_AGGREGATABLE |
Příklad
// 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 {};
Požadavky
| Kontext atributu | Hodnota |
|---|---|
| Platí pro | class, struct |
| Opakovatelný | No |
| Požadované atributy | Nejméně jedna z následujících možností: coclass, progidnebo vi_progid. |
| Neplatné atributy | Nic |
Další informace o kontextech atributů naleznete v tématu Kontexty atributů.
Viz také
IDL – atributy
Atributy třídy
Atributy klíčových slov typedef, enum, union a struct
Agregace