2013-07-10 50 views
0

從我的Windows驅動程序裏面,我想知道如何:如何在驅動程序級別使用ETW事件?

一)打開某些內置提供

B)通過提供一個回調函數(其中,我想佔用事件的實時做一些事情),這是我的驅動程序的一部分。

c)關閉提供商。

PS:我鬆散地使用了「打開」和「關閉」這個詞。在Windows ETW的說法中,我認爲它被稱爲「啓用」提供者。

到目前爲止,我一直在網上搜索如何做到這一點的信息,但還沒有發現任何東西。

回答

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

相關問題