WEC2013中如何获取适配器的网络掩码和默认网关

How to get netmask and default gateway of adapters in WEC2013

函数 GetAdaptersInfo 允许检索地址信息,包括所有适配器的网络掩码和默认网关。

此函数自 Windows Embedded Compact 7 后已弃用。 "Functionality To Use Instead" 列出函数 GetAdaptersAddresses 作为替换。但是这个函数不报告网络掩码和默认网关。

如何获取网络适配器的网络掩码和默认网关?

GetAdaptersAddresses returns IP_ADAPTER_ADDRESSES 结构的链表。

在每个 IP_ADAPTER_ADDRESSES 中,FirstUnitcastAddress 字段指向 IP_ADAPTER_UNICAST_ADDRESSES 结构的列表。

在每个 IP_ADAPTER_UNICAST_ADDRESSES 中有一个名为 OnLinkPrefixLength 的字段,它将网络掩码指定为 IP 地址网络部分的长度(以位为单位)。请注意,此字段未针对 WEC2013 进行记录(但它适用于桌面 Windows)。

要将 OnLinkPrefixLength 转换为 ULONG 掩码,请使用 ConvertLengthToIpv4Mask

网关地址通过每个 IP_ADAPTER_ADDRESSES 结构中的 FirstGatewayAddress 字段提供。