c++ - 以编程方式确定网卡在 Windows 上是集成的还是独立的

标签 c++ windows networking uniqueidentifier mac-address

我知道我可以使用 GetAdaptersAddresses 来检索机器上网络接口(interface)的信息。此外,我想确定哪些接口(interface)是指集成在主板上的网卡。该要求类似于此处讨论的要求:https://stackoverflow.com/a/3530362/2833126/ .接受的答案是检查卡是否是 PCI 设备。我不认为这会起作用,因为我相信集成卡被报告为 PCI 设备(我现在无法实际测试这个,因为我现在无法访问 Windows 机器......至少它们出现在Linux 上的 lspci 输出)。

此用例类似于上面链接的 SO 帖子中提到的用例:根据 MA​​C 地址生成唯一的系统 ID。我想使用集成卡的 MAC 地址,因为它连接到主板,对于我的问题,我希望系统 ID 与主板相对应。

最佳答案

检查 Win32_OnBoardDevice class
在 powershell 中你可以这样做:

PS C:\temp> gwmi Win32_OnBoardDevice|?{$_.devicetype -eq 5} |select -expand description
Broadcom 5754 NetXtreme Gigabit Controller

关于c++ - 以编程方式确定网卡在 Windows 上是集成的还是独立的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25292937/

相关文章:

c++ - 在MFC中绘制一个jpg

c++ STL复制功能适当的内存管理

windows - 监控服务器、进程、服务、任务调度程序状态

windows - 带有 Windows : Double backslash or front slash? 的 Django

windows - 如何在批处理文件中(递归地)分割目录地址?

java - 使随机 mac 地址生成器仅生成单播 mac

C++11:无法将参数从 'T *const' 转换为 'T *&&'

c++ - C++ Lambda 的内存布局

Java 服务器/客户端应用程序仅在按 Enter 键时显示消息

c++ - boost .asio : multi ports application-layer protocol