Стек NetBios очищается при удалении сетевого кабеля в Windows 10 - PullRequest
0 голосов
/ 13 мая 2019

У меня есть древний компонент, написанный на C ++, который использует netbios для перебора сетевых адаптеров, чтобы вернуть их MAC-адрес.

Все работает нормально под Windows 7, но, поскольку мы перешли на Windows 10, код не может получить MAC-адреса при удалении кабеля локальной сети, все работает нормально с подключенным кабелем локальной сети.

Вкл.Windows 7, когда я использую nbtstat -n, я получаю список netbios, как и ожидалось, с подключенным или отключенным кабелем локальной сети.В Windows 10 я получаю ожидаемый список с подключенным кабелем LAN, но пустой список, когда кабель LAN отсоединен.

Я посмотрел настройки питания и проверил, включен ли netbios для TCP / IP ивсе выглядит хорошо.

К сожалению, компонент не может быть перекомпилирован, так как он очень старый и наша сборочная машина больше не существует.

Мне нужен способ, чтобы NetBios работал в Windows 10, когда не подключен кабель локальной сети.В настоящее время, похоже, происходит то, что таблица очищается при удалении кабеля локальной сети, а затем записи повторно регистрируются, когда он снова подключается. В таблице кратко показано «регистрация» в поле состояния, а затем «зарегистрирован».

Любые идеи будут наиболее ценными.

1 Ответ

0 голосов
/ 16 мая 2019

Ответ:

https://support.microsoft.com/en-ie/help/239924/how-to-disable-the-media-sensing-feature-for-tcp-ip-in-windows

  1. Запустите редактор реестра.
  2. Найдите следующий раздел реестра: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Tcpip \ Parameters
  3. Добавьте следующую запись реестра в подраздел Параметры: Имя: DisableDHCPMediaSense Тип данных: REG_DWORD (логический) Значение: 1 Примечание. Эта запись управляет поведением Media Sensing. По умолчанию события Media Sensing инициируют действие DHCP-клиента. Например, когда происходит событие подключения, клиент пытается получить аренду. Когда происходит событие отключения, клиент может сделать интерфейс и маршруты недействительными. Если для этого значения задано значение 1, клиенты DHCP и клиенты, не являющиеся DHCP, игнорируют события распознавания мультимедиа.
  4. Перезагрузите компьютер.
...