templatelt; клас ліцензія>
клас CComClassFactory2: Громадська CComClassFactory2Base, ліцензію
Параметри
ліцензія
Клас, який реалізує такі статичні функції:
CComClassFactory2 реалізує на IClassFactory2 інтерфейс, який є продовженням з IClassFactory. Створення об'єкта керування IClassFactory2 через ліцензію. Виконання заводу клас на ліцензованих машина може надати під час ліцензійний ключ. Цей ліцензійний ключ дозволяє програмі примірник об'єкти, коли повного машина-ліцензія не існує.
ATL об'єкти зазвичай придбати клас заводу з CComCoClass. Цей клас включає макросу DECLARE_CLASSFACTORY, яка заявляє, що CComClassFactory як заводу клас за замовчуванням. Використовувати CComClassFactory2, укажіть макрос DECLARE_CLASSFACTORY2 у ваш об'єкт класу визначення. Наприклад:
клас CMyClass:..., громадської CComCoClasslt; ... >
{
готелю:
DECLARE_CLASSFACTORY2(CMyLicense)
...
}
CMyLicense, параметр шаблон, щоб CComClassFactory2, повинні виконувати статичні функції, VerifyLicenseKey, GetLicenseKeyі IsLicenseValid. Нижче наведено приклад простий ліцензію класу:
клас CMyLicense
{
Охоронювані:
nbsp; статичний BOOL VerifyLicenseKey(BSTR bstr)
{
USES_CO&NVERSION;
повернення! lstrcmp(OLE2T(bstr), _T ("мій час виконання ліцензійний ключ"));
}
статичний BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {
USES_CONVERSION;
* pBstr = SysAllocString (T2OLE (_T ("мій час виконання ліцензійний ключ")));
повертає TRUE;
}
статичний BOOL IsLicenseValid() {зворотна істина};
}
CComClassFactory2 походить від CComClassFactory2Base і ліцензії. CComClassFactory2Base, у свою чергу, походить від IClassFactory2 і CComObjectRootExlt; CComGlobalsThreadModel >.
# включити lt;atlcom.h>
Дивіться також CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel