DECLARE_POLY_AGGREGATABLE
指定 CComPolyObject < x > 執行個體之後,當您建立的物件。
DECLARE_POLY_AGGREGATABLE(
x
)
參數
- x
[in] 要定義為 aggregatable 或不 aggregatable 類別物件的名稱。
備註
在建立時,則外部未知的值進行檢查。如果是 NULL, IUnknown 為 nonaggregated 物件上實作。如果這個外部未知的參數不是 NULL, IUnknown 為彙總的物件上實作。
使用 DECLARE_POLY_AGGREGATABLE 的優點是您不會處理 CComAggObject 和的 CComObject 於模組彙總和 nonaggregated 情況。單一 CComPolyObject 物件控制代碼兩種情況。這表示只有一個複本的 vtable 和函式的一個複本存在於模組。如果您 vtable 非常大,所以可以大幅降低模組大小。不過,因此,如果您 vtable 很小,使用 CComPolyObject 可能造成更大的模組大小,因為它沒有為彙總或 nonaggregated 最佳化物件,就像 CComAggObject 和 CComObject。
DECLARE_POLY_AGGREGATABLE 巨集會在您的物件自動宣告您使用 ATL 控制項精靈來建立完整的控制項。
需求
Header: atlcom.h