Creating an Aggregated Object
La agregación delega las llamadas de IUnknown , proporcionando un puntero a IUnknown del objeto externo al objeto interno.
para crear un objeto agregado
Agregue un puntero de IUnknown al objeto de la clase e inicialícela a NULL en el constructor.
Reemplazo FinalConstruct para crear el agregado.
Utilice el puntero de IUnknown , definido en el paso 1, como segundo parámetro para las macros de COM_INTERFACE_ENTRY_AGGREGATE .
Reemplazo FinalRelease para liberar el puntero de IUnknown .
Nota
Si utiliza y libera una interfaz del objeto agregado durante FinalConstruct, debe agregar la macro de DECLARE_PROTECT_FINAL_CONSTRUCT a la definición del objeto de clase.