CComClassFactory2

templatelt, klasa licencji>
Klasa CComClassFactory2: CComClassFactory2Base publicznych,
licencji

Parametry

licencji

Klasa, która realizuje następujące funkcje statyczne:

CComClassFactory2 implementuje IClassFactory2 interfejsu, który jest rozszerzeniem z elementu IClassFactory. IClassFactory2 tworzenie obiektów formantów, które poprzez licencji. Klasy fabryki wykonywanych na komputerze licencjonowanych może dostarczyć klucza licencyjnego czasu wykonywania. Ten klucz licencji umożliwia aplikacji do tworzenia wystąpień obiektów, gdy licencja pełnego maszyny nie istnieje.

ATL obiektów zwykle nabyć Fabryczna klasa przez wynikające z CComCoClass. Klasa ta obejmuje makra DECLARE_CLASSFACTORY, która deklaruje CComClassFactory jako Fabryczna klasa domyślna. Aby użyć CComClassFactory2, należy określić makro DECLARE_CLASSFACTORY2 w definicji klasy użytkownika obiektu. Na przykład:

klasa CMyClass:..., CComCoClasslt publicznych; ... >
{
publiczne:
   DECLARE_CLASSFACTORY2(CMyLicense)

...
}

CMyLicense, parametr szablonu do CComClassFactory2, musi implementować funkcji statyczne, VerifyLicenseKey, GetLicenseKeyi IsLicenseValid. Oto przykład klasy proste licencji:

klasa CMyLicense
{
chronione:
 nbsp; statyczne BOOL VerifyLicenseKey(BSTR bstr)
   {
      USES_CO&NVERSION;
      Zwraca! lstrcmp(OLE2T(bstr), _T ("My klucz licencyjny run-time"));
   }

statyczne BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {}
      USES_CONVERSION;
      * pBstr = SysAllocString (T2OLE (_T ("My klucz licencyjny run-time"))); 
      Zwraca wartość PRAWDA;
   }

statyczne BOOL IsLicenseValid() {return TRUE;}
}

CComClassFactory2 pochodzi z zarówno CComClassFactory2Base , jak i licencji. CComClassFactory2Base, z kolei pochodzi od IClassFactory2 i CComObjectRootExlt; CComGlobalsThreadModel >.

# include lt;atlcom.h>

Członkowie klasy

Zobacz też CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel

Index