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 变量的指针,该变量接收接口的索引,该接口的索引与 dwDestAddr 指定的 IPv4 地址的最佳路由。

返回值

如果函数成功,则返回值NO_ERROR。

如果函数失败,则返回值为以下错误代码之一。

返回代码 Description
ERROR_CAN_NOT_COMPLETE
操作无法完成。
ERROR_INVALID_PARAMETER
将无效参数传递给函数。 如果在 pdwBestIfIndex 参数中传递 NULL 指针,或者 pdwBestIfIndex 指向无法写入的内存,则返回此错误。
ERROR_NOT_SUPPORTED
不支持该请求。 如果本地计算机上没有 IPv4 堆栈,则返回此错误。
其他
使用 FormatMessage 函数获取返回的错误的消息字符串。

注解

GetBestInterface 函数仅适用于 IPv4 地址。 若要与 IPv6 地址一起使用,必须使用 GetBestInterfaceEx 。

有关 IPAddr 数据类型的信息,请参阅Windows数据类型。 若要在点小数表示法和 IPAddr 格式之间转换 IP 地址,请使用 inet_addr 和 inet_ntoa 函数。

在 Windows Vista 及更高版本上,IP 帮助程序在内部将 pdwBestIfIndex 参数视为指向 NET_IFINDEX 数据类型的指针。

Requirements

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows操作系统
Header iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

另见

GetBestInterfaceEx

GetBestRoute

IP 帮助程序函数参考

IP 帮助程序起始页

IPAddr

MIB_BEST_IF

Windows 数据类型