c# - 获取 NDIS 版本?

标签 c# vb.net ndis

我知道我可以使用 Windows PowerShell

Get-netadapter|选择名称,ndisversion

将结果输出到一个文本文件,并从那里解析数据,但这有点老套。我想知道是否有办法使用更直接的方式获取相同的信息?即 WMI 或框架类等?我用 Google 搜索过,但一无所获。

最佳答案

所有 NetAdapter powershell cmdlet 都是 WMI 对象的精简包装器。所以你确实可以使用 Microsoft.Management.Infrastructure直接命名空间。

在这种情况下,您将枚举 root\standardcimv2\MSFT_NetAdapter 的实例看看他们的NameDriverMajorNdisVersion字段。

这不是关于 MI API 的完整教程,但这是该想法的伪代码草图:

var session = CimSession.Create(. . .);
foreach (var instance in session.EnumerateInstances(@"root\standardcimv2", "MSFT_NetAdapter")) {
    var name = instance.CimInstanceProperties["Name"].Value as string;
    var major = instance.CimInstanceProperties["DriverMajorNdisVersion"].Value as byte;
    WriteLine($"{name}: {major}.{minor}");
}

关于c# - 获取 NDIS 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460450/

相关文章:

c# - 向 System.Drawings.Color 添加颜色选项

vb.net - 未定义用户控件类型

c - WFP 标注和 NDIS LWF 不能位于同一驱动程序二进制文件中

c++ - 如何在 Windows 上获取硬件 MAC 地址

windows - 了解 NDIS 虚拟微型端口驱动程序

c# - 如何在 Xamarin iOS 中将图标从 UIBarButtonSystemItem 转换为 UIImage

c# - 使用 LINQ 进行宽容/模糊搜索

c# - 删除文件夹/文件和子文件夹

javascript - 调用JQuery函数时asp.net中的字符串错误

C# 和 VB.Net 输出参数