Creating an Aggregated Object
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.
Note
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.