CComAggObject Sınıfı

Bu sınıf, toplanan bir nesne için IUnknown arabirimini uygular. Tanım gereği, toplanmış bir nesne dış nesnenin içinde yer alır. sınıfı CComAggObject CComObject Sınıfına benzer, ancak dış istemciler tarafından doğrudan erişilebilen bir arabirimi kullanıma sunar.

Sözdizimi

template<class contained>
class CComAggObject : public IUnknown,
   public CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>

Parametreler

Bulunan
Sınıfınız, CComObjectRoot veya CComObjectRootEx'ten ve nesne üzerinde desteklemek istediğiniz diğer arabirimlerden türetilir.

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CComAggObject::CComAggObject Oluşturucu.
CComAggObject::~CComAggObject Yok edici.

Genel Yöntemler

Veri Akışı Adı Açıklama
CComAggObject::AddRef Toplanan nesnedeki başvuru sayısını artırır.
CComAggObject::CreateInstance Bu statik işlev, CoCreateInstance yükü olmadan yeni bir CComAggObject contained ><nesnesi oluşturmanıza olanak tanır.
CComAggObject::FinalConstruct öğesinin son başlatma işlemini m_containedgerçekleştirir.
CComAggObject::FinalRelease son yok etme işlemini m_containedgerçekleştirir.
CComAggObject::QueryInterface İstenen arabirim için bir işaretçi alır.
CComAggObject::Release Toplanan nesnedeki başvuru sayısını azaltma.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CComAggObject::m_contained Dış bilinmeyene yapılan çağrıları temsilciler IUnknown oluşturur.

Açıklamalar

CComAggObjecttoplanan bir nesne için IUnknown uygular. CComAggObjectdış nesnenin IUnknown arabiriminden ayrı olarak kendi IUnknown arabirimine sahiptir ve kendi başvuru sayısını korur.

Toplama hakkında daha fazla bilgi için ATL COM Nesnelerinin Temelleri makalesine bakın.

Devralma Hiyerarşisi

CComObjectRootBase

CComObjectRootEx

IUnknown

CComAggObject

Gereksinimler

Üst bilgi: atlcom.h

CComAggObject::AddRef

Toplanan nesnedeki başvuru sayısını artırır.

STDMETHOD_(ULONG, AddRef)();

Dönüş Değeri

Tanılama veya test için yararlı olabilecek bir değer.

CComAggObject::CComAggObject

Oluşturucu.

CComAggObject(void* pv);

Parametreler

Pv
[in] Dış bilinmeyen.

Açıklamalar

Üyeyi CComContainedObject başlatır, m_contained ve modül kilit sayısını artırır.

Yıkıcı, modül kilit sayısını azalmış.

CComAggObject::~CComAggObject

Yok edici.

~CComAggObject();

Açıklamalar

Ayrılan tüm kaynakları serbest bırakma, FinalRelease çağrısı yapma ve modül kilitleme sayısını azaltma.

CComAggObject::CreateInstance

Bu statik işlev, CoCreateInstance yükü olmadan yeni bir CComAggObjectcontained>< nesnesi oluşturmanıza olanak tanır.

static HRESULT WINAPI CreateInstance(
    LPUNKNOWN pUnkOuter,
    CComAggObject<contained>** pp);

Parametreler

Pp
[out] CComAggObject işaretçisi işaretçi içeriyordu>.< Başarısız olursa CreateInstance , pp null olarak ayarlanır.

Dönüş Değeri

Standart bir HRESULT değeri.

Açıklamalar

Döndürülen nesnenin başvuru sayısı sıfır olduğundan hemen çağırın AddRef , ardından Release işiniz bittiğinde nesne işaretçisinde başvuruyu serbest bırakın.

Nesnesine doğrudan erişime ihtiyacınız yoksa, ancak yine de ek yükü CoCreateInstanceolmadan yeni bir nesne oluşturmak istiyorsanız, bunun yerine CComCoClass::CreateInstance kullanın.

CComAggObject::FinalConstruct

Nesne oluşturma işleminin son aşamalarında çağrılan bu yöntem, m_contained üyesinde tüm son başlatma işlemlerini gerçekleştirir.

HRESULT FinalConstruct();

Dönüş Değeri

Standart bir HRESULT değeri.

CComAggObject::FinalRelease

Nesne yok etme sırasında çağrılan bu yöntem, m_contained üyesini serbest getirir.

void FinalRelease();

CComAggObject::m_contained

Sınıfınızdan türetilmiş bir CComContainedObject nesnesi.

CComContainedObject<contained> m_contained;

Parametreler

Bulunan
[in] Sınıfınız, CComObjectRoot veya CComObjectRootEx'ten ve nesne üzerinde desteklemek istediğiniz diğer arabirimlerden türetilir.

Açıklamalar

üzerinden m_contained yapılan tüm IUnknown çağrılar dış bilinmeyene devredilir.

CComAggObject::QueryInterface

İstenen arabirim için bir işaretçi alır.

STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
template <class Q>
HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp);

Parametreler

iid
[in] İstenen arabirimin tanımlayıcısı.

ppvObject
[out] iid ile tanımlanan arabirim işaretçisinin işaretçisi. Nesne bu arabirimi desteklemiyorsa, ppvObject NULL olarak ayarlanır.

Pp
[out] türüne Qgöre tanımlanan arabirim işaretçisinin işaretçisi. Nesne bu arabirimi desteklemiyorsa, pp null olarak ayarlanır.

Dönüş Değeri

Standart bir HRESULT değeri.

Açıklamalar

İstenen arabirim ise IUnknown, QueryInterface toplanan nesnenin kendi IUnknown işaretçisini döndürür ve başvuru sayısını artırır. Aksi takdirde, bu yöntem m_contained üye aracılığıyla CComContainedObject arabirimini sorgular.

CComAggObject::Release

Toplanan nesnedeki başvuru sayısını azaltma.

STDMETHOD_(ULONG, Release)();

Dönüş Değeri

Hata ayıklama derlemelerinde, Release tanılama veya test için yararlı olabilecek bir değer döndürür. Hata ayıklama olmayan derlemelerde Release her zaman 0 döndürür.

Ayrıca bkz.

CComObject Sınıfı
CComPolyObject Sınıfı
DECLARE_AGGREGATABLE
DECLARE_ONLY_AGGREGATABLE
DECLARE_NOT_AGGREGATABLE
Sınıfa Genel Bakış