我的驱动在开始时使用ExAllocatePool为指针P申请了一片PagedPool内存空间,但由于在之后的过程中,指针P发生了变化,直至变成NULL。这时如果调用ExFreePool(P)来释放内存空间的话,就会因为P为空指针而发生蓝屏,那么此时我应该如何才能释放之前为P申请的那片内存空间呢?如果只申请了而不释放的话容易造成内存泄漏。
麻烦知道的大神解答下,谢谢。
我的驱动在开始时使用ExAllocatePool为指针P申请了一片PagedPool内存空间,但由于在之后的过程中,指针P发生了变化,直至变成NULL。这时如果调用ExFreePool(P)来释放内存空间的话,就会因为P为空指针而发生蓝屏,那么此时我应该如何才能释放之前为P申请的那片内存空间呢?如果只申请了而不释放的话容易造成内存泄漏。
麻烦知道的大神解答下,谢谢。
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
在变化之前就需要使用一个常量保持指针了,之后释放这个常量指向的空间就行。空间申请出来之后,大小和地址就不会再变化了。