panxi
驱动牛犊
驱动牛犊
  • 注册日期2001-06-09
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1107回复:0

about MmProbeAndLockPages

楼主#
更多 发布于:2002-03-27 16:31
锁定某一块内存后

如果应用程序异常中止,由于锁定的页面没有被释放
出现一个PROCESS_HAS_LOCKED_PAGES错误。

我知道这是由于系统在释放分配的内存空间时,这片内存被
锁定,

但是我觉得应用程序异常中止的时候,驱动程序的IRP_MJ_CLOSE应当
可以探测到,我在IRP_MJ_CLOSE中释放锁定的内存,也不行

后来我使用softice ,在IRP_MJ_CLOSE的入口打了一个断点,
当我故意异常中止应用程序,softice 没有进入我的
IRP_MJ_CLOSE,而是先进入KeBugCheckEx中,探测到
PROCESS_HAS_LOCKED_PAGES,

我的程序是给别人做开发包,应当可以允许应用程序的异常中止

我想在应用程序中止时,探测到这个现象,然后我就可以释放这个
内存了

不知道各位有什么办法
游客

返回顶部