aggregatable
Menunjukkan bahwa kelas mendukung agregasi.
Sintaks
[ aggregatable(value) ]
Parameter
value
(Opsional) Parameter untuk menunjukkan kapan objek COM dapat diagregasi:
never
Objek COM tidak dapat diagregasi.allowed
Objek COM dapat dibuat secara langsung atau dapat diagregasi. Ini adalah default.always
Objek COM tidak dapat dibuat secara langsung dan hanya dapat diagregasi. Ketika Anda memanggilCoCreateInstance
objek ini, Anda harus menentukan antarmuka objekIUnknown
agregat (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 | Tidak |
Atribut yang diperlukan | Satu atau beberapa hal berikut ini: coclass , , progid atau vi_progid . |
Atribut tidak valid | Tidak ada |
Untuk informasi selengkapnya tentang konteks atribut, lihat Konteks Atribut.
Baca juga
Atribut IDL
Atribut Kelas
Atribut Typedef, Enum, Union, dan Struct
Agregasi
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk