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>
Siehe auch&Nbsp;CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel