阅读:1494回复:3
IMD(passthru)与WinPoetADSL拨号冲突的问题
环境:win2k advance server / perfessal+sp2,winpoet4.0
passthru(win2DDK)的例子程序正常编译后,正常安装没问题, 并且能捕获网卡上来的数据。现需要支持Moden, 因此仿照XP下的passthru在MPInitialize中增加了如下代码: Medium = pAdapt->Medium; if (Medium == NdisMediumWan) { Medium = NdisMedium802_3; // pAdapt->Medium = NdisMedium802_3; } for (i = 0; i < MediumArraySize; i++) { if (MediumArray == Medium) { *SelectedMediumIndex = i; break; } } 其中//后的是自己加上的xp passthru中没有,但是不管这行代码有没有,安装时都会蓝屏,用softice跟进去发现都是在MPInitialize中,pAdapt->Medium=NdisMediumWan时,也就是说只要将wan的介质类型转换为ethernet就会有问题,故障检验码是PAGE_FAULT_IN_NONPAGED_AREA,如果把整个的if去掉,则安装没问题,但是winpoet就不能拨上去,且每次都在[Info] VPN_NIC::OnWanSetLinkInfo() called Break due to Page Fault (0Eh). Fault=0000 失败。 但对于Ether300,RRAS等ADSL拨号则没问题, 后发现,Ether300是绑定的UpperRange=ndis5,LowerRange=ethernet winpoet的是UpperRange=ndiswan,LowerRange=wan 于是在inf中把wan去掉,都没问题了,但只能绑上网卡,对于winpoet虚拟出来的网卡就绑不上了。 现在估计问题就是出在wan上, 请各位大虾伸出援助之手,指点迷经。 |
|
|
沙发#
发布于:2002-08-12 15:40
详细的说,你做了那些代码改动,包括对inf文件的改动。
另外,你可以看一看以前关于拨号的帖子,好多人已经问过。 |
|
|
板凳#
发布于:2002-08-12 17:02
对于inf我只是在FilterMediaTypes中增加了对wan的支持,并把与
sfilter.dll相关的内容注释调了,因为我用不上Notify object。 这个passthru在ether300,RRAS,Moden下工作的很好, 我现在的疑问是,对于wan介质,是否只能绑一次, 或者装了winpoet后,就绑不上了,有那位兄有IMD的先试一下看, 是否这种情况会重现。 另外,我问的是拨号与winpoet冲突的问题,而不是单纯的拨号, 我在提问前也搜索了以前关于拨号的文章,上面并没有相关内容, (我自认为已经是比较仔细了)。 |
|
|
地板#
发布于:2002-08-13 11:17
我所说的可能不太准确,我认为winpoet可能也是建立在网卡之上的imd,在你的系统中,如果有两个imd系统(另一个当然是你的passthru),可能会造成一些问题。从理论上来讲,我想首先是绑定的问题,passthru绑定到什么上面。另一方面是交互的问题,收发包怎样处理。
我记得adsl有两种连接的方式,一种是客户机带有拨号软件如你的机器带有的winpoet,一种则是客户机不带拨号软件;这两种adsl都是客户机通过网线与另一端的modem(adsl拨号modem)相连,你有没有试过用第二种方式。 |
|
|