if_nametoindex 函数 (netioapi.h)

if_nametoindex 函数将网络接口的 ANSI 接口名称转换为接口的本地索引。

语法

IPHLPAPI_DLL_LINKAGE NET_IFINDEX NETIOAPI_API_ if_nametoindex(
  [in] PCSTR InterfaceName
);

参数

[in] InterfaceName

指向包含接口名称的 以 NULL 结尾的 ANSI 字符串的指针。

返回值

成功后, if_nametoindex 返回本地接口索引。 失败时,返回零。

注解

if_nametoindex函数在 Windows Vista 及更高版本上可用。

if_nametoindex 函数将接口名称映射到其相应的索引中。 此函数设计为 IPv6 的基本套接字扩展的一部分,如 RFC 2553 中的 IETF 中所述。 有关详细信息,请参阅 http://www.ietf.org/rfc/rfc2553.txt

实现 if_nametoindex 函数是为了在 Unix 环境中移植应用程序,但 ConvertInterface 函数是首选函数。 if_nametoindex 函数可以替换为对 ConvertInterfaceNameToLuidA 函数的调用,以将 ANSI 接口名称转换为NET_LUID然后调用 ConvertInterfaceLuidToIndex 以将NET_LUID转换为本地接口索引。

如果 if_nametoindex 函数失败并返回零,则无法确定错误代码。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 netioapi.h (包括 Iphlpapi.h)
Library Iphlpapi.lib
DLL Iphlpapi.dll

另请参阅

ConvertInterfaceAliasToLuid

ConvertInterfaceGuidToLuid

ConvertInterfaceIndexToLuid

ConvertInterfaceLuidToAlias

ConvertInterfaceLuidToGuid

ConvertInterfaceLuidToIndex

ConvertInterfaceLuidToNameA

ConvertInterfaceLuidToNameW

ConvertInterfaceNameToLuidA

ConvertInterfaceNameToLuidW

NET_LUID

if_indextoname