atribut struct

Kata kunci struct digunakan dalam penentu jenis struktur.

struct [[ struct-tag ]] 
{
  [[ [ field-attribute-list ] ]] type-specifier declarator-list;
    ...
};

Parameter

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.

Keterangan

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.

Contoh

typedef struct _PITCHER_RECORD_TYPE 
{ 
    short flag; 
    [switch_is(flag)] union PITCHER_STATISTICS_TYPE p; 
} PITCHER_RECORD_TYPE;

Lihat juga

Array

Array dan Pointer

Atribut Array dan Sized-Pointer

Jenis Dasar MIDL

/c_ext

context_handle

Enum

first_is

File Definisi Antarmuka (IDL)

Mengabaikan

last_is

length_is

max_is

/osf

Ptr

Ref

size_is

string

switch_type

union

Unik