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_SIZE。 在 Ntddndis.h 头文件中声明没有终止 NULL 的接口名称的最大长度NDIS_IF_MAX_STRING_SIZE。 NDIS_IF_MAX_STRING_SIZE定义为 Ifdef.h 头文件中定义的IF_MAX_STRING_SIZE常量。 Ntddndis.h 和 Ifdef.h 头文件将自动包含在 Iphlpapi.h 头文件自动包含的 Netioapi.h 头文件中。 不应直接使用 Ntddndis.h、 Ifdef.h 和 Netioapi.h 头文件。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | netioapi.h (包括 Iphlpapi.h) |
Library | Iphlpapi.lib |
DLL | Iphlpapi.dll |