RtlEthernetAddressToStringA 函数 (ip2string.h)

RtlEthernetAddressToString 函数将二进制以太网地址转换为以太网 MAC 地址的字符串表示形式。

语法

NTSYSAPI PSTR RtlEthernetAddressToStringA(
  [in]  const DL_EUI48 *Addr,
  [out] PSTR           S
);

参数

[in] Addr

二进制格式的以太网地址。 以太网地址按网络顺序 (字节) 从左到右排序。

[out] S

指向用于存储以太网地址的 以 NULL 结尾的字符串表示形式的缓冲区的指针。 此缓冲区的大小应足以容纳至少 18 个字符。

返回值

指向插入到以太网 MAC 地址字符串表示形式的末尾的 NULL 字符的指针。 调用方可以使用它轻松地将更多信息追加到字符串。

注解

RtlEthernetAddressToString 函数用于将二进制以太网地址转换为以太网 EUI-48 数据链路层地址格式的字符串表示形式, (通常也称为 MAC 地址) 。 字符串表示以非 DIX 标准“-”表示法表示的数字以太网地址。

S 参数中返回的字符串以非 DIX 标准“-”表示法的以太网 MAC 地址字符串的形式表示。 以太网 MAC 地址的基本字符串表示形式由 F4-CE-46-2D-90-8C (短划线分隔的 6 对十六进制数字组成,例如) 。

RtlEthernetAddressToString 是一个便捷函数,它不需要加载 Windows 套接字 DLL 即可访问 Windows 套接字中提供的函数,以执行字符串到以太网地址的转换。

定义 UNICODE 或 _UNICODE时, RtlEthernetAddressToString 将定义为 RtlEthernetAddressToStringW,即此函数的 Unicode 版本。 字符串参数 S 和函数返回值定义为 PWSTR 数据类型。

如果未同时定义 UNICODE 和 _UNICODE, 则 RtlEthernetAddressToString 将定义为 RtlEthernetAddressToStringA,即此函数的 ANSI 版本。 字符串参数 S 和函数返回值定义为 PSTR 数据类型。

DL_EUI48数据类型在 Mstcpip.h 头文件中定义。

注意

ip2string.h 标头将 RtlEthernetAddressToString 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 ip2string.h (包括 Mstcpip.h、Ip2string.h)
Library ntdll.lib
DLL ntdll.dll

另请参阅

RtlEthernetStringToAddress