Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menunjukkan bahwa kelas mendukung agregasi.
Sintaks
[ aggregatable(value) ]
Parameter
value
(Opsional) Parameter untuk menunjukkan kapan objek COM dapat diagregasi:
neverObjek COM tidak dapat diagregasi.allowedObjek COM dapat dibuat secara langsung atau dapat diagregasi. Ini adalah default.alwaysObjek COM tidak dapat dibuat secara langsung dan hanya dapat diagregasi. Ketika Anda memanggilCoCreateInstanceobjek ini, Anda harus menentukan antarmuka objekIUnknownagregat (pengontrolIUnknown).
Keterangan
Atribut C++ yang dapat diagregasi memiliki fungsionalitas yang sama dengan atribut MIDL yang dapat diagregasi . Ini berarti bahwa pengkompilasi akan meneruskan atribut agregat ke file .idl yang dihasilkan.
Atribut ini mengharuskan atribut coclass, progid, atau vi_progid (atau atribut lain yang menyiratkan salah satu dari atribut ini) juga diterapkan ke elemen yang sama. Jika ada atribut tunggal yang digunakan, dua atribut lainnya akan diterapkan secara otomatis. Misalnya, jika progid diterapkan, vi_progid dan coclass juga diterapkan.
Proyek ATL
Jika atribut ini digunakan dalam proyek yang menggunakan ATL, perilaku atribut berubah. Selain perilaku yang dijelaskan sebelumnya, atribut juga menambahkan salah satu makro berikut ke kelas target:
| Nilai parameter | Makro yang disisipkan |
|---|---|
Never |
DECLARE_NOT_AGGREGATABLE |
Allowed |
DECLARE_POLY_AGGREGATABLE |
Always |
DECLARE_ONLY_AGGREGATABLE |
Contoh
// cpp_attr_ref_aggregatable.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"
[module(name="MyModule")];
[ coclass, aggregatable(allowed),
uuid("1a8369cc-1c91-42c4-befa-5a5d8c9d2529")]
class CMyClass {};
Persyaratan
| Konteks atribut | Nilai |
|---|---|
| Berlaku untuk | class, struct |
| Berulang | No |
| Atribut yang diperlukan | Satu atau beberapa hal berikut ini: coclass, , progidatau vi_progid. |
| Atribut tidak valid | Tidak |
Untuk informasi selengkapnya tentang konteks atribut, lihat Konteks Atribut.
Lihat juga
Atribut IDL
Atribut Kelas
Atribut Typedef, Enum, Union, dan Struct
Agregasi