加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何确定接口是否是Windows PC上的物理LAN端口?

发布时间:2020-12-14 01:51:03 所属栏目:Windows 来源:网络整理
导读:我正在寻找一种方法来确定接口是否是 Windows中PC上的物理802.3以太网端口. 使用ipconfig / all我可以列出所有接口,当我在我的电脑上执行此操作时,可以在此列出几个条目,包括VPN,蓝牙,Wifi和物理以太网接口. 我正在寻找像“isPhysical(interface)”这样的东
我正在寻找一种方法来确定接口是否是 Windows中PC上的物理802.3以太网端口.

使用ipconfig / all我可以列出所有接口,当我在我的电脑上执行此操作时,可以在此列出几个条目,包括VPN,蓝牙,Wifi和物理以太网接口.

我正在寻找像“isPhysical(interface)”这样的东西.
(可以有多个物理局域网端口,我只是想知道它是否是物理端口).

更新:

杰伊和克里斯谢谢!

(评论中没有足够的空间,所以我会在这里发布)

我目前正在寻找使用WMI Win32_NetworkAdapter.
但是,它显示4个接口,AdapterType =“Ethernet 802.3”.

我的电脑上只有1个物理端口,其他人有名称“虚拟机网络服务驱动程序”. (我认为这些是由我公司安装的,因为一些恶劣的原因)

我在界面中找到了我需要的属性,但它在winXP中不可用!

PhysicalAdapter Data type: boolean
Access type: Read-only

Indicates whether the adapter is a
physical or a logical adapter. If
True,the adapter is physical. Windows
Server 2003,Windows XP,Windows 2000,
and Windows NT 4.0: This property is
not available.

有没有办法确定它是否是一个物理端口,除了对名称中的“虚拟”一词进行文本过滤?

更新12/08

如果安装了VM,则会添加虚拟接口.

以下是有关虚拟适配器的一些详细信息:
http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/01/404816.aspx

发现如果用户没有管理员权限,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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读