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。
如果函数失败,则返回值为以下错误代码之一。
返回代码 | 说明 |
---|---|
|
操作无法完成。 |
|
向该函数传递了无效参数。 如果在 pdwBestIfIndex 参数中传递 NULL 指针,或者 pdwBestIfIndex 指向无法写入的内存,则返回此错误。 |
|
不支持该请求。 如果本地计算机上没有 IPv4 堆栈,则返回此错误。 |
|
使用 FormatMessage 函数获取返回错误的消息字符串。 |
注解
GetBestInterface 函数仅适用于 IPv4 地址。 若要与 IPv6 地址一起使用,必须使用 GetBestInterfaceEx 。
有关 IPAddr 数据类型的信息,请参阅 Windows 数据类型。 若要在点点十进制表示法和 IPAddr 格式之间转换 IP 地址,请使用 inet_addr 和 inet_ntoa 函数。
在 Windows Vista 及更高版本上,ip 帮助程序在内部将 pdwBestIfIndex 参数视为指向 NET_IFINDEX数据类型的 指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iphlpapi.h |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |