阅读:2836回复:6
Windows内核双链表节点的删除问题
小弟初学内核驱动,我的问题是在已有的双向链表中遍历,找到自己要找的节点,然后删除,释放空间,遍历没什么问题,但是在找到要删除的节点时,使用RemoveEntryList和ExFreePool就不是蓝屏就死机了,知道的很简单,但是小弟整了好几天了都不知道怎么办,求知道的指点,谢谢
|
|
沙发#
发布于:2012-07-16 23:08
建议你先使用RemoveHeadList()或是RemoveTailList(). 然后使用CONTAINING_RECORD得到自定义数据结构的指针。最后再使用ExFreePool()释放
|
|
板凳#
发布于:2012-07-17 00:06
我是遍历找我想要删除的节点,但是这些点并不一定在头部和尾部,所以你说的基本上用不上。。。不过仍然非常感谢你。。。
|
|
地板#
发布于:2012-07-17 00:45
请知道的帮忙,感激不尽,这个问题已经困扰我好几天了,谢谢啊
|
|
地下室#
发布于:2012-07-17 07:45
坐等大侠解惑
|
|
5楼#
发布于:2012-07-17 09:14
回 wangbosi 的帖子
wangbosi:建议你先使用RemoveHeadList()或是RemoveTailList(). 然后使用CONTAINING_RECORD得到自定义数据结构的指针。最后再使用ExFreePool()释放 (2012-07-16 23:08) 我是遍历找我想要删除的节点,但是这些点并不一定在头部和尾部,所以你说的基本上用不上。。。不过仍然非常感谢你。。。 |
|
6楼#
发布于:2012-07-17 17:06
已经解决了,谢谢各位的关注
|
|