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_CONVERSION;
???? 반환! lstrcmp(OLE2T(bstr), _T ("내 런타임 라이센스 키"));
? }
정적 BOOL GetLicenseKey(DWORD dwReserved, BSTR* pBstr) {
???? USES_CONVERSION;
???? * pBstr = SysAllocString (T2OLE (_T ("내 런타임 라이센스 키")));
???? TRUE를 반환 합니다.
? }
정적 BOOL IsLicenseValid() {return TRUE;}
}(&N)
CComClassFactory2 CComClassFactory2Base 및 라이센스에서 파생 됩니다. CComClassFactory2Base, 차례 차례로, IClassFactory2 및 CComObjectRootExlt;에서 파생 CComGlobalsThreadModel >。
# include lt;atlcom.h>
참고 항목nbsp;CComClassFactoryAutoThread, CComClassFactorySingleton, CComObjectRootEx, CComGlobalsThreadModel(&N)