DECLARE_POLY_AGGREGATABLE
Especifica que uma instância de CComPolyObject < x > é criada quando o objeto é criado.
DECLARE_POLY_AGGREGATABLE(
x
)
Parâmetros
- x
[in] o nome do objeto da classe que você está definindo como aggregatable ou não aggregatable.
Comentários
Durante a criação, o valor de desconhecido externo é verificado.Se é NULO, IUnknown é implementado para um objeto nonaggregated.Se o não externo não é NULO, IUnknown é implementado para um objeto agregado.
A vantagem de usar DECLARE_POLY_AGGREGATABLE é que você evita ter CComAggObject e CComObject em seu módulo para manipular o caso agregados e nonaggregated.Identificadores únicos de objeto de CComPolyObject ambos os casos.Isso significa que apenas uma cópia de vtable e uma cópia das funções existem no seu módulo.Se seu vtable é grande, isso pode reduzir significativamente o tamanho do módulo.Em o entanto, se seu vtable é pequeno, usar CComPolyObject pode resultar em um tamanho maior um pouco de módulo porque não é otimizado para um objeto agregado ou nonaggregated, como é CComAggObject e CComObject.
A macro de DECLARE_POLY_AGGREGATABLE está declarado automaticamente no seu objeto se você usar o assistente de controle de ATL para criar um controle completo.
Requisitos
Cabeçalho: atlcom.h