qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2686回复:6

Windows内核双链表节点的删除问题

楼主#
更多 发布于:2012-07-16 21:10
小弟初学内核驱动,我的问题是在已有的双向链表中遍历,找到自己要找的节点,然后删除,释放空间,遍历没什么问题,但是在找到要删除的节点时,使用RemoveEntryList和ExFreePool就不是蓝屏就死机了,知道的很简单,但是小弟整了好几天了都不知道怎么办,求知道的指点,谢谢
wangbosi
驱动牛犊
驱动牛犊
  • 注册日期2011-06-16
  • 最后登录2013-12-21
  • 粉丝1
  • 关注4
  • 积分3788分
  • 威望281点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-07-16 23:08
建议你先使用RemoveHeadList()或是RemoveTailList(). 然后使用CONTAINING_RECORD得到自定义数据结构的指针。最后再使用ExFreePool()释放
qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2012-07-17 00:06
我是遍历找我想要删除的节点,但是这些点并不一定在头部和尾部,所以你说的基本上用不上。。。不过仍然非常感谢你。。。
qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2012-07-17 00:45
请知道的帮忙,感激不尽,这个问题已经困扰我好几天了,谢谢啊
qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2012-07-17 07:45
坐等大侠解惑
qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2012-07-17 09:14
回 wangbosi 的帖子
wangbosi:建议你先使用RemoveHeadList()或是RemoveTailList(). 然后使用CONTAINING_RECORD得到自定义数据结构的指针。最后再使用ExFreePool()释放 (2012-07-16 23:08)

我是遍历找我想要删除的节点,但是这些点并不一定在头部和尾部,所以你说的基本上用不上。。。不过仍然非常感谢你。。。
qaz362008
驱动牛犊
驱动牛犊
  • 注册日期2012-06-11
  • 最后登录2012-09-10
  • 粉丝0
  • 关注1
  • 积分25分
  • 威望181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2012-07-17 17:06
已经解决了,谢谢各位的关注
游客

返回顶部