Udostępnij za pośrednictwem


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

DECLARE_NOT_AGGREGATABLE

Dozwolone

DECLARE_POLY_AGGREGATABLE

Zawsze

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

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.

Zobacz też

Informacje

Aggregation

Inne zasoby

atrybuty IDL

Atrybuty klasy

Atrybuty Typedef, Enum, Union oraz Struct

Attributes Samples