Microsoft MVP성태의 닷넷 이야기
문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드 [링크 복사], [링크+제목 복사]
조회: 1674
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드

C#에서 Win32 API 연동을 위해 Interop 구조체를 docs 문서에서 참고했는데,

IORING_HANDLE_REF structure (ioringapi.h)
; https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/ns-ioringapi-ioring_handle_ref

다음과 같은 형식으로 코드가 실려 있습니다.

typedef struct IORING_HANDLE_REF {
  void            IORING_HANDLE_REF(
    HANDLE h
  );
  void            IORING_HANDLE_REF(
    UINT32 index
  );
  IORING_REF_KIND Kind;
  union {
    HANDLE Handle;
    UINT32 Index;
  } HandleUnion;
  HandleUnion     Handle;
} IORING_HANDLE_REF;

저런 구문이 최근 C/C++ 표준에 가능해졌나... 하고 잠시 헤맨 끝에 결국 그냥 Windows SDK에 포함된 헤더 파일을 보고 저것이 docs 웹 사이트에 올려지는 과정에서 잘못 전처리된 코드라는 것을 알게 되었습니다. 즉, 원래는 이런 코드였던 것입니다.

typedef struct IORING_HANDLE_REF
{
    explicit IORING_HANDLE_REF(HANDLE h)
        : Kind(IORING_REF_KIND::IORING_REF_RAW)
        , Handle(h)
    {}

    explicit IORING_HANDLE_REF(UINT32 index)
        : Kind(IORING_REF_KIND::IORING_REF_REGISTERED)
        , Handle(index)
    {}

    IORING_REF_KIND Kind;
    union HandleUnion
    {
        HandleUnion(HANDLE h)
            : Handle(h)
        {}

        HandleUnion(UINT32 index)
            : Index(index)
        {}

        // Handle to the file object if Kind == IORING_REF_RAW
        HANDLE Handle;

        // Index of registered file handle if Kind == IORING_REF_REGISTERED
        UINT32 Index;
    } Handle;
} IORING_HANDLE_REF;

그러니, docs 문서를 너무 믿지 마세요. ^^









[최초 등록일: ]
[최종 수정일: 4/20/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
496정성태9/30/201514468도서 - 누워서 읽는 알고리즘 [1]
495정성태9/3/201513989도서 - Embedded Recipes [2]
494정성태8/21/201514260마이크로소프트 워드 문서에서 위/아래 첨자 단어 검색하는 방법 [2]
493정성태8/11/201512084XBox One의 헤일로 게임 ^^ [2]
492정성태6/1/201512217윈도우 10 무료 업그레이드 예약 시작
491정성태5/9/201517990hiberfil.sys 파일의 위치를 옮길 수 있을까요?
490정성태4/15/201523458(가능한 정확한 발음의) 대불정능엄신주 [3]파일 다운로드2
489정성태3/24/201515849파티션 관리 프로그램 추천 - MiniTool Partition Wizard
488정성태3/20/201530360유튜브(youtube) 동영상을 다운로드 하는 프로그램 youtube-dl 소개 [14]
487정성태2/19/201527637미라캐스트 vs 크롬캐스트파일 다운로드1
486정성태2/11/201515444성태도 해본 ^^ PC-Fi 구성 [2]파일 다운로드1
484정성태10/5/201425141GTX660으로 모니터 3대를 Surround로 연결(5760*1080 해상도) [3]
483정성태9/17/201435114비트코인 지갑 생성 및 채굴 방법 [5]
482정성태7/28/201416854질문/답변 게시물이 일부 폭파되었습니다. [9]
481정성태7/2/201418899한국장학재단(www.kosaf.go.kr) 서류 제출의 첨부 파일 등록 안되는 문제 [5]
480정성태6/11/201413363국내 미러링 사이트의 존재 이유가??? [2]
479정성태5/10/201415611IITC 도구 - Ingress의 Link/Field를 확인하는 방법 [4]
478정성태4/1/201411975일본 출장 시 남긴 오사카의 Ingress 필드
477정성태1/25/201413414세바시 335회 그래, 여기까지 잘 왔다 @김창옥 서울여대 기독교학과 겸임교수
476정성태1/21/201414627세상에 단 하나 뿐인 C# 머그컵 [2]
475정성태1/19/201413423차에 블랙박스 꼭 달으세요. ^^ [2]
474정성태1/15/201420247Internet Explorer 11 - GDI 리소스 누수로 화면 깨짐 현상 [1]
473정성태1/14/201412290Google+ Hangouts 대신 예전의 구글톡(Google Talk)을 사용하고 싶다면? [1]
472정성태1/11/201421518Wacom BAMBOO 태블릿 - 우 클릭이 안되거나 좌표가 어긋나는 문제 [5]
471정성태1/9/201415544우와~~~ 2014년 새로운 PC를 장만했습니다. ^^ [2]
470정성태1/9/201416705Wacom BAMBOO 태블릿 - 클릭이 더블 클릭으로 처리되는 문제
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...