如何确定Windows中的活动适配器?

时间:2012-01-17 06:29:50

标签: windows api network-programming adapter

我有多个适配器就像默认的一样,wifi-net,带有usb等的3G卡在Windows中。 如何确定哪一个是活动?我试图使用GetAdaptersInfo / GetIfEntry,但没有答案。有人可以给我一些建议吗?

1 个答案:

答案 0 :(得分:3)

我不确定“活动一”是什么意思,所以我假设你的意思是“哪个网络适配器是到达互联网的默认设置”?

致电GetIpForwardTable。枚举表中的MIB_IPFORWARDROW个实例。 dwForwardDest 成员设置为零的行是默认路由。如果有多个行,dwForwardDest设置为0(如果您有多个adpater,则可能会发生这种情况),然后使用dwForwardMetric1成员作为决胜局(最低值获胜)

GetIpForwardTable找到默认路由行后,您可以使用dwForwardIfIndex成员来识别默认情况下GetIfTable调用中的哪个适配器。