Bagikan melalui


Atribut IDL

Secara tradisional, mempertahankan file .idl berarti Anda harus:

  • Pahami struktur dan sintaks file .idl untuk dapat memodifikasinya.

  • Mengandalkan wizard, yang memungkinkan Anda mengubah beberapa aspek file .idl.

Sekarang, Anda dapat memodifikasi file .idl dari dalam file kode sumber menggunakan atribut IDL Visual C++. Dalam banyak kasus, atribut IDL Visual C++ memiliki nama yang sama dengan atribut MIDL. Ketika nama atribut IDL Visual C++ dan atribut MIDL sama, itu berarti bahwa menempatkan atribut Visual C++ dalam file kode sumber Anda akan menghasilkan file .idl yang berisi atribut MIDL namesake-nya. Namun, atribut IDL Visual C++ mungkin tidak menyediakan semua fungsionalitas atribut MIDL.

Saat tidak digunakan dengan atribut COM, atribut IDL memungkinkan Anda menentukan antarmuka. Saat kode sumber dikompilasi, atribut digunakan untuk menentukan file .idl yang dihasilkan. Saat digunakan dengan atribut COM dalam proyek ATL, beberapa atribut IDL, seperti coclass, menyebabkan kode disuntikkan ke dalam proyek.

Perhatikan bahwa idl_quote memungkinkan Anda menggunakan konstruksi MIDL yang tidak didukung dalam versi Visual C++saat ini. Ini dan atribut lain seperti importlib dan includelib membantu Anda menggunakan file .idl yang ada di proyek Visual Studio C++ Anda saat ini.

Atribut Deskripsi
agregat Menunjukkan bahwa kontrol dapat diagregasi oleh kontrol lain.
appobject Mengidentifikasi kolase sebagai objek aplikasi, yang terkait dengan aplikasi EXE lengkap, dan menunjukkan bahwa fungsi dan properti kolase tersedia secara global di pustaka jenis ini.
async_uuid Menentukan UUID yang mengarahkan pengompilasi MIDL untuk menentukan versi antarmuka COM yang sinkron dan asinkron.
dapat diikat Menunjukkan bahwa properti mendukung pengikatan data.
call_as Memungkinkan fungsi yang tidak dapat dimodifikasi untuk dipetakan ke fungsi jarak jauh.
case Digunakan dengan atribut switch_type dalam serikat.
coclass Menempatkan definisi kelas ke dalam file .idl sebagai coclass.
kontrol Menentukan bahwa jenis yang ditentukan pengguna adalah kontrol.
cpp_quote Memancarkan string yang ditentukan, tanpa karakter kutipan, ke dalam file header yang dihasilkan.
defaultbind Menunjukkan properti tunggal yang dapat diikat yang paling mewakili objek.
defaultcollelem Digunakan untuk pengoptimalan kode Visual Basic.
defaultvalue Memungkinkan spesifikasi nilai default untuk parameter opsional yang ditik.
Default Menunjukkan bahwa kustom atau dispinterface yang ditentukan dalam kolase mewakili antarmuka keterprograman default.
defaultvtable Mendefinisikan antarmuka sebagai antarmuka vtable default untuk kontrol.
dispinterface Menempatkan antarmuka dalam file .idl sebagai antarmuka pengiriman.
displaybind Menunjukkan properti yang harus ditampilkan kepada pengguna sebagai dapat diikat.
Dual Menempatkan antarmuka dalam file .idl sebagai antarmuka ganda.
Catatan Menentukan fungsi atau konstanta yang diekspor dalam modul dengan mengidentifikasi titik masuk di DLL.
first_is Menentukan indeks elemen array pertama yang akan ditransmisikan.
helpcontext Menentukan ID konteks yang memungkinkan pengguna melihat informasi tentang elemen ini dalam file Bantuan.
helpfile Mengatur nama file Bantuan untuk pustaka tipe.
helpstringcontext Menentukan ID topik bantuan dalam file .hlp atau .chm.
helpstringdll Menentukan nama DLL yang akan digunakan untuk melakukan pencarian string dokumen (pelokalan).
helpstring Menentukan string karakter yang digunakan untuk menjelaskan elemen yang diterapkannya.
Tersembunyi Menunjukkan bahwa item ada tetapi tidak boleh ditampilkan di browser berorientasi pengguna.
idl_module Menentukan titik masuk dalam DLL.
idl_quote Memungkinkan Anda menggunakan atribut atau konstruksi IDL yang tidak didukung dalam versi Visual C++saat ini.
id Menentukan DISPID untuk fungsi anggota (baik properti atau metode, dalam antarmuka atau dispinterface).
iid_is Menentukan IID antarmuka COM yang ditunjukkan oleh penunjuk antarmuka.
imediatebind Menunjukkan bahwa database akan segera diberi tahu tentang semua perubahan pada properti objek yang terikat data.
importlib Membuat tipe yang telah dikompilasi ke pustaka tipe lain tersedia untuk pustaka tipe yang sedang dibuat.
impor Menentukan file .idl, .odl, atau header lain yang berisi definisi yang ingin Anda referensikan dari file .idl utama Anda.
termasuk Menentukan satu atau beberapa file header yang akan disertakan dalam file .idl yang dihasilkan.
includelib Menyebabkan file .idl atau .h disertakan dalam file .idl yang dihasilkan.
in Menunjukkan bahwa parameter akan diteruskan dari prosedur panggilan ke prosedur yang disebut.
last_is Menentukan indeks elemen array terakhir yang akan ditransmisikan.
Icid Memungkinkan Anda meneruskan pengidentifikasi lokal ke fungsi.
length_is Menentukan jumlah elemen array yang akan ditransmisikan.
Berlisensi Menunjukkan bahwa kolase yang diterapkannya berlisensi, dan harus dibuat menggunakan IClassFactory2.
Lokal Memungkinkan Anda menggunakan pengkompilasi MIDL sebagai generator header saat digunakan di header antarmuka. Ketika digunakan dalam fungsi individual, menunjuk prosedur lokal yang tidak ada ganja yang dihasilkan.
max_is Menunjuk nilai maksimum untuk indeks array yang valid.
module Menentukan blok pustaka dalam file .idl.
ms_union Mengontrol perataan representasi data jaringan dari serikat yang tidak dienkapsulasi.
no_injected_text Mencegah pengkompilasi memasukkan kode sebagai akibat dari penggunaan atribut.
tidak dapat ditumbuhi Menunjukkan bahwa anggota antarmuka tidak boleh ditampilkan di browser properti.
tidak dapat di-noncreatable Menentukan objek yang tidak dapat diinstansiasi dengan sendirinya.
tidak dapat diperluas Menentukan bahwa IDispatch implementasi hanya mencakup properti dan metode yang tercantum dalam deskripsi antarmuka dan tidak dapat diperluas dengan anggota tambahan pada waktu proses.
object Mengidentifikasi antarmuka kustom; identik dengan atribut kustom.
Odl Mengidentifikasi antarmuka sebagai antarmuka Object Description Language (ODL).
oleautomasi Menunjukkan bahwa antarmuka kompatibel dengan Automation.
opsional Menentukan parameter opsional untuk fungsi anggota.
out Mengidentifikasi parameter pointer yang dikembalikan dari prosedur yang disebut ke prosedur panggilan (dari server ke klien).
pointer_default Menentukan atribut pointer default untuk semua penunjuk kecuali penunjuk tingkat atas yang muncul dalam daftar parameter.
pragma Memancarkan string yang ditentukan, tanpa karakter kutipan, ke dalam file .idl yang dihasilkan.
progid Menentukan ProgID untuk objek COM.
propget Menentukan fungsi aksesor properti (get).
propputref Menentukan fungsi pengaturan properti yang menggunakan referensi alih-alih nilai.
propput Menentukan fungsi pengaturan properti.
Ptr Menunjuk penunjuk sebagai penunjuk penuh.
public Memastikan bahwa typedef akan masuk ke pustaka jenis meskipun tidak dirujuk dari dalam file .idl.
rentang Menentukan rentang nilai yang diperbolehkan untuk argumen atau bidang yang nilainya diatur pada waktu proses.
hanyabaca Melarang penugasan ke variabel.
ref Mengidentifikasi penunjuk referensi.
requestedit Menunjukkan bahwa properti mendukung pemberitahuan OnRequestEdit.
Dibatasi Menentukan bahwa pustaka, atau anggota modul, antarmuka, atau dispinterface tidak dapat dipanggil secara sembarangan.
retval Menunjuk parameter yang menerima nilai pengembalian anggota.
size_is Menentukan ukuran memori yang dialokasikan untuk penunjuk berukuran, penunjuk berukuran ke penunjuk berukuran, dan array tunggal atau multidimensi.
sumber Menunjukkan bahwa anggota kelas, properti, atau metode adalah sumber peristiwa.
string Menunjukkan bahwa array satu dimensi char, , wchar_t, byteatau yang setara atau penunjuk ke array tersebut harus diperlakukan sebagai string.
switch_is Menentukan ekspresi atau pengidentifikasi yang bertindak sebagai diskriminan serikat pekerja yang memilih anggota serikat pekerja.
switch_type Mengidentifikasi jenis variabel yang digunakan sebagai diskriminan serikat.
transmit_as Menginstruksikan pengkompilasi untuk mengaitkan jenis yang disajikan, aplikasi klien dan server mana yang dimanipulasi, dengan jenis yang ditransmisikan.
uidefault Menunjukkan bahwa anggota informasi jenis adalah anggota default untuk ditampilkan di antarmuka pengguna.
unique Menentukan penunjuk unik.
usesgetlasterror Memberi tahu pemanggil bahwa jika ada kesalahan saat memanggil fungsi tersebut, pemanggil kemudian dapat memanggil GetLastError untuk mengambil kode kesalahan.
uuid Menentukan ID unik untuk kelas atau antarmuka.
v1_enum Mengarahkan bahwa jenis enumerasi yang ditentukan ditransmisikan sebagai entitas 32-bit, bukan default 16-bit.
vararg Menentukan bahwa fungsi mengambil jumlah variabel argumen.
vi_progid Menentukan bentuk progID independen versi.
wire_marshal Menentukan jenis data yang akan digunakan untuk transmisi alih-alih jenis data khusus aplikasi.

Baca juga

Atribut menurut Grup