Share via


CComClassFactorySingleton Class

This class derives from CComClassFactory and uses CComObjectGlobal to construct a single object.

Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

template< 
class T 
> 
class CComClassFactorySingleton : 
public CComClassFactory

Parameters

  • T
    Your class.

CComClassFactorySingleton derives from CComClassFactory and uses CComObjectGlobal to construct a single object. Each call to the CreateInstance method simply queries this object for an interface pointer.

Members

Public Methods

Name

Description

CComClassFactorySingleton::CreateInstance

Queries m_spObj for an interface pointer.

Public Data Members

Name

Description

CComClassFactorySingleton::m_spObj

The CComObjectGlobal object constructed by CComClassFactorySingleton.

Remarks

ATL objects normally acquire a class factory by deriving from CComCoClass. This class includes the macro DECLARE_CLASSFACTORY, which declares CComClassFactory as the default class factory. To use CComClassFactorySingleton, specify the DECLARE_CLASSFACTORY_SINGLETON macro in your object's class definition. For example:

class ATL_NO_VTABLE CMySingletonClass :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMySingletonClass, &CLSID_MySingletonClass>,
   public IMySingletonClass
{
public:
   DECLARE_CLASSFACTORY_SINGLETON(CMySingletonClass)

   // Remainder of class declaration omitted.

Inheritance Hierarchy

CComObjectRootBase

CComObjectRootEx

IClassFactory

CComClassFactory

CComClassFactorySingleton

Requirements

Header: atlcom.h

See Also

Reference

IClassFactory

CComClassFactory2 Class

CComClassFactoryAutoThread Class

CComObjectRootEx Class

CComGlobalsThreadModel

Other Resources

ATL Class Overview