版块
论坛
喜欢
话题
应用
搜索
登录
注册
ruberman的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=53708
刚才忘记设定分数,重新发一个MPSend自定义包的问题
刚才忘记给分,不好意思,重新发一次。。管理员不要删除。。=============================我在PassThru基础上做一个中间层驱动。现在遇到一些问题。当上层发出一个Arp数据报时,我要禁止它发出然后自己构造一个相应的回应包,通知上层接收。在MpSend中...
全文
回复
(
9
)
2003-04-23 13:14
来自版块 -
NDIS网络接口开发
◆
◆
表情
告诉我的粉丝
提 交
tsinghui
:
1。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)
回复
ruberman
:
NdisSetPacketFlags(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)
回复
michae1
:
passthru的MPSend函数只负责上层protocol driver往下发的数据报文。要想往上传收到的报文(或者是自己生成的报文)应该在别的函数里边实现吧?我也是刚刚接触passthru。昨天刚看。不过我的项目不急。hoho
(2003-04-23 15:04)
回复
mikeluo
:
你的整个的处理流程好像就有问题。 我没有仔细看: 对于你不象发送出去的packet,你是怎么通知上层协议的? 好像没有通知 程序里面的NdisSend是在什么情况下才调用的??
(2003-04-23 14:42)
回复
ruberman
加关注
写私信
0
关注
0
粉丝
99
帖子
返回顶部