Criando um objeto agregado
A agregação delega chamadas IUnknown
, fornecendo um ponteiro para IUnknown
do objeto externo para o objeto interno.
Para criar um objeto agregado
Adicione um
IUnknown
ponteiro ao objeto de classe e inicialize-o para NULL no construtor.Substitua FinalConstruct para criar a agregação.
Use o ponteiro
IUnknown
, definido na Etapa 1, como o segundo parâmetro para as macros COM_INTERFACE_ENTRY_AGGREGATE.Substitua FinalRelease para liberar o ponteiro
IUnknown
.
Observação
Se você usar e liberar uma interface do objeto agregado durante FinalConstruct
, deverá adicionar a macro DECLARE_PROTECT_FINAL_CONSTRUCT à definição do objeto de classe.