阅读:1733回复:2
WinCE3.0 NDIS IMD的问题,高手请指教。
我的IMD被加载和启动之后,更大的问题出现了。
在PPC2002(基于Windows CE3.0一个操作系统)的模拟器中一共有NE2000、DC21140、Irsir、PPTP、AsyncMac一共五个网卡。其中AsyncMac和Irsir是NDISWAN的,我在ProtocolBindAdapter()中使用了MediumArray[] = {NdisMediumIrda,NdisMedium802_5,NdisMedium802_3}; 所以可以看到,AsyncMac和Irsir在NdisOpenAdapter的时候失败了。而DC21140在NdisOpenAdapter成功了,并且在随后的Miniport实例的初始化中调用MiniportInitialize()都成功了,并且循环绑定也被我阻止了,所以所有的绑定就没有问题了。现在的问题是: (1)为什么NE2000没有绑定,我在注册表中指定的是绑定NE2000,可是他并没有出现,而是出现了所有没有指定要绑定的。 (2)当我在注册表中指明绑定NE2000的时候,启动之后,模拟器提示无法得到PC机的IP地址,但可以Ping别人,可以和我用来开发的PC机通信,但是我没法截到包;当我修改为指定绑定DC21140的时候,模拟器没有任何提示,但是模拟器与外界的所有通信被截断,我无法调试程序了。因为模拟器和开发驱动的PC机是使用Loopback来通信的。 我不知道错在哪里? 注册表和绑定关系究竟有没有影响?为什么他不管注册表信息直接就来依据我们提供的MediumArray来绑定。但是注册表信息有会带来严重的问题? 请高手指教!! |
|
|
沙发#
发布于:2003-05-03 05:58
1. Add NdisMediumWan into the table to support AsyncMac1;
2. Passthru only bind to \"active\" adapters, please check if NE2000 is acttive, looks like ne2000.dll was not loaded, so you could still use DC21x4 to ping, but when you\'ve successfully bound to DC21X4, you cut the link between miniport and TCP/IP (in this case I suppose the IMD was not working properly) I\'ve got some issues on Platform Builder 4.1 emulator passthru driver: Binding is OK, OIDs set and Query OK, status OK, but 1) the underlying miniport (DC21140) can\'t indicate up, when it does, ProtocolReceive gets the previously sent packet, 2) ProtocolReceive always get looped back packets after NdisSend Any suggestions? What do you mean 因为模拟器和开发驱动的PC机是使用Loopback来通信的 ? [编辑 - 5/3/03 by ndisworker] [编辑 - 5/3/03 by ndisworker] |
|
板凳#
发布于:2003-05-03 09:48
你说得很有道理,我觉得也是我们卡断了DC2114和TCPIP的连接。所以会这样,不过不知道为什么?可能是在注册表的上面!
谢谢! |
|
|