0

我正在使用 mingw 编译我的 cpp 程序,该程序必须获取 MAC 地址。在 unix 中,sys/ioctl.h 提供 'SIOCGIFHWADDR' 来读取它。但是对于 mingw win32,有一个名为 ioctlsocket 的 ioctl 替代品。我正在使用它,但它没有“SIOCGIFHWADDR”命令。

如何使用 ioctlsocket 读取硬件 MAC 地址?

提前致谢。

以下是我正在使用的功能

ioctl(fd, SIOCGIFHWADDR, &ifr); //Unix it works
ioctlsocket(fd, SIOCGIFHWADDR, &ifr); //win32, doesn't work
4

1 回答 1

0

有一些不同的 Windows API 可以为您获取本地 MAC 地址。

GetAdaptersAddresses应该适合你。(查看返回的IP_ADAPTER_ADDRESSES集中的 PhysicalAddress 成员。

您还可以使用GetIfTable并查看返回的 MIB_IFROW 结构集中的 bPhysAddr 成员。

于 2012-03-08T07:39:32.093 回答