阅读:1107回复:0
about MmProbeAndLockPages
锁定某一块内存后
如果应用程序异常中止,由于锁定的页面没有被释放 出现一个PROCESS_HAS_LOCKED_PAGES错误。 我知道这是由于系统在释放分配的内存空间时,这片内存被 锁定, 但是我觉得应用程序异常中止的时候,驱动程序的IRP_MJ_CLOSE应当 可以探测到,我在IRP_MJ_CLOSE中释放锁定的内存,也不行 后来我使用softice ,在IRP_MJ_CLOSE的入口打了一个断点, 当我故意异常中止应用程序,softice 没有进入我的 IRP_MJ_CLOSE,而是先进入KeBugCheckEx中,探测到 PROCESS_HAS_LOCKED_PAGES, 我的程序是给别人做开发包,应当可以允许应用程序的异常中止 我想在应用程序中止时,探测到这个现象,然后我就可以释放这个 内存了 不知道各位有什么办法 |
|