Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26772
  • 博文数量: 10
  • 博客积分: 245
  • 博客等级: 二等列兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-08 09:38
文章分类

全部博文(10)

文章存档

2012年(10)

我的朋友

分类: WINDOWS

2012-09-04 12:53:12

20120904
    Win32 上面写的 passthru (WDK 6001.18002),转向 Win64 ,根据现象,貌似连加载都不加载...
在 Win2003_x64 和 2008_64试了。
怎么办?
  试了一下,用了 WDK 7600.16385.1 中的 passthru 的代码 ,在 Win2003_x64 上。
1)、用WDK : Win2003-->ia64 Checked Build Environment 编译(生成的文件夹名为 objchk_wnet_ia64),用生成的 .sys 安装于 Win2003_x64之上,没反应...
2)、用WDK : Win2003--> x64 Checked Build Environment 编译(生成的文件夹名居然为 objchk_wnet_amd64),用生成的 .sys 安装于 Win2003_x64之上,CreateFile 可以打开 ,可喜可贺...
 
对比 WDK 6001.18002 和 WDK 7600.16385.1 中的 passthru源码,
  1)、netsf.inf : (6版本的) 在“[Manufacturer]”前面多了一个 “回车”... 2bytes
  2)、sources : (7版本的) 多了一句 “MSC_WARNING_LEVEL=/WX /W4”和一个 回车 ... 27bytes
  3)、protocol.c : (6版本的) 多了“
#ifdef NDIS51
    ULONG                          PendingIoCount = 0;
#endif // NDIS51
”加一个 回车... 89bytes
 
 
最后发现,原来的程序,用 WDK 7600.16385.1 编译一下,就可以跑了...(注意是选择 x64 Checked Build Environment )
这样看来代码基本没变,那应该是 NDIS51 的缘故了 ,到WDK7里面可能是 NDIS60 了吧...
 
 
ps : 注意 : 这里编译sys成功,跑也跑成功了,原来的驱动代码不用改,只是将WDK6换成用WDK7编译,在Win2003x64上OK。
     在Win2008x64上,只是在“系统启动-->F8-->Disbale Driver Signature Enforcement”的模式下测试通过;不选这个模式的话,Win2008x64开机进系统后显示断网...(是∵passthru加载失败的缘故吧.. 就算是在 Test Mode 下还是会断网...)
阅读(923) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~