hsfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-01-09
  • 最后登录2003-03-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1384回复:2

关于PASSTHU的问题,请指教。。

楼主#
更多 发布于:2003-01-13 12:17
各位大佬,我初次接触NDIS中间驱动程序,在看了PASSTHU以后
有以下问题,请指点一下:
1、protocol.c中有ptreceive()和ptreceivepacket(),这两个函数
有什么区别?
2、接受到的数据包,用什么函数可以把它丢弃?
3、得到的数据包,如果协议是TCP_IP的话,能在包里分离出
这个包的端口地址么?如果可以,用什么方法或函数?

请大哥指点小弟。。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-13 14:06
 

1、protocol.c中有ptreceive()和ptreceivepacket(),这两个函数
有什么区别?
2、接受到的数据包,用什么函数可以把它丢弃?
3、得到的数据包,如果协议是TCP_IP的话,能在包里分离出
这个包的端口地址么?如果可以,用什么方法或函数?

请大哥指点小弟。。


这些问题以前的帖子里面都有。
1
一般情况下,传的是多个packet的时候用receivepacket,一个的时候用receive,不过现在多数用的是receivepacket,在recepacket里面得到的都是完整的packet。
2
接收的数据想丢弃只要不给协议层就行了,然后给ndis返回一个success。
3
按照协议的结构声明去找就可以了。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
hsfeng
驱动牛犊
驱动牛犊
  • 注册日期2003-01-09
  • 最后登录2003-03-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-14 12:16
多谢MIKELUO兄,按老兄的意见,我昨天看了一天以前的帖子
大概是我基础差,还是处在迷糊状态:
1、PASSTHRU是通过什么函数把包传回给NDIS的?是
NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1);么?
2、协议的结构声明以前的帖子里也找不到,你能给我
一份么。我的信箱h_s_feng01@sina.com。QQ:33968341
UDP的结构是不是:0-16为源端口,16-31为目标端口?

谢谢!
游客

返回顶部