CComClassFactory2

templatelt; sınıf Lisans>
CComClassFactory2 sınıfı: Genel CComClassFactory2Base
Lisans

Parametreleri

lisans

Aşağıdaki işlevler statik uygulayan bir sınıf:

CComClassFactory2 uygulayan bir uzantısıdır IClassFactory2 arabirimi, IClassFactory. IClassFactory2 denetimleri nesne oluşturma bir lisans. Bir sınıf fabrikası lisanslı bir makine üzerinde yürütülen bir çalışma ruhsat anahtar sağlayabilir. Bu lisans anahtarı uygulama nesnelerinin tam makine lisans yoksa oluşturmaya izin verir.

Atl nesneleri normal CComCoClassya göre bir sınıf fabrikası satın alır. Bu sınıf, hangi CComClassFactory varsayılan sınıf fabrikası olarak ilan declare_classfactory, makro içerir. CComClassFactory2kullanmak için nesnenin sınıf tanımında DECLARE_CLASSFACTORY2 makro belirtin. Örneğin:

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

...
}

CMyLicense, CComClassFactory2, şablona parametre statik VerifyLicenseKey, GetLicenseKeyve IsLicenseValidişlevleri yerine getirmeniz gerekir. Aşağıdaki basit lisans sınıf örneğidir:

sınıf CMyLicense
{
Korumalı:
 nbsp; static bool VerifyLicenseKey(BSTR bstr)
   {
      USES_CO&NVERSION;
      dönmek! lstrcmp(OLE2T(bstr), _t ("benim çalışma ruhsat anahtar"));
   }

static bool GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {}
      USES_CONVERSION;
      * pBstr SysAllocString = (T2OLE (_t ("benim çalışma ruhsat anahtar"))); 
      true döndürür;
   }

static bool IsLicenseValid() {return true;}
}

CComClassFactory2 , hem CComClassFactory2Base hem de Lisanstüretilmiştir. CComClassFactory2Base, sırasıyla IClassFactory2 ve CComObjectRootExlt türetilmiştir; CComGlobalsThreadModel >.

# include lt;atlcom.h>

Sınıf üyeleri

Ayrıca bkz: CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel

Index