This class implements IUnknown for a nonaggregated object.
class CComObject :
CComObject implements IUnknown for a nonaggregated object. However, calls to QueryInterface, AddRef, and Release are delegated to CComObjectRootEx.
For more information about using CComObject, see the article Fundamentals of ATL COM Objects.