CComClassFactory2

Templatelt; -Klasse Lizenz>
Klasse CComClassFactory2: öffentliche CComClassFactory2Base,
Lizenz

Parameter

lizenz

Eine Klasse, die implementiert die folgenden statischen Funktionen:

CComClassFactory2 implementiert die IClassFactory2 -Schnittstelle, die eine Erweiterung der IClassFactory. IClassFactory2 Steuerelemente Objekterstellung durch eine Lizenz. Ein Klasse Werk ausführen auf einem lizenzierten Computer bieten einen Runtime-Lizenz-Schlüssel. Diese Lizenz-Schlüssel ermöglicht es einer Anwendung Objekte instanziiert, wenn eine vollständige Maschine Lizenz nicht vorhanden ist.

ATL-Objekte erwerben normalerweise eine Klassenfactory durch Ableiten von CComCoClass abgeleitet. Diese Klasse enthält das Makro DECLARE_CLASSFACTORY, die CComClassFactory als die Standard-Factory-Klasse deklariert. Um CComClassFactory2zu verwenden, geben Sie das DECLARE_CLASSFACTORY2 -Makro in Klassendefinition des Objekts. Zum Beispiel:

klasse CMyClass:..., öffentlichen CComCoClasslt; ... >
{
Öffentliche:
   DECLARE_CLASSFACTORY2(CMyLicense)

...
}

CMyLicense, Vorlagenparameter zu CComClassFactory2, müssen die statischen Funktionen VerifyLicenseKey, GetLicenseKeyund IsLicenseValidimplementieren. Folgendes ist ein Beispiel für eine einfache Lizenzklasse:

klasse CMyLicense
{
geschützt:
 &Nbsp; static BOOL VerifyLicenseKey(BSTR bstr)
   {
      DAS USES_CONVERSION;
      zurück! lstrcmp(OLE2T(bstr), _T ("meine Lizenzschlüssel Laufzeit-"));
   }

static BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {}
      DAS USES_CONVERSION;
      * pBstr = SysAllocString (T2OLE (_T ("meine Lizenzschlüssel Laufzeit-"))); 
      TRUE zurück;
   }

static BOOL IsLicenseValid() {RETURNTRUE;}
}

CComClassFactory2 leitet sich von CComClassFactory2Base und Lizenz. CComClassFactory2Base, leitet sich wiederum von IClassFactory2 und CComObjectRootExlt; CComGlobalsThreadModel >.

# include lt;atlcom.h>

Klassenmember

Siehe auch&Nbsp;CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel

Index