Windows WMI - Win32_ProcessStartTrace 和 __InstanceCreationEvent 之间有啥区别(和顺序)?

Posted

技术标签:

【中文标题】Windows WMI - Win32_ProcessStartTrace 和 __InstanceCreationEvent 之间有啥区别(和顺序)?【英文标题】:Windows WMI - What is the difference (and order) between Win32_ProcessStartTrace and __InstanceCreationEvent?Windows WMI - Win32_ProcessStartTrace 和 __InstanceCreationEvent 之间有什么区别(和顺序)? 【发布时间】:2019-12-11 14:14:23 【问题描述】:

刚开始使用 WMI,我想了解 Win32_ProcessStartTrace__InstanceCreationEvent 之间的区别。它们都在新进程开始时可用,但是哪个是第一个?

我已经测试了 Microsoft 提供的几个示例,除了一个提供一些有用=l 信息而另一个没有这一事实之外,我看不出有任何重大差异,例如性能问题。 (或者是吗?)

从Win32_ProcessStartTrace 和__InstanceCreationEvent 的文档中,我们可以看到很大的不同,因为Win32_ 提供了更多详细信息,例如ProcessID 而__Instance 没有。

如果想要有效(异步)监控进程创建,应该使用这两种方法中的哪一种?

获取有关进程的信息是必须的,至少是 ProcessID。

非常感谢一个好的解释,我相信其他人也有兴趣。

【问题讨论】:

【参考方案1】:

_InstanceCreationEvent 有一个TargetInstance 字段,对于新进程来说,它是一个Win32_Process 对象,它具有Win32_ProcessStartTrace 提供的大部分相同字段(甚至更多)。

【讨论】:

以上是关于Windows WMI - Win32_ProcessStartTrace 和 __InstanceCreationEvent 之间有啥区别(和顺序)?的主要内容,如果未能解决你的问题,请参考以下文章

windows wmi

WMI:获取已安装软件的列表

wmi.WMI().Win32_ComputerSystem()

wmi使用的win32类库名

WMI - 直接访问 Win32_OperatingSystem 的单例实例

WMI使用的WIN32_类库名