This class manages a reference count on the module containing your Base object.
CComObjectGlobal manages a reference count on the module containing your Base object. CComObjectGlobal ensures your object will not be deleted as long as the module is not released. Your object will only be removed when the reference count on the entire module goes to zero.
For example, using CComObjectGlobal, a class factory can hold a common global object that is shared by all its clients.