if_indextoname 函数 (netioapi.h)

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

语法

IPHLPAPI_DLL_LINKAGE PCHAR NETIOAPI_API_ if_indextoname(
  [in]  NET_IFINDEX InterfaceIndex,
  [out] PCHAR       InterfaceName
);

参数

[in] InterfaceIndex

网络接口的本地索引。

[out] InterfaceName

指向缓冲区的指针,用于在函数成功返回时保存包含接口名称的 以 NULL 结尾的 ANSI 字符串。 此参数指向的缓冲区的长度(以字节为单位)必须等于或大于 IF_NAMESIZE

返回值

成功后, if_indextoname 返回指向包含接口名称的 以 NULL 结尾的 ANSI 字符串的指针。 失败时,返回 NULL 指针。

注解

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

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

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

如果 if_indextoname 失败并返回 NULL 指针,则无法确定错误代码。

InterfaceName 参数指向的缓冲区的长度(以字节为单位)必须等于或大于 IF_NAMESIZE,Netioapi.h 头文件中声明的值等于 NDIS_IF_MAX_STRING_SIZENtddndis.h 头文件中声明没有终止 NULL 的接口名称的最大长度NDIS_IF_MAX_STRING_SIZENDIS_IF_MAX_STRING_SIZE定义为 Ifdef.h 头文件中定义的IF_MAX_STRING_SIZE常量。 Ntddndis.hIfdef.h 头文件将自动包含在 Iphlpapi.h 头文件自动包含的 Netioapi.h 头文件中。 不应直接使用 Ntddndis.hIfdef.h Netioapi.h 头文件。

要求

要求
最低受支持的客户端 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_nametoindex