0

从我的 Windows 驱动程序内部,我想知道如何:

a) 打开某些内置提供程序

b)通过提供作为我的驱动程序一部分的回调函数(我想做某事)来实时消费事件。

c) 关闭供应商。

PS:我使用了“打开”和“关闭”这两个词。在 Windows ETW 用语中,我认为它被称为“启用”提供程序。

到目前为止,我一直在网上搜索有关如何执行此操作的信息,但尚未找到任何信息。

4

1 回答 1

0

驱动程序只能提供 ETW 事件——它们不能控制会话或使用事件。

对于 a) 和 c) 使用 StartTrace(),然后使用 EnableTraceEx2()。这必须在用户模式下完成。

对于 b) 使用 OpenTrace(),然后使用 ProcessTrace()。这必须在用户模式下完成。

用于驱动程序的 ETW API:http: //msdn.microsoft.com/en-us/library/windows/hardware/ff545707 (v=vs.85).aspx

用于用户模式代码的 ETW API:http: //msdn.microsoft.com/en-us/library/aa363795 (v=vs.85).aspx

于 2013-09-19T18:17:00.390 回答