shdaianita
驱动牛犊
驱动牛犊
  • 注册日期2008-07-18
  • 最后登录2009-07-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2496回复:7

自己如何发包? 参考了suio 再请版主指教

楼主#
更多 发布于:2008-08-05 14:03
我想利用应用层传过来的数据进行发包,数据已经传到了驱动层,可是我怎么调用NdisSend呢,它的参数我怎么获得呢?如NdisBindingHandle

还有分配Buffer,packet的的时候,一些参数怎么获得呢?

我是想通过控制码,在驱动中自己发包,而不是修改MpSend来转发包
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2008-08-06 09:15
Re:自己如何发包?  版主来看看啊    今天继续等啊 急 急 急!!!!!
1.你是passthru基础上做的?
2.自己发包可以参考ndisuio的例子。不同的地方就是在ptsendcomplete的时候,要区分是自己的包,还是转发自上层驱动也就是tcpio.sys的包,做不同的处理。
needsun
驱动牛犊
驱动牛犊
  • 注册日期2008-07-14
  • 最后登录2009-11-12
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望48点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-08-06 09:22
我在mpsendpackets函数中把包数据获取后,在另一个地方发送也是不行.一直卡在这个问题上.希望有人能帮助一下.
shdaianita
驱动牛犊
驱动牛犊
  • 注册日期2008-07-18
  • 最后登录2009-07-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-08-06 10:16
对 我是在passthru上做的
现在就是不知道参数怎么获得
在MPSend里面,参数MiniportAdapterContext是函数提供的
可是我不在MPSend里面发包呀,我怎么获得MiniportAdapterContext这样的参数呀

再请版主指教啊
shdaianita
驱动牛犊
驱动牛犊
  • 注册日期2008-07-18
  • 最后登录2009-07-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-08-06 12:38
我参考了一下ndisuio,它是通过pIrpStack->FileObject->FsContext来获取相关参数的,可是我的IRP包里面的这个参数是空的啊
在ndisuio的例子里面,如果是空的就退出,即失败了


???该怎么办???
请版主指教
shdaianita
驱动牛犊
驱动牛犊
  • 注册日期2008-07-18
  • 最后登录2009-07-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望25点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-08-06 13:33
解决了

大家一起来讨论下,看看我的方法适用不适用

我是这样做的:

突然发现NDIS提供了一个pAdaptList,而这个结构里面就有需要的参数,不过需要注意一下,它是个链表,不只一个PADAPT结构,需要自己判断
比如,我输出了这个表的所有介质类型,发现一共有3个,第一个是NdisMedium802_3,即以太网,后两个都是NdisMediumWan,即广域网,我用的是以太网,已成功实现!

呵呵!
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2008-08-06 13:38
MiniportAdapterContext就是你在PtBindAdapter函数中的pAdapter,保存到全局变量里,如果只有一个网卡,直接用就可以了,多快网卡,还要选择一个用。
newfire@163.com
驱动牛犊
驱动牛犊
  • 注册日期2008-01-29
  • 最后登录2011-07-18
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望133点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-11-06 17:31
楼主帮忙!
发包的代码能不能贴上来。我调用用发包函数后蓝屏呀
游客

返回顶部