Base class for creating interfaces and for implementing interfaces. Role: CATBaseUnknown supplies the infrastructure and the basic mechanisms
to create interface abstract classes and to manage interface pointers.
It is also the base class for classes which implements interfaces
and for their extension classes because it supplies the code for
the interface methods QueryInterface,
AddRef and
Release.