monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
阅读:1679回复:2

WinCE3.0 NDIS IMD的问题,高手请指教。

楼主#
更多 发布于:2003-04-11 10:21
我的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来绑定。但是注册表信息有会带来严重的问题?


请高手指教!!



 

听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
ndisworker
驱动牛犊
驱动牛犊
  • 注册日期2002-10-19
  • 最后登录2012-03-31
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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]
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-03 09:48
你说得很有道理,我觉得也是我们卡断了DC2114和TCPIP的连接。所以会这样,不过不知道为什么?可能是在注册表的上面!
谢谢!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
游客

返回顶部