ljx197926
驱动牛犊
驱动牛犊
  • 注册日期2002-12-17
  • 最后登录2004-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1332回复:3

各位兄弟帮个忙

楼主#
更多 发布于:2003-01-08 20:47
我先在这里谢过了.

我的问题:
一.
  在PtReceivePacket函数得到数据,放到另一段缓冲区,将数据的最后5个字节改为0x88,然后将此内存映射到一个NDIS_BUFFER中.再给mypacket,但是发现ping出现超时.

二.看了胡大侠的代码里一个函数
   NDISAllocateBuffer有一个参数用到pDapt->RecvBufferPoolHandle,但我在发现ADAPT结构中没有成员RecvBufferPoolHandle,只有RecvPacketPoolHandle.这是为什么?

三.PtReceivePacket函数中调用IndicateReceivePacket后,Status为改变吗,它在什么情况下是XX_Success or xx_pending?
原代码在Status == NDIS_XX_RESOURCE就释放MyPacket描述符,那么我前面申请的资源都在这儿释放吗?

四. 程序里
    Status != NDSI_XX_REOURCE ?1 :0
有什么用呢

小虾我刚初接触NDIS才几天,望各位前辈,大虾,多多指点.
不胜感谢谢



                        

最新喜欢:

okincnokincn
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-09 10:08
passthru里面没有分配buffer,所以没有RecvBufferPoolHandle
也没有send不ufferpool,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
ljx197926
驱动牛犊
驱动牛犊
  • 注册日期2002-12-17
  • 最后登录2004-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-10 13:16
谢谢回答,给10先

那是不是我们在Adapt结构中加一个RecvBufferpoolHandle
自己分配回收.

我这么做了.

但是在通知上层接收包后一调用ndisfreebuff就蓝屏,是什么原因.
另外我外到== resouresoure判断里从来没有调用,数据量一大内存就光了.

 
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-10 13:42
是在你的adapter里面加上,然后在openadapter的时候初始化bufferpool,每次你分配的buffer和packet都要自己释放,不过要注意释放的时机。

通知上层以后要看上层返回的是什么,如果不是pending就可以立刻释放,如果是pending就要在complete里面释放
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
游客

返回顶部