Pewarisan Tipe Pointer-Attribute
Menurut spesifikasi DCE, setiap file IDL harus menentukan atribut untuk penunjuknya. Jika atribut eksplisit tidak ditetapkan ke penunjuk, penunjuk menggunakan nilai yang ditentukan oleh kata kunci [ pointer_default]. Beberapa implementasi DCE tidak mengizinkan pointer yang tidak terjaga. Jika pointer tidak memiliki atribut eksplisit, file IDL harus memiliki spesifikasi [pointer_default] sehingga atribut pointer dapat diatur.
Dalam mode default (ekstensi Microsoft), Anda dapat menentukan atribut pointer dalam file IDL yang mengimpor file IDL yang menentukan. Pointer yang ditentukan dalam satu file IDL dapat mewarisi atribut yang ditentukan dalam file IDL lainnya. Selain itu, dalam mode default, file IDL dapat menyertakan penunjuk yang tidak terikat. Jika file IDL dasar maupun IDL yang diimpor tidak menentukan atribut penunjuk atau [pointer_default], penunjuk yang tidak ditafsirkan sebagai penunjuk unik.
Kompilator MIDL menetapkan atribut pointer ke pointer menggunakan aturan prioritas berikut (1 tertinggi).
Prioritas | Deskripsi |
---|---|
1 | Atribut penunjuk eksplisit diterapkan ke penunjuk pada definisi atau menggunakan situs. |
2 | Defaultnya adalah atribut [pointer_default] dalam file IDL yang menentukan jenisnya. |
3 | Defaultnya adalah atribut [pointer_default] dalam file IDL yang mengimpor jenis . |
4 | Defaultnya adalah [ ptr] dalam mode kompatibilitas DCE, atau [ unik] dalam mode ekstensi Microsoft. |