2016-02-10 5 views
0

Функция GetAdaptersInfo позволяет извлекать адресную информацию, включая сетевую маску и шлюз по умолчанию для всех адаптеров.Как получить сетевую маску и шлюз по умолчанию адаптеров в WEC2013

Эта функция устарела с Windows Embedded Compact 7. «Функциональность для использования» перечисляет функцию GetAdaptersAddresses в качестве замены. Но эта функция не сообщает сетевую маску и шлюз по умолчанию.

Как получить сетевую маску и шлюз по умолчанию сетевых адаптеров?

ответ

0

GetAdaptersAddresses возвращает связанный список структур IP_ADAPTER_ADDRESSES.

Внутри каждого IP_ADAPTER_ADDRESSES поле FirstUnitcastAddress указывает на список IP_ADAPTER_UNICAST_ADDRESSES структур.

Внутри каждого IP_ADAPTER_UNICAST_ADDRESSES есть поле под названием OnLinkPrefixLength, которое определяет сетевую маску как длину в битах сетевой части IP-адреса. Обратите внимание, что это поле не документировано для WEC2013 (это для настольных Windows, хотя).

Чтобы преобразовать OnLinkPrefixLength в маску ULONG, используйте ConvertLengthToIpv4Mask.

Адрес шлюза предоставляется через поле FirstGatewayAddress в каждом IP_ADAPTER_ADDRESSES struct.