遇到一个问题,当用户态被强制退出的时候,内核态不知道,内核还在运行,规则还在起做用,怎么办?如何知道用户态已经退出了?
回复(10) 2002-07-09 14:45 来自版块 - NDIS网络接口开发
表情
gjpland[quote][quote]上面没有讲清楚,其实根本的原因就是当进程被杀掉的时候,他所打开的所有句柄都要释放,所以如果你没有别的方法的话,那么你可以在驱动程序里面建立一个通讯用的设备,在进程启动时打开,进程退出的时候关闭。这样就算你的进程被杀掉,驱动里面一样也有通知的。 最简...(2002-07-15 15:54)
magicx[quote]上面没有讲清楚,其实根本的原因就是当进程被杀掉的时候,他所打开的所有句柄都要释放,所以如果你没有别的方法的话,那么你可以在驱动程序里面建立一个通讯用的设备,在进程启动时打开,进程退出的时候关闭。这样就算你的进程被杀掉,驱动里面一样也有通知的。 最简单的办法调用P...(2002-07-13 01:40)
gjpland上面没有讲清楚,其实根本的原因就是当进程被杀掉的时候,他所打开的所有句柄都要释放,所以如果你没有别的方法的话,那么你可以在驱动程序里面建立一个通讯用的设备,在进程启动时打开,进程退出的时候关闭。这样就算你的进程被杀掉,驱动里面一样也有通知的。 最简单的办法调用PsLookup...(2002-07-12 23:00)
swift谢谢各位,我已经实现了,哈哈! (2002-07-09 20:07)
dazzy当用户程序非正常退出时,IRP_MJ_CLOSE也会被调用(此时用户程序没调用CloseHandle(hDevice))。(2002-07-09 17:10)
swift哦,知道了,谢谢谢谢! 50分给你!(2002-07-09 17:10)
fracker上面没有讲清楚,其实根本的原因就是当进程被杀掉的时候,他所打开的所有句柄都要释放,所以如果你没有别的方法的话,那么你可以在驱动程序里面建立一个通讯用的设备,在进程启动时打开,进程退出的时候关闭。这样就算你的进程被杀掉,驱动里面一样也有通知的。(2002-07-09 16:40)
fracker难道你没有跟应用层通讯的设备吗?如果有的话,打开的所有FileObject都要会被关闭的,这就是最好的消息阿。如果没有的话,你就创建一个也可以,我没有别的招数,就这烂招了。(2002-07-09 16:34)
swift呵呵,我以前就是用的定时检测,但是不好,所以想换一换, 用户态被ctrl+alt+del时,会收到系统的什么消息? (2002-07-09 15:45)
jame.z除了定时检测还有什么好办法? 这个问题,小弟也想问问(2002-07-09 15:41)

返回顶部