Microsoft MVP성태의 닷넷 이야기
[질문/답변] IDL에 union 선언하는 방법은? [링크 복사], [링크+제목 복사]
조회: 1735
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

--------------------------- [질문] -------------------------------

 제가 IDL에 union으로 선언을하여 사용하고자 합니다.

 

제가 원하는 것은 C++스타일대로 선언한다면

struct AAAA

{

    int a;

    union type

    {

        struct BBB;

        struct CCC;

    };

}

 

즉 구조체를 선언할때 a 값에 따라 BBB를 사용하거나 CCC를 사용하거나 하고자 합니다.

 

자바의 IDL은

union type switch(int)

{

    case 0: BBB b;

    case 1: CCC c;

    default: int i;

}

이런식으로 하던데... 혹시나 해서 이대로 선언도 해봤는데 안되네요.. 급한데 도움 좀 주세요....

--------------------------- [답변] -------------------------------

C/C++보다는 구문이 좀 복잡합니다만 MIDL에서도 Union을 지원합니다.

switch_type
; https://docs.microsoft.com/ko-kr/cpp/windows/attributes/switch-type?view=msvc-160

위의 토픽을 보시면 간단한 예제가 함께 있으니 참고하시면 금방 적용하실 수 있을 겁니다. ^^








[최초 등록일: ]
[최종 수정일: 6/21/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호

댓글 작성자
 



2022-10-03 02시37분
C/C++보다는 구문이 좀 복잡합니다만 MIDL에서도 Union을 지원합니다.

switch_type
; https://learn.microsoft.com/en-us/cpp/windows/attributes/switch-type
정성태

1  2  [3]  4  5 
NoWriterDateCnt.TitleFile(s)
87정성태7/29/20062788    답변글 [답변]: .NET 클래스는 그대로 COM 개체로 노출 될 수 있습니다.
84정성태7/29/20063251[질문] 동적으로 불러온 유저컨트롤에 접근.
85정성태7/29/20062160    답변글 [답변]: Interface 를 정의하십시오.
82정성태7/29/20062076[질문] 예외 catch한후 버리는방법 아시나요??
83정성태7/29/20062025    답변글 [답변]: HttpContext.ClearError 메서드를 사용하세요.
80정성태7/29/20062547[질문] 인터넷 연결이 끊긴상황(랜카드 랜포트 뽑기)을 알려면 어떻게 하나요!?
81정성태7/29/20062164    답변글 [답변]: SENS API 가 있습니다.
78정성태7/29/20062304[질문] ShellExecute() 함수의 Time Over 체크
79정성태7/29/20063539    답변글 [답변]: 꼭 ShellExecute 여야 하나요?^^
76정성태7/29/20062330[질문] C#에서 MASM으로 컴파일한 .OBJ를 사용할 수 없을까요?
77정성태7/29/20062306    답변글 [답변]: 거기까지는 제공을 하지 않았을 것 같습니다.
74정성태7/29/20063939[질문] StreamReader.ReadLine사용시 position 문제 질문 [2]
75정성태7/29/20062318    답변글 [답변]: 내부적으로 Buffer 를 사용하기 때문입니다.
72정성태7/29/20063342[질문] InternetOpenUrl에서 응답없음 경험해 보신 분...
73정성태7/29/20061808    답변글 [답변]: 정확하지는 않겠지만. ^^
70정성태7/29/20061904[질문] 프로세스 얻은후, HWND를 얻으려면?
71정성태7/29/20061672    답변글 [답변]: 공개된 코드를 사용하세요.
68정성태7/29/20061735[질문/답변] IDL에 union 선언하는 방법은? [1]
66정성태7/29/20061615[질문] 파일이 삭제가 되지 않는 현상
67정성태7/29/20061937    답변글 [답변]: "무조건 삭제" 란 것은 없습니다.
64정성태7/29/20061506[질문] 어떤 프로그램의 뮤텍스들을 얻어올수 있나요? [1]
62정성태7/29/20061437[질문] time.h에 관한 간단한 질문입니다.
63정성태7/29/20063518    답변글 [답변]: COleDateTime 클래스를 사용해 보세요.
60정성태7/29/20062332[질문] 이번엔 WriteProcessMemory
61정성태7/29/20062763    답변글 [답변]: SeDebugPrivilege 특권을 enable 시켜야 합니다.
58정성태7/29/20061668[질문] System.Diagnostics.Process 사용시
1  2  [3]  4  5