猿问

关于windows内核编程,申请内容空间然后释放的问题?

我的驱动在开始时使用ExAllocatePool为指针P申请了一片PagedPool内存空间,但由于在之后的过程中,指针P发生了变化,直至变成NULL。这时如果调用ExFreePool(P)来释放内存空间的话,就会因为P为空指针而发生蓝屏,那么此时我应该如何才能释放之前为P申请的那片内存空间呢?如果只申请了而不释放的话容易造成内存泄漏。
麻烦知道的大神解答下,谢谢。

慕姐4208626
浏览 385回答 2
2回答

翻翻过去那场雪

在变化之前就需要使用一个常量保持指针了,之后释放这个常量指向的空间就行。空间申请出来之后,大小和地址就不会再变化了。

慕森王

你可以用一个 临时指针来指向 有空间的那个指针 做++--操作,一般都是这样的
随时随地看视频慕课网APP
我要回答