Bagikan melalui


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 memanggil CoCreateInstance objek ini, Anda harus menentukan antarmuka objek IUnknown agregat (pengontrol IUnknown).

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, , progidatau 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