GetIpAddrTable的有效IPv4地址是什么



我想知道win32GetIpAddrTable函数调用的上下文中的"有效IPv4地址"是什么。文档指出,此函数在Vista及更高版本上不会返回无效的IPv4地址。它没有解释它是如何确定有效性的。

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

我正在深入研究一个问题,即对此函数的调用没有返回正在运行的适配器的地址。适配器使用驱动程序的DHCP服务器来分配链接本地IP地址。在大多数系统上,这都可以正常工作。在特定的客户系统上,它没有。

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

交叉引用

  • GetIpAddrTable返回的适配器列表与GetAdaptersAddresses不同

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

我现在已经确认,当限制为IPv4接口时,GetAdaptersAddresses也会跳过我们的网络适配器。因此,在识别IPv4接口时,驱动程序和Windows之间似乎存在问题。

最新更新