Поделиться через


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

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

Синтаксис

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

Параметры

[in] dwDestAddr

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

[out] pdwBestIfIndex

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

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

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

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

Код возврата Описание
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 .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header iphlpapi.h
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

См. также раздел

GetBestInterfaceEx

GetBestRoute

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

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

IPAddr

MIB_BEST_IF

Типы данных Windows