ETW 管理、诊断与跟踪详解
1. ETW 会话枚举
可以使用 Microsoft Logman 控制台工具( %SystemRoot%\System32\logman.exe )来枚举活动的 ETW 会话,具体操作是在命令行中使用 -ets 参数。
2. ETW 提供程序概述
2.1 提供程序定义
提供程序是产生事件的组件,包含提供程序的应用程序则包含事件跟踪检测机制。ETW 支持不同类型的提供程序,它们共享相似的编程模型,主要区别在于事件编码方式。
2.2 提供程序注册与启用条件
提供程序在生成事件之前,必须先向 ETW 进行注册。同时,控制器应用程序需要启用该提供程序,并将其与 ETW 会话关联,才能接收来自该提供程序的事件。若没有会话启用某个提供程序,该提供程序将不会生成任何事件。一般来说,启用的提供程序会生成事件,禁用的则不会。
3. 提供程序注册
3.1 注册 API
不同类型的提供程序有各自的注册 API。例如,基于清单的提供程序在用户模式下使用 EventRegister API 进行注册,在内核模式下使用 EtwRegister API。所有类型的提供程序最终都会调用内部的 EtwpRegisterProvider 函数来完成实际的注册过程,该函数在 NT 内核和 NTDLL 中均有实现。
3.2 数据结构分配与初始化
超级会员免费看
订阅专栏 解锁全文
1144

被折叠的 条评论
为什么被折叠?



