阅读:1427回复:7
一个概念!请证明
小的我想请教各路高手,得知me/98se 为ndis4.0 (在system 中ndis.sys 为4.0),它们为何还能处理3.0 style的driver(vxd),虽说是向下兼容,但因为这两个版本的格式已经差多了,若真的它们就是有能力辨别不同的版本来进行相关处理动作,它们凭籍的是什么,inf or driverentry的define吗?或是引用那一版的头
|
|
最新喜欢:zackar... |
沙发#
发布于:2003-01-27 22:24
98下是ndis.vxd,me下是sys,
|
|
|
板凳#
发布于: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仍没有起色,不知高手有何建议,因为只差这一步了。感谢 |
|
地板#
发布于:2003-02-08 13:21
Windows Me使用NDIS5,如果你是用ndis hook技术,可以直接
参考NDIS5自己定义。 |
|
地下室#
发布于:2003-02-09 19:07
感谢您的意见,您说得是否是tdi的hook呢,这一方面我还不懂。
tdi的hook是应该比protocol更高一层吧!!但现在protocol做不起 来,要如何用hook呢?还有别的辨法吗?? linwn |
|
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吗?或是引用那一版的头
|
|
|
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吗?或是引用那一版的头
|
|
|
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 |
|