Aracılığıyla paylaş


CComClassFactory2 sınıfı

Bu sınıf uygulayan IClassFactory2 arabirimi.

template <
   class license
>
class CComClassFactory2 : public IClassFactory2,
   public CComObjectRootEx<CComGlobalsThreadModel>,
   public license

Parametreler

  • Lisans
    Sınıf statik aşağıdaki işlevleri gerçekleştirir:

    • static bool VerifyLicenseKey (bstrbstr**);**

    • static BOOL GetLicenseKey( DWORD dwReserved**, BSTR*** pBstr );

    • static bool IsLicenseValid ();

Üyeler

86sktbds.collapse_all(tr-tr,VS.110).gifPublic yöntemler

Ad

Description

CComClassFactory2::CreateInstance

Belirtilen CLSID bir nesne oluşturur.

CComClassFactory2::CreateInstanceLic

Belirli bir lisans anahtarı, belirtilen CLSID bir nesne oluşturur.

CComClassFactory2::GetLicInfo

Sınıf üreticisi lisans yeteneklerini tanımlayan bilgileri alır.

CComClassFactory2::LockServer

Sınıf üreteci bellekte kilitler.

CComClassFactory2::RequestLicKey

Oluşturur ve bir lisans anahtarı döndürür.

Notlar

CComClassFactory2uygulayan IClassFactory2 bir uzantısıdır arabirimi, IClassFactory.IClassFactory2 denetimleri nesne oluşturma lisans aracılığıyla.Bir sınıf fabrikası lisanslı bir makinede çalıştırma çalışma zamanı lisans anahtarı sağlar.Bu lisans anahtarı tam makine lisans yoksa nesne örneğini oluşturmak bir uygulama sağlar.

atl nesneleri normal Sunucusu'ndan bir sınıf fabrikası türetmek tarafından CComCoClass.Bu sınıf içeren makro declare_classfactory, hangi bildirir CComClassFactory varsayılan sınıf üreteci olarak.Kullanmak için CComClassFactory2, belirtmek DECLARE_CLASSFACTORY2 , nesnenin sınıf tanımının makro.Örne?in:

class ATL_NO_VTABLE CMyClass2 :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMyClass2, &CLSID_MyClass>,
   public IDispatchImpl<IMyClass, &IID_IMyClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
   public IDispatchImpl<IMyDualInterface, &__uuidof(IMyDualInterface), &LIBID_NVC_ATL_COMLib, /* wMajor = */ 1, /* wMinor = */ 0>
{
public:
   DECLARE_CLASSFACTORY2(CMyLicense)

   // Remainder of class declaration omitted

CMyLicense, şablon parametresi CComClassFactory2, statik işlevleri uygulamalıdır VerifyLicenseKey, GetLicenseKey, ve IsLicenseValid.Basit lisans sınıfının bir örneği aşağıdadır:

class CMyLicense
{
protected:
   static BOOL VerifyLicenseKey(BSTR bstr)
   {
      USES_CONVERSION;
      return !lstrcmp(OLE2T(bstr), _T("My run-time license key"));
   }

   static BOOL GetLicenseKey(DWORD /*dwReserved*/, BSTR* pBstr) 
   {
      USES_CONVERSION;
      *pBstr = SysAllocString( T2OLE(_T("My run-time license key"))); 
      return TRUE;
   }

   static BOOL IsLicenseValid() {  return TRUE; }
};

CComClassFactory2Her iki klasörden de türeyen CComClassFactory2Base ve Lisans.CComClassFactory2Base, sırasıyla türetildiği IClassFactory2 ve CComObjectRootEx < CComGlobalsThreadModel >.

Devralma hiyerarşisi

CComObjectRootBase

license

CComObjectRootEx

IClassFactory2

CComClassFactory2

Gereksinimler

Başlık: atlcom.h

Ayrıca bkz.

Başvuru

CComClassFactoryAutoThread sınıfı

CComClassFactorySingleton sınıfı

CComObjectRootEx sınıfı

CComGlobalsThreadModel

Diğer Kaynaklar

atl sınıfına genel bakış