Функция GetBestInterface (iphlpapi.h)

Функция GetBestInterface извлекает индекс интерфейса, который имеет лучший маршрут к указанному IPv4-адресу.

Syntax

IPHLPAPI_DLL_LINKAGE DWORD GetBestInterface(
  [in]  IPAddr dwDestAddr,
  [out] PDWORD pdwBestIfIndex
);

Parameters

[in] dwDestAddr

Целевой IPv4-адрес, для которого требуется получить интерфейс с лучшим маршрутом в виде структуры IPAddr .

[out] pdwBestIfIndex

Указатель на переменную DWORD , которая получает индекс интерфейса, который имеет лучший маршрут к адресу IPv4, указанному dwDestAddr.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение NO_ERROR.

Если функция завершается ошибкой, возвращаемое значение является одним из следующих кодов ошибок.

Код возврата Description
ERROR_CAN_NOT_COMPLETE
Не удалось завершить операцию.
ERROR_INVALID_PARAMETER
Недопустимый параметр был передан функции. Эта ошибка возвращается, если указатель NULL передается в параметре pdwBestIfIndex или если pdwBestIfIndex указывает на память, которая не может быть записана.
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере отсутствует стек IPv4.
Другое
Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Замечания

Функция GetBestInterface работает только с IPv4-адресами. Для использования с IPv6-адресами необходимо использовать GetBestInterfaceEx .

Сведения о типе данных IPAddr см. в Windows типах данных. Чтобы преобразовать IP-адрес между точечной десятичной нотацией и форматом IPAddr , используйте функции inet_addr и inet_ntoa .

В Windows Vista и более поздних версиях параметр pdwBestIfIndex внутренне обрабатывается вспомогательным IP-адресом как указатель на тип данных NET_IFINDEX.

Requirements

Требование Value
Минимальный поддерживаемый клиент Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Windows
Header iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

См. также

GetBestInterfaceEx

GetBestRoute

Справочник по вспомогательным функциям IP

Начальная страница вспомогательного IP-адреса

IPAddr

MIB_BEST_IF

Типы данных Windows