atribut antarmuka
Kata kunci antarmuka menentukan nama antarmuka. Nama antarmuka harus disediakan dalam file IDL dan ACF.
[
interface-attribute-list
]
interface interface-name [ : base-interface ]
{
}
typedef interface interface-name declarator-list
-
daftar atribut antarmuka
-
Menentukan atribut yang berlaku untuk antarmuka secara keseluruhan. Atribut antarmuka yang valid untuk file IDL mencakup [titik akhir], [lokal], [objek], [pointer_default], [uuid], dan [versi]. Atribut antarmuka yang valid untuk ACF termasuk [encode], [dekode], baik [auto_handle] atau [implicit_handle], dan [kode] atau [nocode].
-
nama antarmuka
-
Menentukan nama antarmuka. Nama antarmuka harus berupa nama yang unik dan harus dimulai dengan karakter alfabet atau garis bawah.
-
antarmuka dasar
-
Menentukan nama antarmuka tempat antarmuka turunan ini mewarisi fungsi anggota, kode status, dan atribut antarmuka. Antarmuka turunan tidak mewarisi definisi tipe. Untuk melakukan ini, gunakan kata kunci impor untuk mengimpor file IDL antarmuka dasar.
-
daftar deklarator
-
Menentukan deklarator C standar, seperti pengidentifikasi, deklarator pointer, dan deklarator array. Untuk informasi selengkapnya, lihat Array dan Sized-Pointer Atribut, array. , dan Array dan Pointer. Daftar deklarator terdiri dari satu atau beberapa deklarator, dipisahkan oleh koma.
Nama antarmuka dalam file IDL dan ACF harus sama, kecuali ketika Anda menggunakan sakelar pengkompilasi MIDL /acf.
Nama antarmuka membentuk bagian pertama dari nama struktur data penanganan antarmuka yang merupakan parameter untuk fungsi run-time RPC. Untuk informasi selengkapnya, lihat RPC_IF_HANDLE.
Jika header antarmuka menyertakan atribut [objek] untuk menunjukkan antarmuka COM, header antarmuka juga harus menyertakan atribut [uuid] dan harus menentukan antarmuka COM dasar dari mana ia diturunkan. Untuk informasi selengkapnya tentang antarmuka COM, lihat [objek].
Anda juga dapat menggunakan kata kunci antarmuka dengan kata kunci typedef untuk menentukan jenis data antarmuka.
/* use of interface keyword in IDL file for an RPC interface */
[
uuid (00000000-0000-0000-0000-000000000000),
version (1.0)
]
interface remote_if_2
{
// Interface definition statements.
}
/* use of interface keyword in ACF for an RPC interface */
[
implicit_handle( handle_t xa_bhandle )
]
interface remote_if_2
{
// Attribute configuration statements.
}
/* use of interface keyword in IDL file for a COM interface */
[
object, uuid (00000000-0000-0000-0000-000000000000)
]
interface IDerivedInterface : IBaseInterface
{
import "base.idl"
Save();
}
/* use of interface keyword to define an interface pointer type */
typedef interface IStorage *LPSTORAGE;