Microsoft MVP성태의 닷넷 이야기
문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드 [링크 복사], [링크+제목 복사]
조회: 4886
글쓴 사람
정성태 (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)
253정성태5/6/200912220같이 일한다는 것!!! [1]
252정성태4/27/200912252Extreme commuter
251정성태4/22/200912700ICIQ
250정성태4/18/200914001EFT(Emotional Freedom Techniques)
249정성태4/14/200913823부다피아 수진스님 금강경 법문 비디오 링크 모음 [1]파일 다운로드1
248정성태4/12/200917492데프콘 프로 삭제하는 방법 [3]
247정성태4/11/200929038데프콘 프로 삭제하는 방법 - 시행착오
246정성태4/11/200912811WindowsMonkey2 도구 소개
245정성태4/11/200911870Productivity Future Vision
244정성태4/5/200917874알툴바 1.41 버전과 IE 8의 충돌 및 임시 해결방법
243정성태3/29/200913620전기 잡아 먹는 귀신 - 웹 페이지
242정성태3/21/200912011P4 2.4G CPU 1개, 40GB 하드 2개, 80GB 하드 1개 필요하신 분! [1]
241정성태3/14/200917330새 컴퓨터 사양 ^^
240정성태2/25/200912320새로운 모습으로 재구성된 Visual Studio 2010 [2]
239정성태2/22/200912609Oxite - 포스트 편집/삭제, RSS 구독 버튼 [1]
238정성태2/22/200913604Oxite와 Windows Live Writer [1]
237정성태2/20/200915651조립할 PC 사양 - 평가 부탁드립니다. ^^ [2]
236정성태2/19/200915159마이크로소프트의 설치형 블로그 Oxite - 설치 가이드
235정성태2/14/200915705정토회 법륜스님 금강경 법문 비디오 링크 모음 [2]파일 다운로드1
233정성태2/14/200919682VPN 연결 [1]
232정성태2/12/200911852집안 분위기. [1]
231정성태2/5/200916384도스 명령어: cd
230정성태2/3/200911471PInvoke.net - Internet Explorer 검색 공급자
229정성태2/3/200911703by design
228정성태1/31/200912092Windows 7 베타 바탕 화면의 물고기는?
227정성태1/29/200916750파수닷컴 DRM, fph.exe 제거하는 방법
1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...