Aracılığıyla paylaş


CComPolyObject sınıfı

Bu sınıf uygulayan IUnknown toplanmış veya nonaggregated nesnesi.

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

Parametreler

  • contained
    Kullanacağınız sınıf türetilmiş CComObjectRoot veya CComObjectRootEx, nesne üzerinde desteklemek istediğiniz de diğer arabirimlerden gibi.

Üyeler

x83dshsy.collapse_all(tr-tr,VS.110).gifOrtak Oluşturucusu

Ad

Description

CComPolyObject::CComPolyObject

Oluşturucu.

CComPolyObject:: ~ CComPolyObject

Yıkıcı.

x83dshsy.collapse_all(tr-tr,VS.110).gifPublic yöntemler

Ad

Description

CComPolyObject::AddRef

Nesnenin başvuru sayısı artar.

CComPolyObject::CreateInstance

(Statik) Yeni bir oluşturmanıza olanak tanır CComPolyObject < contained> yük bindirmeden nesne CoCreateInstance.

CComPolyObject::FinalConstruct

Son başlatma işlemi gerçekleştiren m_contained.

CComPolyObject::FinalRelease

Son imha'nın gerçekleştirdiği m_contained.

CComPolyObject::QueryInterface

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

CComPolyObject::Release

Nesnenin referans azaltır sayılır.

x83dshsy.collapse_all(tr-tr,VS.110).gifOrtak veri üyeleri

Ad

Description

CComPolyObject::m_contained

Temsilciler IUnknown çağrıları için dış bilinmeyen nesne toplanan, ya da IUnknown nesnesi değil toplanan nesnesinin.

Notlar

CComPolyObjectuygulayan IUnknown toplanmış veya nonaggregated nesnesi.

Bir örneğini, CComPolyObject oluşturuldu, dış değeri bilinmeyen denetlenir.Öyleyse null, IUnknown bir nonaggregated nesnesi için uygulanır.Dış bilinmeyen ise null, IUnknown toplanmış olan bir nesne için uygulanır.

Kullanmanın avantajı CComPolyObject her ikisi de kalmaktan kaçınırsınız olan CComAggObject ve CComObject toplanmış ve nonaggregated durumlarında modülünde.Tek bir CComPolyObject nesnesini işleme her iki durumda.Bu sizin modülünde vtable yalnızca bir kopyasını ve işlevlerinin bir kopya var demektir.Sizin vtable büyükse, bu modülü boyutunu önemli ölçüde azaltabilirsiniz.Ancak sizin vtable küçük ise, kullanılarak CComPolyObject bir araya getirilmiş veya nonaggregated nesne için getirilmemiştir çünkü biraz daha büyük bir modül boyutu neden olduğu gibi CComAggObject ve CComObject.

DECLARE_POLY_AGGREGATABLE Makrosu, nesnenin sınıf tanımında belirtilen CComPolyObject nesnenizi oluşturmak için kullanılır.DECLARE_POLY_AGGREGATABLEotomatik olarak tam denetim veya Internet Explorer denetim oluşturmak için atl Project Sihirbazı'nı kullanırsanız bildirilir.

Toplanan, CComPolyObject nesnesi vardır, kendi IUnknown, dış nesnenin'dan IUnknownve kendi Referans sayımı tutar.CComPolyObjectkullandığı CComContainedObject dış bilinmeyen olarak atanacak.

Makale toplama hakkında daha fazla bilgi için bkz: atl com nesneleri temelleri.

Devralma hiyerarşisi

CComObjectRootBase

CComObjectRootEx

IUnknown

CComPolyObject

Gereksinimler

Başlık: atlcom.h

Ayrıca bkz.

Başvuru

CComObjectRootEx sınıfı

DECLARE_POLY_AGGREGATABLE

Diğer Kaynaklar

atl sınıfına genel bakış