klasa CComClassFactory: publicznych elementu IClassFactory,
CComObjectRootExlt publiczne; CComGlobalsThreadModel & gt;
CComClassFactory implementuje elementu IClassFactory interfejs, który zawiera metody służące do tworzenia obiektu określonego identyfikatora CLSID, jak również blokowanie Fabryczna klasa w pamięci, aby umożliwić nowe obiekty utworzone szybciej. Elementu IClassFactory musi być wprowadzone w życie dla każdej klasy, która zostanie zarejestrowana w rejestrze systemowym i do którego można przypisać identyfikatora CLSID.
ATL obiektów zwykle nabyć Fabryczna klasa przez wynikające z CComCoClass. Klasa ta obejmuje makra DECLARE_CLASSFACTORY, która deklaruje CComClassFactory jako Fabryczna klasa domyślna. Aby zastąpić to ustawienie domyślne, określ jeden z makrXXX DECLARE_CLASSFACTORYw definicji klasy. Na przykład makro DECLARE_CLASSFACTORY_EX używa określonej klasy Fabryczna klasa:
klasa CMyClass:..., CComCoClasslt publicznych; ... >
{
publiczne:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
Powyższej definicji klasy określa, że CMyClassFactory będzie używany jako obiektu domyślnej klasy fabrycznej. CMyClassFactory musi pochodzić od CComClassFactory i zastąpić CreateInstance.
ATL zawiera trzy pozostałe makra deklarujące Fabryczna klasa:
# include lt;atlcom.h>
Zobacz też CComObjectRootEx, CComGlobalsThreadModel