CComClassFactory Class
이 클래스에서 구현 된 IClassFactory 인터페이스.
class CComClassFactory : public IClassFactory,
public CComObjectRootEx< CComGlobalsThreadModel >
Members
Public 메서드
Name |
설명 |
---|---|
지정한 CLSID의 개체를 만듭니다. |
|
메모리에서 클래스 팩터리를 잠급니다. |
설명
CComClassFactory구현 된 IClassFactory 클래스 팩터리 새 개체를 더 빨리 만들 수 있도록 메모리에서 잠금 뿐만 아니라 개체의 특정 CLSID 만들기 위한 메서드를 포함 하는 인터페이스입니다. IClassFactory 하는 CLSID를 할당 하 고 시스템 레지스트리를 등록 하는 모든 클래스를 구현 해야 합니다.
ATL 개체 정상적으로 취득 팩터리 클래스에서 파생 하 여 CComCoClass. 이 클래스는 매크로 포함 DECLARE_CLASSFACTORY는 선언 CComClassFactory 기본 클래스 팩터리로. 이 기본값을 재정의 하려면 중 하나를 지정 된 DECLARE_CLASSFACTORYXXX 매크로 클래스 정의에. 예를 들어 있는 DECLARE_CLASSFACTORY_EX 매크로 대 한 클래스 팩터리 사용 하 여 지정 된 클래스:
class ATL_NO_VTABLE CMyCustomClass :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyCustomClass, &CLSID_MyCustomClass>,
public IDispatchImpl<IMyCustomClass, &IID_IMyCustomClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
// Remainder of class declaration omitted.
위의 클래스 정의 지정 CMyClassFactory 개체의 기본 클래스 팩터리로 사용 됩니다. CMyClassFactory 에서 파생 되어야 CComClassFactory 및 재정의 CreateInstance.
ATL 클래스 팩터리를 선언 하는 다른 세 가지 매크로 제공 합니다.
DECLARE_CLASSFACTORY2 를 사용 하 여 CComClassFactory2, 만들기를 통해 라이센스를 제어 합니다.
DECLARE_CLASSFACTORY_AUTO_THREAD 를 사용 하 여 CComClassFactoryAutoThread, 여러 아파트에서 개체가 만들어집니다.
DECLARE_CLASSFACTORY_SINGLETON 를 사용 하 여 CComClassFactorySingleton, 하나를 생성 하는 CComObjectGlobal 개체입니다.
요구 사항
헤더: atlcom.h