CComPolyObject

templatelt; sınıfiçerdiği >
CComPolyObject sınıfı: ortak IUnknown, kamu CComObjectRootEx <içerdiği:: _ThreadModel::ThreadModelNoCS >

Parametreleri

içerdiği

CComObjectRoot ya da CComObjectRootExyanı sıra gelen nesne desteklemek istediğiniz diğer arabirimler türetilmiş sınıf,.

CComPolyObject uygulayan IUnknown toplanmış veya nonaggregated nesne.

CComPolyObject örneği oluşturulduğunda, dış bilinmeyen değeri denetlenir. nullise onu IUnknown nonaggregated bir nesneyi uygulanır. Dış bilinmeyen nulldeğilse, IUnknown toplanmış bir nesne için uygulanır.

CComPolyObject kullanmanın avantajı, hem CComAggObject hem de CComObject modülü içinde toplanmış ve nonaggregated durumlar ele sahip önlemek olduğunu. Tek bir CComPolyObject nesne, her iki durumda işler. Bu vtable tek bir kopyası ve işlevleri tek bir kopyasını, modül var demektir. Senin vtable büyükse, bu modül boyutu önemli ölçüde azaltabilirsiniz. Senin vtable küçük, toplanan ya da nonaggregated bir nesne için getirilmemiştir çünkü CComAggObject ve CComObject gibi Ancak, CComPolyObject kullanarak biraz daha büyük bir modül boyutu neden olabilir.

declare_poly_aggregatable makrosu, nesnenin sınıf tanımında belirtilirse, CComPolyObject , nesne oluşturmak için kullanılır. declare_poly_aggregatable olacak otomatik ilan tam denetim veya Internet Explorer'ın denetimi oluşturmak için atl nesne Sihirbazı'nı kullanırsanız.

Toplanan CComPolyObject nesne kendi IUnknown, dış nesnenin IUnknown, ayrı olan ve kendi referans sayımı tutar. CComPolyObject , dış bilinmeyen devretmek için CComContainedObject kullanır.

Toplama hakkında daha fazla bilgi için bkz: makale atl Fundamentals com nesneleri.

# include lt;atlcom.h>

Sınıf üyeleri

Ayrıca bkz: CComObjectRootEx, declare_poly_aggregatable

Index