我正在尝试在vc++
中创建使用者应用程序,它将使用etw跟踪实时收集所有磁盘事件。
我启用了两个标志EVENT_TRACE_FLAG_DISK_FILE_IO
和EVENT_TRACE_FLAG_DISK_IO
进行跟踪,但是问题是,与DiskIo_TypeGroup1
事件的数量相比,我没有得到那么多的FileIO_Name事件。
但是如果我仅启用EVENT_TRACE_FLAG_DISK_FILE_IO
标志,那么我的回调函数中将收到更多的FileIO_Name
事件。
FLAG EVENT
EVENT_TRACE_FLAG_DISK_IO Enables the following DiskIo event types:
0x00000100 DiskIo_TypeGroup1
DiskIo_TypeGroup3
EVENT_TRACE_FLAG_DISK_FILE_IO Enables the following FileIo event type:
0x00000200 FileIo_Name
我想我需要两个标志,因为...从FileIO_Name事件中,我将获得FileObject
和FileName
数据,从DiskIO_TypeGroup1中,我将获得FileObject,DiskNumber
,TransferSize和其他数据,我需要匹配公共fileobjects
以合并两个单独的数据集并获得所需的输出。
所以当我同时使用两个标志时,我得到的DiskIO_TypeGroup1:FileObject
比率为4:1。但是,当我在推特上发送代码以仅获取FileIO_Name
事件时,我得到的事件是以前获得的事件的3倍,甚至更多。
我正在尝试在vc ++中创建一个使用者应用程序,它将使用etw跟踪实时收集所有磁盘事件。我启用了两个标志,EVENT_TRACE_FLAG_DISK_FILE_IO和...
请将此代码提供给我参考。