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_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)

Index