ConvertInterfaceLuidToNameA 函数

ConvertInterfaceLuidToNameA 函数将网络接口的本地唯一标识符 (LUID) 转换为 ANSI 接口名称。

注意

ConvertInterfaceXxx API 系列枚举绑定到 TCP/IP 的所有接口上的标识符,这些接口可能包括虚拟微型端口、轻型筛选器、隧道适配器和物理接口。

语法

NETIOAPI_API ConvertInterfaceLuidToNameA(
  _In_  const NET_LUID *InterfaceLuid,
  _Out_       PSTR     InterfaceName,
  _In_        SIZE_T   Length
);

参数

  • InterfaceLuid [in]
    指向网络接口 NET_LUID 联合的指针。

  • InterfaceName [out]
    指向用于保存以 NULL 结尾的 ANSI 字符串的缓冲区的指针。 如果 ConvertInterfaceLuidToNameA 成功返回, 则 InterfaceName 包含 ANSI 接口名称。

  • Length [in]
    InterfaceName 参数指向的缓冲区的长度(以字节为单位)。 此值必须足够大,以便保存接口名称和终止 NULL 字符。 允许的最大长度为 NDIS_IF_MAX_STRING_SIZE + 1。 有关NDIS_IF_MAX_STRING_SIZE的详细信息,请参阅以下“备注”部分。

返回值

如果函数成功,ConvertInterfaceLuidToNameA 将返回STATUS_SUCCESS。 如果函数失败, ConvertInterfaceLuidToNameA 将返回以下错误代码之一:

返回代码 说明
STATUS_INVALID_PARAMETER

其中一个参数无效。 如果 InterfaceLuid 或 InterfaceName 为 NULL,或者 InterfaceLuid 无效,ConvertInterfaceLuidToNameA 将返回此错误。

STATUS_NOT_ENOUGH_MEMORY

如果 InterfaceName 缓冲区没有 Length 参数中指定的大小,因此缓冲区无法保存接口名称,则 ConvertInterfaceLuidToNameA 将返回此错误。

注解

ConvertInterfaceLuidToNameA 函数与协议无关,适用于 IPv6 和 IPv4 协议的网络接口。

在 Ntddndis.h 头文件中定义网络接口名称的最大长度(NDIS_IF_MAX_STRING_SIZE,不带终止 NULL 字符)。 NDIS_IF_MAX_STRING_SIZE定义为 ifdef.h 头文件中定义的IF_MAX_STRING_SIZE常量。

注意

Ntddndis.hIfdef.h 头文件会自动包含在 Netioapi.h 头文件中。 切勿直接使用 Ntddndis.hIfdef.h 头文件。

使用 ConvertInterfaceLuidToNameW 函数将网络接口 LUID 转换为 Unicode 接口名称。

要求

目标平台

通用

版本

在 Windows Vista 和更高版本的 Windows 操作系统中可用。

标头

Netioapi.h (包括 Netioapi.h)

Netio.lib

IRQL

PASSIVE_LEVEL

另请参阅

ConvertInterfaceAliasToLuid

ConvertInterfaceGuidToLuid

ConvertInterfaceIndexToLuid

ConvertInterfaceLuidToAlias

ConvertInterfaceLuidToGuid

ConvertInterfaceLuidToIndex

ConvertInterfaceLuidToNameW

ConvertInterfaceNameToLuidA

ConvertInterfaceNameToLuidW

NET_LUID