WMI 基础结构

在 WMI 基础结构中,WMI 服务 (Winmgmt) 是在管理应用程序与 WMI 数据 提供程序之间充当转存进程的操作系统组件。 Wmi 存储库是与 wmi 相关的静态数据的存储区域。

WMI 服务在共享服务主机进程内作为服务进程实现 (SVCHOST) 。 有关详细信息,请参阅 提供程序托管和安全性

当首个管理应用程序或脚本调用连接到 WMI 命名空间时,WMI 服务将启动。 根据设置,如果管理应用程序不调用 WMI 服务,则该服务可能会关闭或进入低内存配置文件。

WMI 服务通过 COM 接口与管理应用程序交互。 当应用程序通过接口发出请求时,WMI 将确定请求是用于静态数据还是动态数据。 如果请求涉及静态数据(如托管对象的名称),WMI 将从存储库中检索数据。 如果请求涉及动态数据(如托管对象当前正在使用的内存量),WMI 会将请求传递给提供程序。

提供程序通过 WMI 服务注册其位置,这允许 WMI 路由数据请求。 提供程序还为特定操作注册支持,如数据检索、修改、删除、枚举或查询处理。 WMI 服务使用提供程序注册信息,将应用程序请求与相应的提供程序进行匹配。 WMI 还会根据需要使用注册信息来加载和卸载提供程序。 当提供程序完成了请求的处理后,该提供程序会将结果返回给 WMI 服务。 WMI 然后通过 COM 接口将结果转发到应用程序。 有关详细信息,请参阅 向 WMI 提供数据

WMI 使用 事件跟踪 (ETW) 来记录 WMI 服务活动。

由于基础结构处理提供程序与管理应用程序之间的所有流量,因此基础结构提供了以下功能:

WMI 体系结构