【问题标题】:How can i programatically determine if a Network Adapter is virtual on Windows?我如何以编程方式确定网络适配器在 Windows 上是否是虚拟的?
【发布时间】:2018-06-30 06:09:54
【问题描述】:

使用 Win32 / IP 帮助函数,我如何以编程方式确定网络适配器在 Windows 上是否是虚拟的?

我们目前使用GetAdaptersAddresses 检索与本地计算机上的适配器关联的地址。我想避免与虚拟适配器关联的地址。

在 PowerShell 中,我们有以下查询,可以过滤虚拟适配器:

Get-NetAdapter | Where {$_.Virtual –eq $False}

以上是如何工作的?如果我们能得到一些提示?然后我们也可以在我们的 C++ 代码中实现同样的逻辑。

【问题讨论】:

    标签: c++ powershell winapi networking wmi


    【解决方案1】:

    很遗憾,我不知道识别虚拟网络适配器的可靠方法。

    至少您可以像使用 PS 一样执行相同的操作,并过滤描述中包含“虚拟”的适配器: 调用GetAdaptersInfo (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917(v=vs.85).aspx) 你会得到一个PIP_ADAPTER_INFO 结构的数组。 他们的Description 字段包含您要检查的描述。

    【讨论】:

      猜你喜欢
      • 2021-03-11
      • 2012-03-02
      • 2012-02-21
      • 2011-11-21
      • 1970-01-01
      • 2012-07-11
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多