Freigeben über


Gekapselte Unionen

Eine Union, die mit ihrer Diskriminanz in einer Struktur innerhalb enthalten ist, ist eine gekapselte Union. Die gekapselte Union wird durch das Vorhandensein des Schalters Schlüsselwort (keyword) angezeigt. Diese Art von Union wird so benannt, weil der MIDL-Compiler die Union und ihre Diskriminanz automatisch in einer Struktur für die Übertragung während eines Remoteprozeduraufrufs kapselt.

Wenn das Union-Tag fehlt (U1_TYPE im obigen Beispiel), generiert der Compiler die Struktur mit dem Unionsfeld tagged_union.

Die Form der Gewerkschaften muss plattformübergreifend identisch sein, um die Interkonnektivität zu gewährleisten.

Eine Beschreibung der Form einer gekapselten Union finden Sie unter Union.

Beispiele

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;

Verwandte Informationen finden Sie unter MIDL-Basistypen, char, [context_handle], enum, [first_is], [handle], [ignore], int, [ignore], [last_is], [length_is], [max_is], [ ms_union], Nicht gekapselte Unions, [ptr], [ref], [size_is], [string], struct, switch, [switch_is], [switch_type], [transmit_as], union und [unique]