什么是GetIpAddrTable的有效IPv4地址

时间:2012-11-28 21:03:48

标签: windows winapi networking

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

  

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

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

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

的交叉引用

1 个答案:

答案 0 :(得分:0)

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

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