Aracılığıyla paylaş


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

CComClassFactoryAutoThreadCComClassFactory'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 CComClassFactoryAutoThreadiç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

CComObjectRootEx

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::Unlockazaltma.

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ış