驱动创建系统回调和删除系统回调

易语言 2020-07-23 19:59:38

驱动创建系统回调和删除系统回调

.子程序 DriverEntry, 整数型, 公开, 驱动入口
.参数 驱动句柄, 整数型
.参数 注册表路径, 整数型
.局部变量 驱动类, 驱动类型

读取驱动_ (驱动类, 驱动句柄, 168)
驱动类.卸载指针 = &DriverUnload
写入驱动_ (驱动句柄, 驱动类, 168)
PsSetCreateProcessNotifyRoutine (&ProcessCallback, 假)
返回 (0)

.子程序 DriverUnload, , 公开, 释放驱动
.参数 驱动句柄, 整数型

PsSetCreateProcessNotifyRoutine (&ProcessCallback, 真)

.子程序 ProcessCallback, , 公开
.参数 父子进程ID, 整数型, , 父子进程ID
.参数 发生事件的进程ID, 整数型, , 发生事件的进程ID
.参数 进程是创建还是终止, 整数型, , 进程是创建还是终止

输出调试_ (“父子进程ID %d”, 父子进程ID)
输出调试_ (“发生事件的进程ID %d”, 发生事件的进程ID)
输出调试_ (“进程是创建还是终止 %d”, 进程是创建还是终止)