Microsoft MVP성태의 닷넷 이야기
문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드 [링크 복사], [링크+제목 복사],
조회: 16468
글쓴 사람
정성태 (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)
311정성태4/24/201021503SSD 달린 새 컴퓨터 ^^ [1]
309정성태4/13/201034264ATI Radeon에서 HDMI 연결 시 1080p 화면이 축소되는 경우 해결책 [1]
308정성태4/7/201022685[종료] DDR2 2GB 메모리 2개 드립니다.
307정성태4/5/201023174윈도우 7 64비트 환경에서 SoftCamp 키보드 보안 충돌나는 문제 해결 방법
306정성태3/23/201020159DAEMON 설치 실패 - This program requires at least Windows 2000 with SPTD 1.60 or higher.
305정성태3/10/201021752Step by Step: Windows 7에서 숨김 폴더, 파일, 파일 확장명 표시하기
304정성태2/10/201018718최근 연모가 실행 안되는 문제 [2]
303정성태2/9/201017971Step by Step: Windows 7에서 자주 쓰는 폴더 관리하기 [5]
302정성태1/17/201027333Microsoft Word 2007: [팁] 목차에 원치 않는 항목이 들어가는 문제 [2]
301정성태1/17/201022269Microsoft Word 2007로 매뉴얼 제작: (7) 문서 비교
300정성태1/17/201025713Microsoft Word 2007로 매뉴얼 제작: (6) 문서 버전 관리
299정성태1/17/201031367Microsoft Word 2007로 매뉴얼 제작: (5) 표, 그림의 번호 지정 [9]파일 다운로드1
298정성태1/17/201024951Microsoft Word 2007로 매뉴얼 제작: (4) 인덱스 구성 [3]파일 다운로드1
297정성태1/17/201033513Microsoft Word 2007로 매뉴얼 제작: (3) 목차 구성파일 다운로드1
296정성태1/17/201023536Microsoft Word 2007로 매뉴얼 제작: (2) 맞춤법 검사파일 다운로드1
295정성태1/17/201039706Microsoft Word 2007로 매뉴얼 제작: (1) 머리말, 꼬리말, 본문 기본 서식 지정 [3]파일 다운로드1
294정성태1/3/2010232632009년 인기 순위 정리
293정성태1/3/201018824UAC 모드에서 연모가 실행이 안된다면!
292정성태1/1/201020641플래시 영상이 IE 8에서 안 보이는 문제
291정성태12/26/200919584The Cranberries-Ode To My Family
289정성태12/11/200919662Windows 7 - 사용자가 선택한 "보안 하향"
288정성태12/10/200921012Windows Server 2008 R2 에서 Sticky Notes 사용 [1]
287정성태12/3/200921609일단락된 윈도 7 블랙 스크린 사건
286정성태12/2/200922774무선랜 보안 취약점과 대책
285정성태11/27/200927608새로운 노트북: Dell Studio 1557 - Core i7 820QM
284정성태11/24/200921860새로운 직장 [2]
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...