Serikat Terenkapsulasi

Serikat yang terkandung dengan diskriminannya dalam struktur di dalamnya adalah serikat yang dienkapsulasi. Penyatuan yang dienkapsulasi ditunjukkan oleh adanya kata kunci switch . Jenis serikat ini begitu dinamai karena kompilator MIDL secara otomatis merangkum serikat dan diskriminan dalam struktur untuk transmisi selama panggilan prosedur jarak jauh.

Jika tag gabungan hilang (U1_TYPE dalam contoh di atas), pengkompilasi akan menghasilkan struktur dengan bidang gabungan bernama tagged_union.

Bentuk serikat harus sama di seluruh platform untuk memastikan interkonektivitas.

Untuk deskripsi bentuk serikat yang dienkapsulasi, lihat serikat.

Contoh

typedef union _S1_TYPE switch (long l1) U1_TYPE 
{ 
    case 1024: 
        float f1; 
    case 2048: 
        double d2; 
} S1_TYPE; 
 
/* in generated header file */ 
typedef struct _S1_TYPE 
{ 
    long l1; 
    union 
    { 
        float f1; 
        double d2; 
    } U1_TYPE; 
} S1_TYPE;

Untuk informasi terkait, lihat Tipe Dasar MIDL, karakter, [context_handle], enum, [first_is], [handle], [ignore], int, [ignore], [last_is], [length_is], [max_is], [ ms_union], Unions Nonenkapsulasi, [ptr], [ref], [size_is], [string], struct, switch, [switch_is], [switch_type], [transmit_as], union, dan [unique]