2017-12-04 12 views
0

이 대답은 유용한 것으로 나타났습니다 : Getting PID of peer socket on Windows .. 흥미 롭습니다.PMIB_TCPROW2 구조체에서 dwLocalPort를 사용할 때 0xFFFF의 비트 마스크가 사용되는 이유는 무엇입니까?

궁금한데 : 왜 dwLocalPort의 32 DWORD 비트 중 row->dwLocalPort & 0xFFFF에 16 비트가 마스크되어 있습니까?

나는 비트 마스크가 1 개의 숫자에 더 많은 정보를 추가하는 데 사용된다는 것을 알고 있지만 여기에서는 필요하지 않다. 나는 간단한 것을 간과하고 있는가?

답변

4

MSDN에서 "IP 포트 번호의 최대 크기는 16 비트이므로 하위 16 비트 만 사용해야하며 상위 16 비트는 초기화되지 않은 데이터를 포함 할 수 있습니다." 그들이이 제로로 설정보다는 초기화되지 않은 그 비트를 왼쪽 이유

https://msdn.microsoft.com/en-ca/subscriptions/bb485761.aspx

+0

그래서 내가 궁금해? –

+0

@ MarkRansom • 우리는 동료 Raymond Chen을 비난 할 수 있습니다. 그는 다른 개발자의 혼란에 대해 많은 비난을받습니다. (나는 꼬마 야! 레이몬드는 대단해. 그는 윈도우가 인간 답게 최대한 호환되도록하는 철저한 충실한 사람들 중 하나이다.) – Eljay

+1

나는 아이를 안다. 레이몬드 첸은 내 영웅 중 하나이다. 그는 StackOverflow에 몇 번이고 올리기도하는데, 나는 그가 어떻게 시간을 발견했는지 모른다. –