This class implements IUnknown for a nonaggregated object, but does not increment the module lock count in the constructor.
template< class Base > class CComObjectNoLock : public Base
Your class, derived from CComObjectRoot or CComObjectRootEx, as well as from any other interface you want to support on the object.
ATL uses CComObjectNoLock internally for class factories. In general, you will not use this class directly.