cComClassFactory クラス: パブリック IClassFactory
公共の CComObjectRootExlt;CComGlobalsThreadModel & gt;
CComClassFactoryを実装して、 IClassFactoryインターフェイスより迅速に作成する新しいオブジェクトを許可するメモリ内のクラス ファクトリをロックだけでなく、特定の CLSID のオブジェクトを作成するためのメソッドが含まれています。IClassFactoryシステム レジストリと、CLSID 割り当てを登録するすべてのクラスを実装する必要があります。
ATL オブジェクト通常CComCoClassから派生することによって、クラス ファクトリを取得します。このクラスには、 DECLARE_CLASSFACTORY CComClassFactoryとして、既定のクラス ファクトリの宣言、マクロが含まれます。 この既定をオーバーライド、 DECLARE_CLASSFACTORYXXXのマクロの 1 つをクラス定義で指定します。DECLARE_CLASSFACTORY_EXマクロが、クラス ファクトリを指定したクラスを使用してたとえば、:
cMyClass クラス:.. は、公共の CComCoClasslt;… >{パブリック。DECLARE_CLASSFACTORY_EX(CMyClassFactory)...}
上記のクラス定義では、 CMyClassFactoryオブジェクトの既定のクラス ファクトリとして使用されることを指定します。CMyClassFactoryする必要がありますCComClassFactoryからの派生し、 CreateInstanceを上書き。
ATL は、クラス ファクトリを宣言する他の 3 つのマクロを提供します。:
#include lt;atlcom.h>
参照特価;CComObjectRootEx、 CComGlobalsThreadModel(&N)