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
Ortak Oluşturucusu
Ad |
Description |
---|---|
Oluşturucu. |
|
Yıkıcı. |
Public yöntemler
Ad |
Description |
---|---|
Nesnenin başvuru sayısı artar. |
|
(Statik) Yeni bir oluşturmanıza olanak tanır CComPolyObject < contained> yük bindirmeden nesne CoCreateInstance. |
|
Son başlatma işlemi gerçekleştiren m_contained. |
|
Son imha'nın gerçekleştirdiği m_contained. |
|
İstenen arabirim için bir işaretçi alır. |
|
Nesnenin referans azaltır sayılır. |
Ortak veri üyeleri
Ad |
Description |
---|---|
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
IUnknown
CComPolyObject
Gereksinimler
Başlık: atlcom.h