刚才忘记给分,不好意思,重新发一次。。管理员不要删除。。=============================我在PassThru基础上做一个中间层驱动。现在遇到一些问题。当上层发出一个Arp数据报时,我要禁止它发出然后自己构造一个相应的回应包,通知上层接收。在MpSend中...
全文
回复(9) 2003-04-23 13:14 来自版块 - NDIS网络接口开发
表情
tsinghui1。NdisSend() 返回一个状态值常量,找一下ddk 的文档就知道了。或者ndis.h 文件中也有定义。成功状态可能是ndis_packet_status_successful 吧。 (2003-05-02 12:33)
ruberman如果我这时遇到特定的包(如ARP)包,就不再发出,是不是要这样做? 1。NdisSend注释掉,然后返回给函数一个成功值,让系统以为包已经发出,从而释放掉内存。这个成功值应该怎么设定呢? 2。用NdisMIndicateReceive通知上层接收自己组建的数据包。此时 ...(2003-04-24 14:56)
zuozi没什么用处,mpsend里面本来是给他自己的packet做了这项工作的,我顺手改了就是了(2003-04-24 11:19)
rubermanNdisSetPacketFlags(MyPacket, NDIS_FLAGS_DONT_LOOPBACK);//自己定义的包 这句有什么作用?(2003-04-24 10:28)
zuozi呵呵,贴一段我得代码给你吧,是仿照receive那边大家都做的那种方法,重新分配一个包,拷贝内容,然后发送自己分配的包最后释放。都是调试好没问题的,我想也许对你有帮助。^_^ 注意你改mpsend的同时要改ptsendcomplete,否则会蓝屏 NDIS_STATU...(2003-04-23 23:18)
ruberman大侠帮忙啊!!呜呜。。(2003-04-23 21:38)
ruberman我现在还没有做那么多,我想要想发包肯定要自己申请一块内存 容纳这个包吧。 我程序里申请了内存,拷贝了数据,然后释放掉了,然后还是发出原来的包,就是因为我在钻申请内存拷贝数据这一块。 但是安装以后兰屏,不知道为什么。(2003-04-23 16:15)
michae1passthru的MPSend函数只负责上层protocol driver往下发的数据报文。要想往上传收到的报文(或者是自己生成的报文)应该在别的函数里边实现吧?我也是刚刚接触passthru。昨天刚看。不过我的项目不急。hoho(2003-04-23 15:04)
mikeluo你的整个的处理流程好像就有问题。 我没有仔细看: 对于你不象发送出去的packet,你是怎么通知上层协议的? 好像没有通知 程序里面的NdisSend是在什么情况下才调用的?? (2003-04-23 14:42)

返回顶部