CComClassFactoryAutoThread Sınıfı
Bu sınıf IClassFactory arabirimini uygular ve nesnelerin birden çok dairede oluşturulmasına izin verir.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class CComClassFactoryAutoThread
: public IClassFactory,
public CComObjectRootEx<CComGlobalsThreadModel>
Üyeler
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CComClassFactoryAutoThread::CreateInstance | Belirtilen CLSID nesnesini oluşturur. |
CComClassFactoryAutoThread::LockServer | Sınıf fabrikasını belleğe kilitler. |
Açıklamalar
CComClassFactoryAutoThread
CComClassFactory'ye benzer, ancak nesnelerin birden çok dairede oluşturulmasına izin verir. Bu destekten yararlanmak için EXE modülünüzü CComAutoThreadModule'dan türetin.
ATL nesneleri normalde CComCoClass'tan türetilerek bir sınıf fabrikası alır. Bu sınıf, CComClassFactory'yi varsayılan sınıf fabrikası olarak bildiren makro DECLARE_CLASSFACTORY içerir. kullanmak CComClassFactoryAutoThread
için nesnenizin sınıf tanımında DECLARE_CLASSFACTORY_AUTO_THREAD makroyu belirtin. Örneğin:
class ATL_NO_VTABLE CMyAutoClass :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CMyAutoClass, &CLSID_MyAutoClass>,
public IMyAutoClass
{
public:
DECLARE_CLASSFACTORY_AUTO_THREAD()
// Remainder of class declaration omitted.
Devralma Hiyerarşisi
CComObjectRootBase
IClassFactory
CComClassFactoryAutoThread
Gereksinimler
Üst bilgi: atlcom.h
CComClassFactoryAutoThread::CreateInstance
Belirtilen CLSID nesnesini oluşturur ve bu nesneye bir arabirim işaretçisi alır.
STDMETHODIMP CreateInstance(
LPUNKNOWN pUnkOuter,
REFIID riid,
void** ppvObj);
Parametreler
pUnkOuter
[in] Nesne bir toplamanın parçası olarak oluşturuluyorsa, pUnkOuter dış bilinmeyen olmalıdır. Aksi takdirde, pUnkOuter NULL olmalıdır.
riid
[in] İstenen arabirimin IID değeri. pUnkOuter NULL değilse, riid olmalıdırIID_IUnknown
.
ppvObj
[out] riid tarafından tanımlanan arabirim işaretçisine ilişkin bir işaretçi. Nesne bu arabirimi desteklemiyorsa, ppvObj NULL olarak ayarlanır.
Dönüş Değeri
Standart bir HRESULT değeri.
Açıklamalar
Modülünüz CComAutoThreadModule'den türetilirse, CreateInstance
önce ilişkili dairede nesneyi oluşturmak için bir iş parçacığı seçer.
CComClassFactoryAutoThread::LockServer
Sırasıyla ve çağırarak _Module::Lock
modül kilit sayısını artırır ve _Module::Unlock
azaltma.
STDMETHODIMP LockServer(BOOL fLock);
Parametreler
sürü
[in] TRUE ise, kilit sayısı artırılır; aksi takdirde, kilit sayısı azalmış.
Dönüş Değeri
Standart bir HRESULT değeri.
Açıklamalar
kullanırken CComClassFactoryAutoThread
_Module
genellikle CComAutoThreadModule'un genel örneğine başvurur.
Çağırma LockServer
, istemcinin birden çok nesnenin hızlı bir şekilde oluşturulabilmesi için bir sınıf fabrikasında tutunmasını sağlar.
Ayrıca bkz.
IClassFactory
CComClassFactory2 Sınıfı
CComClassFactorySingleton Sınıfı
CComObjectRootEx Sınıfı
CComGlobalsThreadModel
Sınıfa Genel Bakış