我如何以编程方式确定网络适配器是否在Windows上是虚拟的?

问题描述 投票:3回答:1

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

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

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

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

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

c++ powershell winapi networking wmi
1个回答
0
投票

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

至少你可以像使用PS那样做,并过滤描述中包含'Virtual'的适配器:调用GetAdaptersInfohttps://msdn.microsoft.com/en-us/library/windows/desktop/aa365917(v=vs.85).aspx)你得到一个PIP_ADAPTER_INFO结构数组。他们的Description字段包含您想要检查的描述。

© www.soinside.com 2019 - 2024. All rights reserved.