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

  1. Adicione um IUnknown ponteiro ao objeto de classe e inicialize-o para NULL no construtor.

  2. Substitua FinalConstruct para criar a agregação.

  3. Use o ponteiro IUnknown, definido na Etapa 1, como o segundo parâmetro para as macros COM_INTERFACE_ENTRY_AGGREGATE.

  4. 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.

Confira também

Princípios básicos de objetos COM da ATL