classe CComClassFactory: IClassFactory pubblica,
CComObjectRootExlt pubblica; CComGlobalsThreadModel & gt;
CComClassFactory implementa il interfaccia IClassFactory , che contiene metodi per la creazione di un oggetto di un particolare CLSID, come pure di bloccaggio della classe factory in memoria per consentire nuovi oggetti da creare più rapidamente. IClassFactory deve essere implementato per ogni classe che registra nel Registro di sistema e di cui assegnare un CLSID.
Oggetti ATL normalmente acquisiscono una class factory derivandolo da CComCoClass. Questa categoria comprende la macro DECLARE_CLASSFACTORY, che dichiara CComClassFactory come la class factory predefinita. A eseguire l'override di questa impostazione predefinita, specificare una delle macroXXX DECLARE_CLASSFACTORYnella definizione della classe. Ad esempio, la macro DECLARE_CLASSFACTORY_EX utilizza la classe specificata per la classe factory:
classe CMyClass:..., CComCoClasslt pubblica; ... >
{
pubblica:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
La definizione della classe sopra specifica che verrà utilizzato come fabbrica di classe predefinito dell'oggetto CMyClassFactory . CMyClassFactory deve derivare da CComClassFactory ed eseguire l'override di CreateInstance.
ATL fornisce tre altre macro che dichiarano una class factory:
# include lt;atlcom.h>
Vedere a&nchenbsp;CComObjectRootEx, CComGlobalsThreadModel