在Windows 10上卸下LAN电缆时,NetBios堆栈会被清除

时间:2019-05-13 14:21:57

标签: windows tcp netbios

我有一个用C ++编写的古老组件,该组件使用netbios遍历网络适配器以返回其MAC地址。

在Windows 7下一切正常,但是由于我们移至Windows 10,因此在删除LAN电缆后代码无法检索MAC地址,因此在连接LAN电缆的情况下一切正常。

在Windows 7上,当我使用nbtstat -n时,得到的netbios列表符合预期,并且连接或断开了LAN电缆。在Windows 10上,我得到了附有LAN电缆的预期列表,但是在删除LAN电缆时却得到了一个空白列表。

我查看了电源设置,并检查了netbios是否已打开TCP / IP,一切看起来都很好。

不幸的是,由于组件太旧,无法重新编译该组件,因此我们的构建机器不再存在。

当没有LAN电缆连接时,我需要一种使NetBios在Windows 10上运行的方法。当前似乎发生的情况是,拔下LAN电缆后会清除该表,然后在重新插入时重新注册条目。该表在状态字段中简要显示“正在注册”,然后显示“已注册”。 / p>

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

答案是:

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. 将以下注册表项添加到Parameters子项: 名称:DisableDHCPMediaSense 数据类型:REG_DWORD(布尔) 价值:1 注意此条目控制媒体感应的行为。默认情况下,媒体检测事件会触发DHCP客户端采取措施。例如,发生连接事件时,客户端尝试获取租约。发生断开事件时,客户端可能会使接口和路由无效。如果将此值数据设置为1,则DHCP客户端和非DHCP客户端将忽略媒体检测事件。
  4. 重新启动计算机。