linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1427回复:7

一个概念!请证明

楼主#
更多 发布于:2003-01-27 21:21
小的我想请教各路高手,得知me/98se 为ndis4.0 (在system 中ndis.sys 为4.0),它们为何还能处理3.0 style的driver(vxd),虽说是向下兼容,但因为这两个版本的格式已经差多了,若真的它们就是有能力辨别不同的版本来进行相关处理动作,它们凭籍的是什么,inf or driverentry的define吗?或是引用那一版的头

最新喜欢:

zackaryzackar...
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-27 22:24
98下是ndis.vxd,me下是sys,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-02-01 20:05
感谢mikeluo兄
我还是把问题说明白点,我所见到有关于me之下的driver,大都用vxd的版本,但,查过之前贴子及自己的认知,me它是support ndis4.0的,故我便利用4.0的特性,由ntddk之下的sample( 就是packet)改成4.0的style (packet.sys)给me用,在收包的时候,由系统送来的包,它居然是ndis3.0的格式,我试着修改inf及driverentry仍没有起色,不知高手有何建议,因为只差这一步了。感谢
david99
驱动牛犊
驱动牛犊
  • 注册日期2001-06-02
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-08 13:21
Windows Me使用NDIS5,如果你是用ndis hook技术,可以直接
参考NDIS5自己定义。
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-09 19:07
感谢您的意见,您说得是否是tdi的hook呢,这一方面我还不懂。
tdi的hook是应该比protocol更高一层吧!!但现在protocol做不起
来,要如何用hook呢?还有别的辨法吗??


linwn
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2003-02-10 22:06
[quote]小的我想请教各路高手,得知me/98se 为ndis4.0 (在system 中ndis.sys 为4.0),它们为何还能处理3.0 style的driver(vxd),虽说是向下兼容,但因为这两个版本的格式已经差多了,若真的它们就是有能力辨别不同的版本来进行相关处理动作,它们凭籍的是什么,inf or driverentry的define吗?或是引用那一版的头
不再回忆从前,我已经生活在幸福当中。
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-02-11 09:20
[quote][quote]小的我想请教各路高手,得知me/98se 为ndis4.0 (在system 中ndis.sys 为4.0),它们为何还能处理3.0 style的driver(vxd),虽说是向下兼容,但因为这两个版本的格式已经差多了,若真的它们就是有能力辨别不同的版本来进行相关处理动作,它们凭籍的是什么,inf or driverentry的define吗?或是引用那一版的头
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
linwn
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2015-01-27
  • 粉丝0
  • 关注0
  • 积分97分
  • 威望30点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-02-11 18:59
能得版主如此高手的回复,小的先谢过。

我知道版主成功porting passthru到9x上,对这个问题应有相当的了解。
只是我不明白,分析在packetreceivepacket()中收上来的packet,dump memory之后,才知道那是先前98ddk中那支sample(vpacket.vxd)同样的packet结构,但我用的确实是ntddk中packet这支sample改出来的packet.sys加载在9x上。

而我用的环境就像版主之前说的,是ntddk的chk build
     并在source中定义了C_DEFINES=$(C_DEFINES) -DNDIS40
inf亦指明了HKR,Ndi\\Interfaces,LowerRange,,\"ndis4,ndis5\"

但收包时,仍要像vxd一样,由3.0v 的style去找到packet的数据
而不是像它加载在2000上的方式,直接在MappedSystemVa指向的位置就是packet的数据所在位置。

也许这个问题无解,但我也能利用3.0的方式收包,不知道算不算成功。
linwn
游客

返回顶部