Aggregation delegates IUnknown calls, providing a pointer to the outer object's IUnknown to the inner object.
To create an aggregated object
- Add an IUnknown pointer to your class object and initialize it to NULL in the constructor. 
- Override FinalConstruct to create the aggregate. 
- Use the IUnknown pointer, defined in Step 1, as the second parameter for the COM_INTERFACE_ENTRY_AGGREGATE macros. 
- Override FinalRelease to release the IUnknown pointer. 
备注
If you use and release an interface from the aggregated object during FinalConstruct, you should add the DECLARE_PROTECT_FINAL_CONSTRUCT macro to the definition of your class object.