從我的Windows驅動程序裏面,我想知道如何:如何在驅動程序級別使用ETW事件?
一)打開某些內置提供
B)通過提供一個回調函數(其中,我想佔用事件的實時做一些事情),這是我的驅動程序的一部分。
c)關閉提供商。
PS:我鬆散地使用了「打開」和「關閉」這個詞。在Windows ETW的說法中,我認爲它被稱爲「啓用」提供者。
到目前爲止,我一直在網上搜索如何做到這一點的信息,但還沒有發現任何東西。
從我的Windows驅動程序裏面,我想知道如何:如何在驅動程序級別使用ETW事件?
一)打開某些內置提供
B)通過提供一個回調函數(其中,我想佔用事件的實時做一些事情),這是我的驅動程序的一部分。
c)關閉提供商。
PS:我鬆散地使用了「打開」和「關閉」這個詞。在Windows ETW的說法中,我認爲它被稱爲「啓用」提供者。
到目前爲止,我一直在網上搜索如何做到這一點的信息,但還沒有發現任何東西。
驅動程序只能提供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