Compartilhar via


agregável

Indica que a classe oferece suporte à agregação.

[ aggregatable( 
   value
) ]

Parâmetros

  • valor (opcional)
    Um parâmetro para indicar quando o objeto COM pode ser agregado:

    • nunca não pode ser agregado objeto COM O.

    • permitido objeto COM O pode ser criado diretamente ou podem ser agregado.Este é o padrão.

    • sempre objeto COM O não pode ser criado diretamente e só podem ser agregado.Quando você chama CoCreateInstance para este objeto, você deve especificar o objeto de agregação IUnknown interface (o controle IUnknown).

Comentários

O agregável o atributo do C++ tem a mesma funcionalidade que o agregável atributo MIDL.Isso significa que o compilador irá passar o agregável por meio do atributo para o arquivo. idl gerado.

Este atributo requer que o coclass, progid, ou vi_progid atributo (ou outro atributo implica um deles) também ser aplicadas ao mesmo elemento.Se qualquer atributo único for usado, as outras duas são aplicadas automaticamente.Por exemplo, se progid for aplicada, vi_progid e coclass também são aplicadas.

Projetos do ATL

Se esse atributo é usado dentro de um projeto que usa a ATL, o comportamento das alterações de atributo.Além do comportamento descrito anteriormente, o atributo também adiciona uma das seguintes macros para a classe de destino:

Valor do parâmetro

Macro inserida

Nunca

DECLARE_NOT_AGGREGATABLE

Permitido

DECLARE_POLY_AGGREGATABLE

Sempre

DECLARE_ONLY_AGGREGATABLE

Exemplo

// 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 {};

Requisitos

Contexto de atributo

Se aplica a

classe,struct

Reproduzíveis

Não

Atributos obrigatórios

Um ou mais das seguintes opções: coclass, progid, ou vi_progid.

Atributos inválidos

Nenhum

Para obter mais informações sobre os contextos de atributo, consulte Atributo contextos.

Consulte também

Referência

Aggregation

Outros recursos

Atributos IDL

Atributos de classe

TypeDef, Enum, união e atributos Struct

Attributes Samples