WMI 与 Windows API
Posted
技术标签:
【中文标题】WMI 与 Windows API【英文标题】:WMI vs Windows APIs 【发布时间】:2009-11-11 06:16:39 【问题描述】:使用WMI而不是Windows API访问系统信息有什么优点或缺点?如速度、额外权限、内存使用情况。
还是取决于 WMI 类以及 WMI 如何实现对信息的访问?
【问题讨论】:
【参考方案1】:WMI 的主要缺点是速度,查询数据很慢,如果您在启动期间尝试使用它可能会延迟您的启动,因为 WMI 服务需要很长时间才能启动。
但是,WMI 信息更丰富,因为有时您需要进行多次 API 调用才能获得相同的数量,因此某些信息更容易获得,过滤语法可以大大减少您必须编写的代码量。
如果速度不是一个大问题,我总是倾向于 WMI。
【讨论】:
WMI 的另一个优点是所有“实体”都以标准化的方式(即类)表示。【参考方案2】:缺点:速度优点:包装原生 API,因此当 API 调用发生变化时,除非 WMI 也发生变化,否则您将(可能)获得好处。它还可以为您节省一些编码。
【讨论】:
【参考方案3】:还有更丰富的数据。由于程序员可以编写自己的 WMI 提供程序,因此您可以从第三方软件获取数据。这就是微软在其安全中心界面中所做的事情——从第三方防病毒和防火墙软件中获取数据。
【讨论】:
【参考方案4】:WMI的优势:可以像当前机器一样轻松获取远程机器的信息
【讨论】:
【参考方案5】:还有模仿! 您可以让您的程序与非授权用户一起运行,但通过指定凭据来访问远程计算机。
【讨论】:
【参考方案6】:如果是系统作用域
WMI 的优势:
-
不需要实施额外的驱动程序
WMI 的缺点:
需要 Bios 来包装代码
仅适用于 Windows。没有 Linux 收件箱驱动程序。
【讨论】:
以上是关于WMI 与 Windows API的主要内容,如果未能解决你的问题,请参考以下文章