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_contained gerçekleştirir. |
CComAggObject::FinalRelease | son yok etme işlemini m_contained gerç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
CComAggObject
toplanan bir nesne için IUnknown uygular. CComAggObject
dış 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
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ü CoCreateInstance
olmadan 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 Q
gö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ış