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 |
|
Permitido |
|
Sempre |
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.