Partager via


Classe de CComClassFactory

Cette classe implémente l'interface d' IClassFactory .

class CComClassFactory : public IClassFactory, 
   public CComObjectRootEx< CComGlobalsThreadModel >

Membres

8bycx62d.collapse_all(fr-fr,VS.110).gifMéthodes publiques

Nom

Description

CComClassFactory::CreateInstance

Crée un objet de le CLSID spécifié.

CComClassFactory::LockServer

Verrouille la fabrique de classe en mémoire.

Notes

CComClassFactory implémente l'interface d' IClassFactory , qui contient des méthodes pour créer un objet CLSID particulier, ainsi que verrouille la fabrique de classe en mémoire pour permettre de nouveaux objets à créer plus rapidement.IClassFactory doit être implémenté pour chaque classe à que vous stockez dans la base de registres et que vous assignez à le CLSID.

Les objets ATL dans normalement une fabrique de classe en dérivant de CComCoClass.Cette classe inclut un DECLARE_CLASSFACTORY, qui déclare CComClassFactory comme une fabrique de classe par défaut.Pour remplacer cette valeur par défaut, spécifiez l'une des macros d' DECLARE_CLASSFACTORYXXX dans la définition de classe.Par exemple, la macro de DECLARE_CLASSFACTORY_EX utilise la classe spécifiée pour la fabrique de classe :

class ATL_NO_VTABLE CMyCustomClass :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMyCustomClass, &CLSID_MyCustomClass>,
   public IDispatchImpl<IMyCustomClass, &IID_IMyCustomClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
   DECLARE_CLASSFACTORY_EX(CMyClassFactory)

   // Remainder of class declaration omitted.

La définition de classe ci-dessus spécifie que CMyClassFactory sera utilisé comme fabrique de classe par défaut de l'objet.CMyClassFactory doit dériver d' CComClassFactory et remplacer CreateInstance.

ATL fournit trois autres macros qui déclarent une fabrique de classe :

Configuration requise

Header: atlcom.h

Voir aussi

Référence

Classe de CComObjectRootEx

CComGlobalsThreadModel

Autres ressources

Vue d'ensemble de la classe ATL