다음을 통해 공유


캡슐화된 공용 구조체

내 구조체에 해당 비범죄가 포함된 공용 구조체는 캡슐화된 공용 구조체입니다. 캡슐화된 공용 구조체는 스위치 키워드(keyword) 있는 것으로 표시됩니다. MIDL 컴파일러가 원격 프로시저 호출 중에 전송을 위해 구조체에서 공용 구조체와 해당 비범죄자를 자동으로 캡슐화하기 때문에 이 유형의 공용 구조체는 이름이 지정됩니다.

위의 예제에서 U1_TYPE 공용 구조체 태그가 없는 경우 컴파일러는 tagged_union 라는 공용 구조체 필드를 사용하여 구조를 생성합니다.

상호 연결을 보장하려면 플랫폼 간에 공용 구조체의 모양이 동일해야 합니다.

캡슐화된 공용 구조체의 형식에 대한 설명은 공용 구조체를 참조하세요.

예제

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;

관련 정보는 MIDL 기본 형식, char, [context_handle], 열거형, [first_is], [핸들], [무시], int, [무시], [last_is], [length_is], [max_is], [를 참조하세요. ms_union], Nonencapsulated Unions, [ptr], [ref], [size_is], [string], struct, switch, [switch_is], [switch_type], [transmit_as], union[unique]