if_indextoname 函数
if_indextoname 函数将网络接口的本地索引转换为 ANSI 接口名称。
语法
PCHAR NETIOAPI_API_ if_indextoname(
_In_ NET_IFINDEX InterfaceIndex,
_Out_ PCHAR InterfaceName
);
参数
InterfaceIndex [in]
网络接口的本地索引。InterfaceName [out]
指向用于保存 NULL 终止的 ANSI 字符串的缓冲区的指针。 如果 if_indextoname 成功,InterfaceName 包含 ANSI 接口名称。 此参数指向的缓冲区的长度(以字节为单位)必须等于或大于IF_NAMESIZE。 有关IF_NAMESIZE的详细信息,请参阅以下“备注”部分。
返回值
如果此函数成功,if_indextoname 返回指向包含接口名称的 NULL 终止 ANSI 字符串的指针。 如果此函数失败,if_indextoname 返回 NULL 指针
言论
if_indextoname 函数将接口索引映射到其相应的名称。 此函数设计为 IPv6 的基本套接字扩展的一部分,如 RFC 2553中的 IETF 所述。
if_indextoname 函数实现用于使用 Unix 环境的驱动程序的可移植性,但 ConvertInterfaceXxx 函数是转换网络接口标识符的首选方法。 可以通过调用 ConvertInterfaceIndexToLuid 函数来替换 if_indextoname 函数,以便将接口索引转换为 NET_LUID 联合,然后调用 ConvertInterfaceLuidToNameA 函数将NET_LUID转换为 ANSI 接口名称。
InterfaceName 参数指向的缓冲区的长度(以字节为单位)必须等于或大于IF_NAMESIZE。 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 头文件将自动包含在 Netioapi.h 头文件中。 不应直接使用 Ntddndis.h 和 Ifdef.h 头文件。
如果 if_indextoname 函数失败并返回 NULL 指针,则无法确定错误代码。
要求
目标平台 |
通用 |
版本 |
在 Windows Vista 和更高版本的 Windows作系统中可用。 |
页眉 |
Netioapi.h (包括 Netioapi.h) |
图书馆 |
Netio.lib |
IRQL |
PASSIVE_LEVEL |