如何确定接口是否是Windows PC上的物理LAN端口?
我正在寻找一种方法来确定接口是否是
Windows中PC上的物理802.3以太网端口.
使用ipconfig / all我可以列出所有接口,当我在我的电脑上执行此操作时,可以在此列出几个条目,包括VPN,蓝牙,Wifi和物理以太网接口. 我正在寻找像“isPhysical(interface)”这样的东西. 更新: 杰伊和克里斯谢谢! (评论中没有足够的空间,所以我会在这里发布) 我目前正在寻找使用WMI Win32_NetworkAdapter. 我的电脑上只有1个物理端口,其他人有名称“虚拟机网络服务驱动程序”. (我认为这些是由我公司安装的,因为一些恶劣的原因) 我在界面中找到了我需要的属性,但它在winXP中不可用!
有没有办法确定它是否是一个物理端口,除了对名称中的“虚拟”一词进行文本过滤? 更新12/08 如果安装了VM,则会添加虚拟接口. 以下是有关虚拟适配器的一些详细信息: 发现如果用户没有管理员权限,WMI接口不返回所需数据的问题.所以,现在看一下GetAdapterInfo方法.但是,它似乎将“虚拟机服务驱动程序”添加到实际适配器的描述中,使“虚拟”文本检查无效. 并且GetAdapterInfo返回的结构: http://msdn.microsoft.com/en-us/library/aa366062(VS.85).aspx 解决方法
调用
GetIfEntry并在返回的
MIB_IFROW结构中查找IF_TYPE_ETHERNET_CSMACD的dwType.
或者在.NET中,查找带有NetworkInterfaceType以太网的System.Net.NetworkInformation.NetworkInterface. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |