【发布时间】:2014-08-13 17:52:10
【问题描述】:
我知道我可以使用GetAdaptersAddresses 来检索机器上网络接口的信息。此外,我想确定哪些接口是指集成在主板上的网卡。该要求类似于此处讨论的要求:https://stackoverflow.com/a/3530362/2833126/。接受的答案是检查卡是否是 PCI 设备。我认为这不会起作用,因为我相信集成卡被报告为 PCI 设备(我现在无法实际测试这个,因为我现在无法访问 Windows 机器......至少它们出现在lspci 在 Linux 上的输出)。
此用例类似于上面链接的 SO 帖子中提到的用例:根据 MAC 地址生成唯一的系统 ID。我想使用集成卡的 MAC 地址,因为它连接到主板,对于我的问题,我希望系统 ID 与主板相对应。
【问题讨论】:
-
如果有一种通用且可靠的方法来区分集成和离散,我会感到惊讶。
-
嗯,它不一定需要可靠,因为使用 MAC 地址很容易出错。像 90% 这样的东西可能就足够了。不过,通用性是一个要求。这是针对非关键特性的,所以我不想编写数百行特定于供应商的特殊情况。
-
只要确保您处理没有板载适配器的情况!
标签: c++ windows networking uniqueidentifier mac-address