Согласно этой ссылке , NetBIOS больше не поддерживается, начиная с Windwos Vista. Конечно, я больше не вижу NetBIOS-имя в сетевых свойствах.
Однако, когда я пишу коды в своей Windows 7, я все еще сталкиваюсь с NetBIOS-именами во многих местах. Например
Я предполагаю, что Microsoft по-прежнему поддерживает некоторые из них для обратной совместимости. Я хочу понять, как Windows 7 будет преобразовывать имя NetBIOS в IP-адрес. Я нашел эту статью, в которой объясняется, как работает разрешение имен NetBIOS , но я боюсь, что это уже не так в Windows 7. По крайней мере, для меня нет WINS-сервера.
Мой последний вопрос: как программно выполнить разрешение имен NetBIOS, предпочтительно на C #. Я могу использовать PInvoke.
UDAPTE
Тридус был прав. Я могу использовать System.Net.Dns.GetHostAddresses («имя хоста») для разрешения имени NetBIOS. Я использовал отражатель, чтобы увидеть, что происходит под капотом. Он вызывает gethostbyname () из ws2_32.dll
Здесь , он объясняет, что gethostbyname () выполняет разрешение имени NetBIOS.
- Проверьте имя локального хоста на совпадение имени.
- Проверьте файл Hosts на соответствие записи имени.
- Если DNS-сервер настроен, запросите его.
- Если совпадение не найдено, попробуйте NetBIOS разрешение имен.
О загадке NetBIOS, не поддерживаемой в этой ссылке , я думаю, это просто означает, что API не поддерживается. Пользователи ServerFault считают, что NetBIOS все еще поддерживается в Windows 7.