c - 列出 ETW 提供程序的事件类

标签 c windows events etw

我想实现一个 ETW C 中的消费者用于来自 Microsoft-Windows-TCPIP 提供程序的事件。但是,我找不到此提供程序生成的事件类型。

我已经做了一些类似的工作来使用来自 Microsoft-Windows-Kernel-* 的事件(参见 NT Kernel Logger ),但是从该提供商发送的事件体面记录在 MSDN 上(参见关于 Enable Flags 的文档)。

所以我想真正的问题是:如何将 ETW 提供程序链接到它生成的事件类型(我们在这里谈论的是 C 结构),反之亦然(如果可行的话)?

谢谢!

编辑 0:我不介意使用其他技术来查找有关某个类的详细信息。例如,获取 Registry 类(对于 NT 内核记录器)的详细信息,可以使用 powershell 并运行以下命令(请注意,否则您需要正确的命名空间你不会得到正确的类型):

$list = gwmi -namespace root\wmi -Class Registry* -list
foreach($element in $list) {
   ([wmiclass]$element).gettext("mof")
}

最佳答案

您是否尝试过调查 TraceEvent ?。它不在 C 中。它是托管代码。但这是收听 ETW 事件的好方法。

关于c - 列出 ETW 提供程序的事件类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798941/

相关文章:

c++ - Windows运行时库依赖和纯C代码

c++ - 逗号在数组和结构初始化中的意义是什么?

c - 将绕任意轴的旋转解析为绕 X、Y 和 Z 轴的旋转

python - Anaconda Python 在 Windows 上安装在哪里?

c# - 帮助我以正确的方式编写此事件

c - 在事件查看器的情况下无法捕获 future 事件

javascript - 如何在 Firefox 插件中调用控制台调试面板?

c++ - 用于矩阵堆栈的 openGL

c# - IoC Container Unity 搞乱了我

javascript - jQuery:表单提交 - 多个事件处理程序