aggregatable
Wskazuje, że klasa obsługuje agregację.
Składnia
[ aggregatable(value) ]
Parametry
wartość
(Opcjonalnie) Parametr wskazujący, kiedy można agregować obiekt COM:
never
Nie można agregować obiektu COM.allowed
Obiekt COM można utworzyć bezpośrednio lub można go agregować. Jest to opcja domyślna.always
Nie można utworzyć obiektu COM bezpośrednio i można go agregować tylko. Podczas wywoływaniaCoCreateInstance
tego obiektu należy określić interfejs obiektuIUnknown
agregacji (kontrolkaIUnknown
).
Uwagi
Atrybut aggregatable języka C++ ma tę samą funkcjonalność co aggregatable ATRYBUT MIDL. Oznacza to, że kompilator przekaże atrybut aggregatable do wygenerowanego pliku idl.
Ten atrybut wymaga również zastosowania coclass, progid lub vi_progid atrybutu (lub innego atrybutu, który implikuje jeden z tych) również do tego samego elementu. Jeśli jest używany jakikolwiek pojedynczy atrybut, pozostałe dwa 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 projekcie korzystającym z atl, zachowanie atrybutu ulega zmianie. Oprócz opisanego wcześniej zachowania atrybut dodaje również jedno z następujących makr do klasy docelowej:
Wartość parametru | Wstawione makro |
---|---|
Never |
DECLARE_NOT_AGGREGATABLE |
Allowed |
DECLARE_POLY_AGGREGATABLE |
Always |
DECLARE_ONLY_AGGREGATABLE |
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
Kontekst atrybutu | Wartość |
---|---|
Dotyczy | class , struct |
Powtarzalne | Nie. |
Wymagane atrybuty | Co najmniej jeden z następujących elementów: coclass , progid lub vi_progid . |
Nieprawidłowe atrybuty | Brak |
Aby uzyskać więcej informacji na temat kontekstów atrybutów, zobacz Konteksty atrybutów.
Zobacz też
Atrybuty IDL
Atrybuty klasy
Atrybuty Typedef, Enum, Union oraz Struct
Agregacja