qishi1997
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2003-05-09 13:17
大虾
请问 NdisFreeMemory(pPacketContent,2000,0);其释放的pPacketContent非全局描述符,系统如何知道你分配的虚地址在哪里?
能不能将这部分源码发点给我,我已被蓝屏高的没辙了。非常感谢
shrimp
驱动牛犊
驱动牛犊
  • 注册日期2003-04-30
  • 最后登录2003-08-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2003-05-09 15:39
学习,有些收获!
不要拒绝我... 哈!哈! 给分!
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2003-05-09 21:43
大虾
请问 NdisFreeMemory(pPacketContent,2000,0);其释放的pPacketContent非全局描述符,系统如何知道你分配的虚地址在哪里?
能不能将这部分源码发点给我,我已被蓝屏高的没辙了。非常感谢

胡大侠曾经说过内存谁分配谁释放,我前面申请了这段内存,现在这里释放,有什么不对么?我认为问题不是出在这里的。
slwqw
驱动大牛
驱动大牛
  • 注册日期2002-07-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望197点
  • 贡献值0点
  • 好评度147点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2003-05-09 23:01
我只能建议你马上安装SoftICE,然后明确找出出现蓝屏的代码行,
而不是这样毫无头绪地乱判断。
qishi1997
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2003-05-10 03:09
Status=NdisAllocateMemory(&pArpContent,2000,0,HighestAcceptableMax);
你是在MPSend中定义并分配pArpContent
而在MPReturnPacket中NdisFreeMemory(pPacketContent,2000,0);
释放pPacketContent这怎么回事,即使你释放pArpContent,他又不是全局变量,这又如何处理


qishi1997
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2003-05-10 03:10
对了我的email ddhliu_1997@yahoo.com.cn谢谢
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2003-05-10 11:20
Status=NdisAllocateMemory(&pArpContent,2000,0,HighestAcceptableMax);
你是在MPSend中定义并分配pArpContent
而在MPReturnPacket中NdisFreeMemory(pPacketContent,2000,0);
释放pPacketContent这怎么回事,即使你释放pArpContent,他又不是全局变量,这又如何处理


 

高见,那么我indicate包pending以后应该如何释放我分配的packet,buffer和memory呢?恳请给段代码参考,成功后我会将源码发给你一份。email已经贴上。
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2003-05-10 22:23
唉,真就没有高手肯说点实质的东西么?
qishi1997
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2003-05-11 12:42
高见,那么我indicate包pending以后应该如何释放我分配的packet,buffer和memory呢?恳请给段代码参考,成功后我会将源码发给你一份。email已经贴上。
////////////////////////////////////////////////////////
 其实我提点看法吧!应为你想底层传送的宝石你自己定义的包,在xpassthru中
PtSendComplete(
IN NDIS_HANDLE   ProtocolBindingContext,
IN  PNDIS_PACKET Packet,
IN  NDIS_STATUS Status
)所指向的包为你自己的包,通过NdisUnchainBufferAtFront(Packet,&pNdisBuffer);既得到你的Buffer再通过NdisQueryBuffer返回的第二个参数既为你的Buffer所在的NdisAllocateMemory所分配的Memory的虚地址,你就可以释放了,packet知道怎么释放了吧!
我的qq:19312369再联系
qishi1997
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
29楼#
发布于:2003-05-11 13:05
mikeluo 大侠

我想问一个问题,对于构造自己包没什么问题,但是对于原来的包怎么处理?那如果将其悬挂,其资源有谁来释放?

ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
30楼#
发布于:2003-05-11 19:15
高见,那么我indicate包pending以后应该如何释放我分配的packet,buffer和memory呢?恳请给段代码参考,成功后我会将源码发给你一份。email已经贴上。
////////////////////////////////////////////////////////
 其实我提点看法吧!应为你想底层传送的宝石你自己定义的包,在xpassthru中
PtSendComplete(
IN NDIS_HANDLE   ProtocolBindingContext,
IN  PNDIS_PACKET Packet,
IN  NDIS_STATUS Status
)所指向的包为你自己的包,通过NdisUnchainBufferAtFront(Packet,&pNdisBuffer);既得到你的Buffer再通过NdisQueryBuffer返回的第二个参数既为你的Buffer所在的NdisAllocateMemory所分配的Memory的虚地址,你就可以释放了,packet知道怎么释放了吧!
我的qq:19312369再联系
 

我不是向底层发包,而是向上层递交一个包。估计不会是调用到PtSendComplete吧?我在MpReturnPacket中也是按你的方法释放的内存的。
问题仍旧没有解决,恳求高手指点,分不是问题!
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
31楼#
发布于:2003-05-12 08:58
我再次恳请哪位大侠曾经做过这方面的,能帮帮我!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
32楼#
发布于:2003-05-12 09:27
mikeluo 大侠

我想问一个问题,对于构造自己包没什么问题,但是对于原来的包怎么处理?那如果将其悬挂,其资源有谁来释放?
 

向系统返回一个success,告诉系统这个packet已经被成功处理了,然后会由分配packet的驱动来释放,
由于packet是从pool里面分配出来的,pool是由驱动来管理的,所以只能是由分配packet的那个驱动来释放。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
33楼#
发布于:2003-05-12 10:07
mikeluo大侠,请你帮帮我阿,就这个问题我已经拖了两个星期了,超郁闷!!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
34楼#
发布于:2003-05-12 10:50
mikeluo大侠,请你帮帮我阿,就这个问题我已经拖了两个星期了,超郁闷!!


你用调试工具跟一下看看,你的问题应该是内存错误吧。

windbg调一下?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
35楼#
发布于:2003-05-12 17:13
问题解决了,多谢各位大侠的帮助!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
36楼#
发布于:2003-05-12 17:24
什么问题?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
ruberman
驱动牛犊
驱动牛犊
  • 注册日期2003-04-08
  • 最后登录2011-04-06
  • 粉丝0
  • 关注0
  • 积分150分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
37楼#
发布于:2003-05-12 18:51
我已经告诉你了啊,还是returnpacket的问题
上一页 下一页
游客

返回顶部