Почему битовая маска 0xFFFF используется, когда dwLocalPort из структуры PMIB_TCPROW2?
Я нашел этот ответ полезным: получение PID для однорангового сокета в Windows... но также и интригующе.
Я задаюсь вопросом: почему маскируются 16 бит row->dwLocalPort & 0xFFFF
из 32 битов DWORD в dwLocalPort?
Я знаю, что битовые маски используются для добавления дополнительной информации в 1 число, но мне кажется, что здесь это не нужно. Я пропускаю что-то простое?
1 ответ
Решение
Согласно MSDN, "максимальный размер номера IP-порта составляет 16 бит, поэтому следует использовать только младшие 16 бит. Верхние 16 бит могут содержать неинициализированные данные".
https://msdn.microsoft.com/en-ca/subscriptions/bb485761.aspx