CComClassFactory2

templatelt, classe licence>
Class CComClassFactory2 : public CComClassFactory2Base,
licence

Paramètres

licence

Une classe qui implémente les fonctions statiques suivantes:

CComClassFactory2 implémente la IClassFactory2 interface, qui est une extension de IClassFactory. IClassFactory2 contrôles création d'objet grâce à une licence. Une usine de classe exécutant sur une machine à sous licence peut fournir une clé de licence de run-time. Cette clé de licence permet à une application d'instancier des objets lorsqu'il n'existe pas d'une licence complète de machine.

Objets ATL acquièrent normalement une fabrique de classe en dérivant de CComCoClass. Cette catégorie comprend la macro DECLARE_CLASSFACTORY, qui déclare CComClassFactory la fabrique de classe par défaut. Pour utiliser CComClassFactory2, spécifier la macro DECLARE_CLASSFACTORY2 dans la définition de classe de votre objet. Par exemple:

classe CMyClass:..., CComCoClasslt public ; ... >
{
public :
   DECLARE_CLASSFACTORY2(CMyLicense)

...
}

CMyLicense, le paramètre de modèle de CComClassFactory2, doit implémenter les fonctions statiques, VerifyLicenseKey, GetLicenseKeyet IsLicenseValid. Voici un exemple d'une classe de licence simple:

classe CMyLicense
{
protégé :
 nbsp ; static BOOL VerifyLicenseKey(BSTR bstr)
   {
      USES_CO&NVERSION ;
      retour! lstrcmp(OLE2T(bstr), _T ("ma clé de licence de run-time")) ;
   }

static BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {
      USES_CONVERSION ;
      * pBstr = SysAllocString (T2OLE (_T ("ma clé de licence de run-time"))) ; 
      Return TRUE ;
   }

static BOOL IsLicenseValid() {return TRUE;}
}

CComClassFactory2 dérive de CComClassFactory2Base et de licence. CComClassFactory2Base, a à son tour, dérive de IClassFactory2 et CComObjectRootExlt ; CComGlobalsThreadModel >.

# include lt;atlcom.h>

Membres de classe

Voir aussi  ;CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel

Index