首页 > 解决方案 > 使用 GetAdaptersAddresses 获取 Mac 地址

问题描述

我正在使用“GetAdaptersAddresses”函数(使用 C++)来获取计算机的 MAC 地址。GetAdaptersAddresses 返回连接到系统的所有适配器的 PIP_ADAPTER_ADDRESSES 链接列表。我想专门获取以太网卡的物理地址。目前它位于 GetAdaptersAddresses 返回的列表的第一个节点,而 MSDN 文档 ( https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses ) 并没有具体说明提到了列表中适配器的顺序,并且可以根据连接的适配器进行更改。订单不可靠。此外,不同机器上的顺序不同。

确保以太网卡始终连接到设备,并且永远不会更改 MAC 地址。如何遍历列表获取以太网卡的物理地址?(我了解不能使用“描述”和“友好名称”,因为它们可以更改)

标签: c++windows

解决方案


你想检查IfType==IF_TYPE_ETHERNET_CSMACD


推荐阅读