【问题标题】:What is a Valid IPv4 Address for GetIpAddrTable什么是 GetIpAddrTable 的有效 IPv4 地址
【发布时间】:2012-11-28 21:03:48
【问题描述】:

我想知道 win32 GetIpAddrTable 函数调用的上下文中的“有效 IPv4 地址”是什么。 documentation 表示此函数在 Vista 及更高版本上不会返回无效的 IPv4 地址。它没有解释它如何确定有效性。

在 Windows Server 2008 和 Windows Vista 上,返回的 IPv4 地址 通过 GetIpAddrTable 函数不受媒体感应的影响 本地计算机上 TCP/IP 堆栈的功能。 GetIpAddrTable 函数只返回有效的 IPv4 地址。

我正在研究一个问题,即对该函数的调用未返回正常工作的适配器的地址。适配器使用驱动程序的 DHCP 服务器来分配链路本地 IP 地址。在大多数系统上,这工作正常。在特定的客户系统上,它不会。

Ping 和流量测试工作正常,适配器显示在来自GetAdaptersAddresses 的输出中。我的另一个问题似乎表明唯一的区别应该是 IPv6 支持。有问题的适配器也接收到链接本地 IPv6 地址,但这不应该阻止它出现在 GetIpAddrTable 输出中吗?

交叉引用

【问题讨论】:

    标签: windows winapi networking


    【解决方案1】:

    简单的答案:它完全按照它所说的去做 - 它返回运行 IPv4 的连接接口。

    我现在确认 GetAdaptersAddresses 在限制为 IPv4 接口时也会跳过我们的网络适配器。所以看来驱动程序和Windows在识别为IPv4接口方面存在问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-10
      • 2011-11-24
      • 2018-08-23
      • 1970-01-01
      • 2014-12-19
      • 2010-10-21
      • 2020-01-20
      • 1970-01-01
      相关资源
      最近更新 更多