阅读:2746回复:18
关于passthru中接收包的传输过程
在passthru中关于接收包好象有如下函数:
;以下位于protocol.c PtReceive PtTransferDataComplete PtReceiveComplete PtReceivePacket ;以下位于miniport.c MPReturnPacket MPTransferData 这些不知是不是都和接收数据包有关,它们间的关系如何?我把这些函数里的所有包都抓下来了,结果好象还不是一个完整的包 例如: 在RtReceive函数中,如果PacketSize> HeaderBufferSize + LookAheadBufferSize,则剩余的包数据不知从哪里读取 |
|
|
沙发#
发布于:2003-03-10 14:02
ddk里面将了,
|
|
|
板凳#
发布于:2003-03-10 18:48
在passthru中关于接收包好象有如下函数: PtReceive中先调一调NdisGetReceivedPacket看是否收到了整包,不是的话再调NdisTransferData向下层要剩下的部分,该调用返回Pending,去PtTransferDataComplete中等着结束。全收到了就会进到PtReceiveComplete里,然后你就可以处理了,处理完了就向上递(当然不全收到向上递也可以,那是DDK里Passthru的做法),等进了MPReturnPacket里时,就表示上面收了你的包了,用过的资源在这里可以释放了,当然,如果你收到的是整包,还得调用NdisReturnPacket通知你下面的驱动释放资源,大家的做法都是一样的了。 再说PtReceivePacket,这里收到的都是整包,不要以为你跟踪了半天没看到进到这里面就以为它没用!你看了或者处理了之后也向上递,递完了也会进到MPReturnPacket中,这里你还得调用NdisReturnPacket,做了这个调用,下面Driver的MPReturnPacket就在跑了。 最后一个,MPTransferData是你的上层收到半个包的时候,它也会调用NdisTransferData,这时候就进到你的MPTransferData里了,在这里你要负责把剩下的部分给它。理所当然,如果你总是整包向上递的话,这个入口不支持也没有关系。 |
|
|
地板#
发布于:2003-03-12 11:32
我是一个新手,看DDK中的passthru的时候,总是一头雾水。
不知道大侠们是如何学的?? 是自己动手写一下测试吗? 上面经常讲到胡大侠的代码,请问在什么地方可以下载啊?? 非常感谢。。 |
|
地下室#
发布于:2003-03-12 16:36
麻烦SharpShooter老大能否讲得再详细些?(已经很详细了,但我是新手)。
|
|
5楼#
发布于:2003-03-12 17:00
麻烦SharpShooter老大能否讲得再详细些?(已经很详细了,但我是新手)。 说实话我也觉得挺详细了,至少收包的路子差不多都齐了,至于发包的也没什么好讲的,就MPSend和PtSendComplete两个入口。 我也不敢再讲了,再讲下去会露马脚的。哥们其实也是菜鸟。 |
|
|
6楼#
发布于:2003-03-12 17:40
留个email,我发原先在这里得到的部分代码
不过我稍微改了一点 |
|
|
7楼#
发布于:2003-03-12 20:30
gz818@yeah.net
|
|
8楼#
发布于:2003-03-13 14:31
TO: mailporn
我的邮箱 gx@acec.com.cn 非常感谢!!! |
|
9楼#
发布于:2003-03-19 16:33
已发
|
|
|
10楼#
发布于:2003-03-23 22:24
现在大体也知道了passthrough的结构,但是还是想看一个具体过滤包的例子。能不能也给我发一份程序?或者告诉我去那里下载相关的资料?
谢谢 |
|
11楼#
发布于:2003-04-27 00:19
mailporn:
也请给我发一份, tuiger@371.net 谢谢 :) [编辑 - 4/27/03 by tuiger] |
|
12楼#
发布于:2003-04-30 09:17
我也要
shrimp4624@yahoo.com.cn |
|
|
13楼#
发布于:2003-05-01 10:24
我也要
fam555@163.com 帮帮我,谢谢!!! |
|
14楼#
发布于:2003-05-07 11:07
我也要,我是个新手,很需要这方面的资料,请给我一份,非常感谢!
wangsj47@sina.com.cn |
|
|
15楼#
发布于:2003-05-07 12:45
近来在做nat/pat,对于ndis这个看了半天,搞不懂,能否参考一下你的代码,谢谢
邮箱:netmeteor@163.com |
|
16楼#
发布于:2003-05-08 23:05
用户被禁言,该主题自动屏蔽! |
|
17楼#
发布于:2003-05-23 20:16
TO: mailporn
我的邮箱 ghxie@ah165.net 非常感谢!!! |
|
18楼#
发布于:2003-06-23 18:03
用户被禁言,该主题自动屏蔽! |
|