wnl0008
驱动牛犊
驱动牛犊
  • 注册日期2007-06-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望33点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
阅读:1728回复:4

想请教各位一个Ndis_Wdm驱动的问题

楼主#
更多 发布于:2007-08-24 12:45
    最近一直在做一个Ndis_Wdm设备的驱动,但始终对此驱动的结构了解的不是很清楚,想问问大家,希望能得到各位高手的指教。我们项目所要实现的功能就是把网络数据包写入存储器中,该存储器由一个PCI总线控制器(Ch365)控制,所以主要问题就要得到系统分配给Ch365的资源,比如说存储器映射基址等等。
    我的初步设想就是首先用NdisMGetDeviceProperty函数得到指向下层物理设备的对象,然后给该设备发Irp请求包,但是我不明白的是当底层设备收到请求包后,怎么处理呢?我们在驱动程序中要包含Irp的处理代码吗?如果要的话该如何做呢?
    各位高手能给我点建议吗?先谢了!
rangzh
驱动小牛
驱动小牛
  • 注册日期2005-04-24
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望150点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-24 19:32
总线接口是PCI,设备没有中断?不甚明白。如果有中断的话,不能用NDIS_WDM吧。NDIS_WDM的典型应用情况是USB
wnl0008
驱动牛犊
驱动牛犊
  • 注册日期2007-06-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望33点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-25 15:25
设备是有中断的。这个网卡由我们自己做的,365集成在板卡上。现在就是不知道在网卡驱动里面如何操作365,各位高手能给我一些建议吗?
wlandd
驱动牛犊
驱动牛犊
  • 注册日期2004-12-23
  • 最后登录2007-11-28
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-26 20:02
如果你是用CH365,意味着你这是一个PCI的目标卡,不应该和NDIS-WDM驱动有关系。
你这个实现,可以采用NDIS驱动程序来实现,把你的PCI的目标卡虚拟成网卡,然后把系统向这个网卡发送的网络数据报写入你的存储器中。

那么你这个就是一个采用PCI接口的NDIS网卡驱动程序设计。
wnl0008
驱动牛犊
驱动牛犊
  • 注册日期2007-06-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望33点
  • 贡献值0点
  • 好评度31点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-26 22:29
谢谢各位解答,不胜感激!我刚接触驱动的开发,对这方面不是很了解,所以我还想具体的问下,是否有个方法可以做一个虚拟网卡,然后这里面调用365的驱动把网络数据写入365?还是说写一个PCI接口的Miniport驱动,在里面操作365?那这样就要获得365的一些资源,比如说存储器映射基址,中断等。这些资源如何获得呢,直接用NdisMQueryResource使用系统分配给网卡的资源?
游客

返回顶部