Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Indique que la classe prend en charge l’agrégation.
Syntaxe
[ aggregatable(value) ]
Paramètres
valeur
(Facultatif) Paramètre permettant d’indiquer quand l’objet COM peut être agrégé :
neverImpossible d’agréger l’objet COM.allowedL’objet COM peut être créé directement ou il peut être agrégé. Il s’agit de la valeur par défaut.alwaysL’objet COM ne peut pas être créé directement et ne peut être agrégé que. Lorsque vous appelezCoCreateInstancecet objet, vous devez spécifier l’interface deIUnknownl’objet d’agrégation (contrôleIUnknown).
Notes
L’attribut C++ aggregatable a la même fonctionnalité que l’attribut MIDL aggregatable . Cela signifie que le compilateur transmet l’attribut aggregatable au fichier .idl généré.
Cet attribut exige que l’attribut coclass, progidou vi_progid (ou un autre attribut qui implique l’un de ceux-ci) soit également appliqué au même élément. Si un attribut unique est utilisé, les deux autres sont appliqués automatiquement. Par exemple, si progid elle est appliquée et coclass vi_progid appliquée également.
Projets ATL
Si vous utilisez cet attribut dans un projet qui utilise ATL, le comportement de l’attribut change. Outre le comportement décrit précédemment, l’attribut ajoute également l’une des macros suivantes à la classe cible :
| Valeur de paramètre | Macro insérée |
|---|---|
Never |
DECLARE_NOT_AGGREGATABLE |
Allowed |
DECLARE_POLY_AGGREGATABLE |
Always |
DECLARE_ONLY_AGGREGATABLE |
Exemple
// 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 {};
Spécifications
| Contexte d’attribut | Valeur |
|---|---|
| S’applique à | class, struct |
| Renouvelable | Non |
| Attributs requis | Un ou plusieurs des éléments suivants : coclass, progidou vi_progid. |
| Attributs non valides | Aucun(e) |
Pour plus d'informations sur les contextes d'attribut, consultez Contextes d'attribut.
Voir aussi
Attributs IDL
Attributs de classe
Attributs Typedef, Enum, Union et Struct
Agrégation