繁体   English   中英

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

[英]How can i programatically determine if a Network Adapter is virtual on Windows?

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM