CComClassFactory2 Class
이 클래스에서 구현 된 에서는 IClassFactory2 인터페이스.
template <
class license
>
class CComClassFactory2 : public IClassFactory2,
public CComObjectRootEx<CComGlobalsThreadModel>,
public license
매개 변수
라이센스
다음 정적 함수를 구현 하는 클래스.정적 BOOL VerifyLicenseKey (BSTRbstr**);**
static BOOL GetLicenseKey( DWORD dwReserved**, BSTR*** pBstr );
정적 BOOL IsLicenseValid ();
Members
Public 메서드
이름 |
설명 |
---|---|
지정한 CLSID의 개체를 만듭니다. |
|
지정 된 라이센스 키를 지정 된 CLSID의 개체를 만듭니다. |
|
클래스 팩터리를 라이센스 기능을 설명 하는 정보를 검색 합니다. |
|
메모리에서 클래스 팩터리를 잠급니다. |
|
만들고 라이센스 키를 반환 합니다. |
설명
CComClassFactory2구현 된 에서는 IClassFactory2 은 인터페이스의 IClassFactory. 에서는 IClassFactory2 컨트롤 개체는 라이센스를 생성 합니다. 클래스 팩터리 사용이 허가 된 컴퓨터에서 실행 런타임 라이센스 키를 제공할 수 있습니다. 이 라이센스 키 전체 컴퓨터 라이센스 없을 때 개체를 인스턴스화할 수 있습니다.
ATL 개체 정상적으로 취득 팩터리 클래스에서 파생 하 여 CComCoClass. 이 클래스는 매크로 포함 DECLARE_CLASSFACTORY는 선언 CComClassFactory 기본 클래스 팩터리로. 사용할 CComClassFactory2, 지정 된 DECLARE_CLASSFACTORY2 매크로 개체의 클래스 정의에. 예를 들면 다음과 같습니다.
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, 템플릿 매개 변수를 CComClassFactory2, 정적 함수를 구현 해야 VerifyLicenseKey, GetLicenseKey, 및 IsLicenseValid. 다음은 간단한 라이센스 클래스의 예제입니다.
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; }
};
CComClassFactory2둘 다에서 파생 된 CComClassFactory2Base 및 라이센스. CComClassFactory2Base, 따라서 파생 에서는 IClassFactory2 및 CComObjectRootEx < CComGlobalsThreadModel >.
상속 계층 구조
CComObjectRootBase
license
IClassFactory2
CComClassFactory2
요구 사항
헤더: atlcom.h
참고 항목
참조
CComClassFactoryAutoThread Class
CComClassFactorySingleton Class