aggregatable
Wskazuje, że klasa obsługuje agregacji.
[ aggregatable(
value
) ]
Parametry
wartość (opcjonalnie)
Parametr wskazuje, kiedy mogą zostać zagregowane obiektu COM:nigdy nie obiektu COM nie może być łączone.
dozwolone obiektu COM można utworzyć bezpośrednio lub mogą zostać zagregowane.Jest to wartość domyślna.
zawsze obiekt COM nie można utworzyć bezpośrednio i wyłącznie mogą zostać zagregowane.Gdy wywołanie CoCreateInstance dla tego obiektu, należy określić obiekt agregację IUnknown interfejsu (sterowanie IUnknown).
Uwagi
Kumulowalnych atrybut C++ ma taką samą funkcjonalność jak kumulowalnych MIDL atrybutu.Oznacza to, że kompilator będzie przekazywać kumulowalnych atrybutu poprzez do pliku wygenerowanego .idl.
Atrybut ten wymaga, aby coclass, progid, lub vi_progid atrybutu (lub inny atrybut, który oznacza jeden z tych) również być stosowane do tego samego elementu.Każdy pojedynczy atrybut jest używany, pozostałe dwie są stosowane automatycznie.Na przykład jeśli progid jest stosowany, vi_progid i coclass są również stosowane.
Projekty ATL
Jeśli ten atrybut jest używany w ramach projektu, który używa ATL, zmienia zachowanie atrybutu.Oprócz opisane wcześniej zachowanie atrybut dodaje również jeden z następujących makr do klasy docelowej:
Wartość parametru |
Wstawiony makra |
---|---|
Nigdy nie |
|
Dozwolone |
|
Zawsze |
Przykład
// 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 {};
Wymagania
Atrybutu kontekstu
Stosuje się do |
Klasa,struct |
Powtarzalne |
Nr |
Wymagane atrybuty |
Jeden lub więcej z następujących czynności: coclass, progid, lub vi_progid. |
Nieprawidłowe atrybuty |
Brak |
Aby uzyskać więcej informacji na temat kontekstów atrybutu, zobacz Kontekstów atrybutu.