我正在使用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
答案 0 :(得分:0)
有一些不同的Windows API可以为您获取本地MAC地址。
GetAdaptersAddresses应该适合你。 (查看返回的IP_ADAPTER_ADDRESSES集合中的PhysicalAdddress成员。
您也可以使用GetIfTable并查看返回的MIB_IFROW结构集中的bPhysAddr成员。