C-如何使用ETW(StartTrace等)实时实时获取事件



在Windows的事件跟踪中,StartTrace接受EVENT_TRACE_PROPERTIES结构,该结构允许使用FlushTimer,该结构指定了应该刷新unfull缓冲区的频率。

事实是,FlushTimer是代表的CC_4,但我希望它很小,因此几乎是瞬时的(按毫秒的顺序(。

我不知道Process Monitor如何实时获取ETW事件,但是确实可以做到这一点。

所以问题是:如何实时接收实时事件?

etw不支持实时通知。即使是所谓的EVENT_TRACE_REAL_TIME_MODE也不是真正实时的,正如文档清楚地说的那样。

您的问题的前提是错误的:Sysinternals Process Monitor 不使用使用ETW获取其同步的实时过程,线程,模块,文件和注册表事件。您有两个选择:

  1. 使用ETW-这不是Procmon所做的 - 并获得ETW为您提供的事件。
  2. 做procmon所做的事情 - 不是消耗ETW事件 - 并同步获得事件,就像procmon获取它们一样。

最新更新