firfor
驱动牛犊
驱动牛犊
  • 注册日期2009-11-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分121分
  • 威望451点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分1分
阅读:2169回复:0

关于zwClose函数的使用问题

楼主#
更多 发布于:2011-07-09 00:46
也不知道 还有人关注 这一个问题没有,我现在遇到了关于这一个函数的很多问题。每次关掉都会使电脑挂起(不是蓝屏),有如下使用方法:我是在调试filemon驱动,有用过的可以一起跟帖讨论哈。现在的问题很简单,就是在logrecord中把所有的文件操作日志写到一个文件 中去。1:在控制设备打开的irp中打开文件,(IRP_MJ_CREATE),在IRP_MJ_CLOSE的地方关闭文件。logRecord中调用WRITEFILE进行文件写操作。经过验证,这种方法可行。2:由于现在考虑到上层的应用层会共享读这一个日志文件 ,现在每次操作完(指的是写文件操作)后,关闭文件句柄,其它一样。现在问题来了,一关闭就假死了,dbgView看不到东西,不动了。电脑被挂起的感觉 。通过调试发现是在ZwClose()函数中卡死,没有返回导致。如大家所知的,不能在不同的上下文中操作句柄。所有想到,直接在LogRecord中打开文件,操作完闭后再关闭文件,下次用的时候再次重复操作。问题也是还是如此,关闭文件卡死,没有解决方法。求大家给下思路。
游客

返回顶部