atribut struct
Kata kunci struct digunakan dalam penentu jenis struktur.
struct [[ struct-tag ]]
{
[[ [ field-attribute-list ] ]] type-specifier declarator-list;
...
};
-
struct-tag
-
Menentukan tag opsional untuk struktur.
-
field-attribute-list
-
Menentukan atribut bidang nol atau lebih yang berlaku untuk anggota struktur. Atribut bidang yang valid termasuk [first_is], [last_is], [length_is], [max_is], dan [size_is]; atribut penggunaan [string] dan [abaikan]; atribut pointer [ref], [unique], atau [ptr]; dan atribut union [switch_type]. Pisahkan beberapa atribut bidang dengan koma.
-
type-specifier
-
Menentukan jenis dasar, struct, union, atau pengidentifikasi jenis atau jenis enum . Spesifikasi penyimpanan opsional dapat mendahului type-specifier.
-
daftar deklarator
-
Menentukan satu atau beberapa deklarator C standar, seperti pengidentifikasi, deklarator pointer, dan deklarator array. (Deklarasi fungsi dan deklarasi bidang bit tidak diizinkan dalam struktur yang dikirimkan dalam panggilan prosedur jarak jauh. Deklarator ini diperbolehkan dalam struktur yang tidak ditransmisikan.) Pisahkan beberapa deklarator dengan koma.
Penentu jenis struktur IDL, struktur, berbeda dari penentu jenis C standar dengan cara berikut:
- Setiap anggota struktur dapat dikaitkan dengan atribut bidang opsional yang menjelaskan karakteristik anggota struktur tersebut untuk tujuan panggilan prosedur jarak jauh.
- Bidang bit dan deklarator fungsi tidak diperbolehkan dalam struktur yang digunakan dalam panggilan prosedur jarak jauh. Konstruksi deklarator C standar ini hanya dapat digunakan jika struktur tidak ditransmisikan pada jaringan.
Bentuk struktur harus sama di seluruh platform untuk memastikan interkonektivitas.
typedef struct _PITCHER_RECORD_TYPE
{
short flag;
[switch_is(flag)] union PITCHER_STATISTICS_TYPE p;
} PITCHER_RECORD_TYPE;