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


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

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

Синтаксис

IPHLPAPI_DLL_LINKAGE DWORD GetBestInterfaceEx(
  [in]  sockaddr *pDestAddr,
  [out] PDWORD   pdwBestIfIndex
);

Параметры

[in] pDestAddr

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

[out] pdwBestIfIndex

Указатель на индекс интерфейса с лучшим маршрутом к IPv6 или IPv4-адресу, указанному pDestAddr.

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

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

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

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

Замечания

Функция GetBestInterfaceEx отличается от функции GetBestInterface , которая может использоваться с IPv4 или IPv6-адресами.

Член семейства структуры sockaddr, на который указывает параметр pDestAddr , должен иметь одно из следующих значений: AF_INET или AF_INET6.

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

Требования

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

См. также

GetBestInterface

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

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

MIB_BEST_IF

sockaddr