易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录
退出登录
我要分享内容
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
搜索
精易模块
自绘
界面美化
汇编
POST
API
易语言助手
高级搜索
首页
易语言源码
入门教程源码
初级教程源码
进阶教程源码
高级教程源码
系统工具源码
图形图像源码
多媒体类源码
游戏娱乐源码
数据库类源码
模块控件源码
行业软件源码
网络相关源码
界面美化源码
易语言模块
易语言支持库
易官方支持库
第三方支持库
OCX控件库
辅助类支持库
支持2017link的改造库
易相关资源
易语言版本下载
易语言配色方案
编程辅助工具
编译链接器
易相关资料
电子书类
图文资料
开源大赛
2016开源大赛(第一届)
2017开源大赛(第二届)
2018开源大赛(第三届)
2019开源大赛(第四届)
2020开源大赛(第五届)
2021开源大赛(第六届)
2022开源大赛(第七届)
火山相关资源
火山版本下载
火山安卓源码
火山PC源码
其他资源
JavaScript
PHP
C++
HTML
uni-app
Java
Golang
C#
Delphi
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
当前位置:
易语言资源网
>
模块控件源码
>
帖子内容
【Etw系列】几乎无延迟的Etw监听,效率极高
[复制链接]
2022-09-03 09:36:39
模块控件源码
易语言资源网
3142
次浏览
来源链接
Etw系列:
【易首发】使用Etw监视全系统IMAGE加载卸载情况
【Etw系列】使用Etw监视系统进程创建的详细信息
【Etw系列】使用NT Kernel Logger监听系统进程创建结束详细信息
【Etw系列】使用Etw监听系统线程创建销毁详细信息
【Etw系列】使用Etw监视系统文件创建详细信息
【Etw系列】对系统删除文件操作进行监听
【Etw系列】使用FileInfoMinifilter实现文件变动内核监听
【Etw系列】使用Etw监听系统网络事件,支持TCP/UDP、IPV4/IPV6
【Etw系列】利用Microsoft-Windows-Kernel-Registry监听zc表变动
【Etw系列】利用NT Kernel Logger监听内核的DbgPrint消息
【Etw系列】利用NT Kernel Logger监听全系统内存分配/销毁消息
【Etw系列】利用NT Kernel Logger监听系统内核句柄的拷贝/创建...
【Etw系列】你想知道的关于ETW的信息,都在这里……
更多:
众所周知,ETW因为FlushTimer强制被设置为1秒的原因,导致ETW消息反馈会有1秒左右的延迟。
如何降低延迟,实现实时监控呢?
其实很简单,ETW模型给我们提供了手动Flush缓冲区的命令,我们只需要不停的手动Flush缓冲区就可以实现几乎实时的ETW监控。
其实只要创建一个时钟,时钟周期中需要加2行简单的代码其实就搞定了:
时钟周期我设置的是100毫秒,代表程序每100毫秒刷新一次ETW的缓冲区,即表明ETW消息回调的时间误差至少不大于100毫秒。
在实际的程序中可以将刷新频率提得更加高,这样ETW消息的延迟就会更加低。在测试中,即使是将刷新缓冲区的时钟周期设置为1毫秒,程序的CPU占用也几乎为0,这表明ETW监听效率确实很高。(但是并不建议这样做,100毫秒刷新一次缓冲区的监听效率也基本满足实时要求)
提示:程序既然已经利用时钟来刷新ETW缓冲了,那么ETW初始时的FlushTimer可以稍微设置大一点(即保证缓冲区的刷新几乎交给程序管理),例如此程序的FlushTimer被扩大到了10秒。
帖子最后给出的例子程序一个是监听进程创建的,一个是监听文件变动的,效率相比原来的程序可以说是极高了。(监听其他的ETW模型可以自己修改)
PS:
程序启用事件监视必须拥有管理员权限!
程序启用事件监视必须拥有管理员权限!
若监视程序异常退出,请务必手动停止监视事件
若监视程序异常退出,请务必手动停止监视事件
注意!!如果使用其他ETW系列的代码进行修改,使用前请务必取消这里的ControlTraceA第一个参数的传址属性:
点我下载
(已有
103
次下载)
引用模块
无
引用支持库
源码文件名
支持库文件名
支持库标识
Etw - FileInfoMinifilter.e
系统核心支持库 5.7
d09f2340818511d396f6aaf844c7e325
Etw - NT Kernel Logger - Process.e
系统核心支持库 5.7
d09f2340818511d396f6aaf844c7e325
[错误报告]
上一篇:找质数的~采用埃拉托斯特尼筛法...
下一篇:鼠标画圆画圆形源码...
本栏最新
1
【已更新】快速字节集类 快速文本类,替代通用对象库
2
PS对象操作类模块 更新 用于操作Photoshop 制作自动化脚本
3
宝塔模块开源
4
rdtsc取纳秒级时间计数
5
文本笔算_加减乘除_支持正负[小数/整数/大数/前缀0的数]
6
高性能读写锁_同步锁v2.6.1 几乎纯汇编 支持跨进程
7
汇编 最快倒找+寻找文本+字节集2.3.1
8
文本加密
9
易语言字体安装,永久生效,立即生效
10
everything调用模块
本栏最热
1
分享一个 可精确控制 网页_访问_对象 超时时间 源码
2
大漠插件中文汉化模块源码
3
易语言超级模块8.0正式版源码
4
新版33个皮肤模块源码分享
5
大漠插件免费版3.1233的中文版模块
6
精易皮肤模块v4.0(2020.01.03)开源
7
IMGUI绘制模块源码
8
鱼刺类_Http模块v6.0.6源码
9
eWOW64Ext v1.2 - 加载任意 32/64 模块|动态调用|64 位汇编|64 位进程读写
10
ImGui 1.77最新最全库函数封装,UI库的又一新选择
栏目标签
HpSocket
checkbos
数组
API
SQL
算法
自绘
精易模块
皮肤模块
截图
多线程
黑月
托盘
SUI
特效