列出 ETW 提供程序的事件类
Posted
技术标签:
【中文标题】列出 ETW 提供程序的事件类【英文标题】:List event classes for ETW provider 【发布时间】:2015-06-30 04:36:47 【问题描述】:我想在C
中为来自Microsoft-Windows-TCPIP
提供者的事件实现ETW 消费者。但是,我找不到此提供程序生成的事件类型。
我已经做了一些类似的工作来使用来自 Microsoft-Windows-Kernel-*
的事件(参见 NT Kernel Logger),但是从这个提供者发送的事件很好地记录在 MSDN 上(参见关于 Enable Flags 的文档) .
所以我想真正的问题是:如何将 ETW 提供程序链接到它生成的事件类型(我们在这里讨论 C 结构),反之亦然(如果可行的话)?
谢谢!
Edit 0:我不介意使用其他技术来查找有关课程的详细信息。例如,获取Registry
类的详细信息(对于 NT Kernel Logger),可以使用 powershell
并运行以下命令(请注意,您需要正确的命名空间,否则您将无法获得正确的类型):
$list = gwmi -namespace root\wmi -Class Registry* -list
foreach($element in $list)
([wmiclass]$element).gettext("mof")
【问题讨论】:
【参考方案1】:您是否尝试过调查TraceEvent?。它不在 C 语言中。它是托管代码。但这是收听 ETW 事件的好方法。
【讨论】:
很遗憾,我需要一个 C 解决方案。以上是关于列出 ETW 提供程序的事件类的主要内容,如果未能解决你的问题,请参考以下文章