getBestInterface 函数 (iphlpapi.h)

GetBestInterface 函数检索具有指定 IPv4 地址的最佳路由的接口的索引。

语法

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

参数

[in] dwDestAddr

要检索具有最佳路由的接口的目标 IPv4 地址,采用 IPAddr 结构的形式。

[out] pdwBestIfIndex

指向 DWORD 变量的指针,该变量接收接口的索引,该接口具有 dwDestAddr 指定的 IPv4 地址的最佳路由。

返回值

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

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

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

注解

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

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

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

要求

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

另请参阅

GetBestInterfaceEx

GetBestRoute

IP 帮助程序函数参考

IP 帮助程序起始页

IPAddr

MIB_BEST_IF

Windows 数据类型