CComClassFactory2

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

Index