web虎所用2个64位驱动:到底在build时要生成几个版本?
更准确的问法是:
是否需要根据wdk+目标os不同,根据组合生成不同的多组驱动:
1.wdk10:生成windows10和windows2016+的驱动
2. wdk8和wdk8.1:生成windows8和windows8.1,window2012的驱动?
3. wdk7:生成win7/vista和win2008驱动?
分析:
wdk10版本驱动看来不可或缺,因为多个用户反映windows10不可用,而根据过往经验也确实需要重新build(windows xp/2003可用的-对应wdk6,不能用于windows7/2008-对应wdk7)
wdk8和wdk8.1版本驱动,同上。
wdk7版本驱动,也需要,因为需要更稳定。
背景:
1. 2010版驱动不可在win10、2012上运行,win7上不稳定
2. 新build的,binary compatibility待明确
目前结论:
看到wiki和 osr上都说,wdk1709版 可以支持到从win7sp1/2008R2开始的驱动开发,大喜:不用为每个wdk去build1个driver了,直接用该版wdk+指定target OS+target Platform就可一次build、到处运行(win7sp1以上);事实证明自己一厢情愿了:支持多个targetOS开发,并不意味着可build1个driver、在多个OS上跑。。当然因为咱们用到了wdm,所以每个驱动build时候,需要改动linker option:override the linker $(KernelBufferOverflowLib) ,这里详述:Building Drivers for Different Versions of Windows | Microsoft Docs。。
另外看到一篇文字,介绍怎样做才能让一个驱动同时可以跑在win7,8,8.1上(Building one driver for Win7, Win8, Win8.1 - MCCI Blog),但还没看到怎样能跑到win7开始的所有os上。。以后有空再研究
特别需要小心:文档上显示支持的driver版本少了2个win10的小build版本:1507和1511。。。这点挺奇怪的,待测试。
最终结果:
1.用wdk10对应toolset build出的虚拟盘driver,在win2012上可跑、win7上提示出错:cannot find ntoskrnl.exe keinitializeSpinLock;而该toolset build出的文件过滤驱动在win2012和win7上都可跑。
2.用wdk8.1对应toolset build出的虚拟盘driver,win7上可跑,但需要安装有vs2013的sdk,否则提示 cl.exe错误(msb6006) cl.exe exit with code 5...trk0005错误。。
步骤:
1. 卸载不用的sql之类(先腾空,随便一个升级就几个G), 这些不知道是否有用,但为保险只能先卸载了;保险起见,看了下win10系统还原点,有这些卸掉的
2. 搬走程序目录下vs12,vs11这些不用的 到U盘(后来需要vs2013 sdk,又搬回来了vs12。。)
相关信息:
0.参考链接:Windows Driver Kit - Wikipedia,WDK 1709 (aka 16299 aka RS3) Released! – OSR,What's new in the Windows ADK and ADK tools | Microsoft Docs,What's new in driver development | Microsoft Docs
1.能直接inplace更新sdk和wdk吗? 网上简单找了下:inplace upgrade wdk,无果。
2.sdk更新还要不?看来可能需要,wiki说的: A complete toolset for driver development also need the following: a compiler Visual Studio, Windows SDK, and Windows Hardware Certification Kit.
3.原来wdk的版本号跟windows版本号一致呢,另外还幻想windows更新会包括对应wdk更新、转念一想不对,这不一回事啊,所以还要自己单独下载wdk更新
4.要为wdk和sdk下载点个赞:飞快就把几个G文件下载下来了。。另外安装也没有所担心的额那么大,应该是覆盖了旧版的sdk和wdk。
web虎所用2个64位驱动:到底在build时要生成几个版本?的更多相关文章
- Visual Studio 2013 新增web项目IIS Express的64位版 转载来源http://www.cnblogs.com/jianyus/p/3524335.html
使用Visual Studio 2012开发SharePoint的应该都遇到过下面的错误“SharePoint 在32位进程中不受支持”,而怎么修改目标平台都不好使,因为VS 2012所配备的IIS ...
- Visual Studio 2013 新增web项目IIS Express的64位版
使用Visual Studio 2012开发SharePoint的应该都遇到过下面的错误“SharePoint 在32位进程中不受支持”,而怎么修改目标平台都不好使,因为VS 2012所配备的IIS ...
- Win64 驱动内核编程-24.64位驱动里内嵌汇编
64位驱动里内嵌汇编 讲道理64位驱动是不能直接内链汇编的,遇到这种问题,可以考虑直接把机器码拷贝到内存里,然后直接执行. 获得机器码的方式,可以写好代码之后,直接通过vs看反汇编,然后根据地址在看内 ...
- Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法
Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 Win7 64位 + LoadRunner 11录制时弹不出IE的解决办法 1. 卸载IE9( 装了Win7 64位后,默认 ...
- windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras
转自:windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras 1.本来电脑安装的是anaconda3 5.3.1,但安装的python版本 ...
- 一个伟大的发现,装X一下。笔记本win7系统64位机器执行unity 时,屏幕模糊解决的方法
笔者笔记本win7系统64位机器执行unity 时.往往切换时unity界面屏幕模糊,后来发现此时须要下载DirectXRuntimes201006x64,安装就可以.
- 南天PR2、PR2E驱动下载,xp,win7,win8,win8.1,win10 32位64位驱动下载安装教程
家里开淘宝店,有个针式打印机驱动.电脑各种换系统,为了装这个驱动可是废了不小的劲.不敢独享,所以现在把各种驱动以及安装教程分享出来. 注意: 打印机在开机状态下,电脑在开机状态下,不要插拔连接线!!! ...
- Squid代理服务器(一)——大家所用的游戏代理软件到底为何物?
一.代理服务器应用场景分析 想当年大学时候宿舍控制网速,苦了我们这帮魔兽党,一到晚上工会活动我们就得和全校上万名学生抢网速,作为坦克的我总是因为网速问题导致团灭,咱也是有自尊的人,一怒之下花300元办 ...
- DDK编写64位驱动时加入x64汇编的方法
上篇讲了如何在编写x64应用程序时加入x64汇编,这里来说说如何在编写x64驱动时加入x64汇编. 一.在asm文件中单独编写功能函数 比如要实现一个64位的加法函数,原型如下: ULONG64 my ...
随机推荐
- [转]浅谈 JavaScript的原型对象与原型链
看到这篇文章写的很好,转过来以便今后阅读. 原文地址:http://www.cnblogs.com/shuiyi/p/5305435.html 对于新人来说,JavaScript的原型是一个很让人头疼 ...
- [C语言] 数据结构-预备知识跨函数使用内存
跨函数使用内存 一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放 在另一个函数中还可以继续使用 #include <stdio.h> #include &l ...
- [javaSE] 数组(获取最值)
数组的常见操作(获取最值) 1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值不确定,通过一个变量进行存储 2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于了变量中的值,就用 ...
- 深入分析 Java 中的中文编码问题【转】
转:https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是 ...
- STS的安装教程-鹏鹏
STS全称Spring Tools Suite. 简介:Spring Tools Suite (STS)其实就是一个被包装过的Eclipse,主要用于快速的开发Spring项目,我们不用再去编辑繁琐的 ...
- KATANA Owin 资料收集
https://www.cnblogs.com/xishuai/p/asp-net-5-owin-katana.html http://wiki.jikexueyuan.com/project/thi ...
- Python import搜索的路径顺序
在程序中导入时,如下顺序 1.Python 标准库模块2.Python 第三方模块3.应用程序自定义模块 import的搜索顺序: 首先判断这个module是不是built-in即内建模块,如果是 ...
- win8.1 pro-64位下安装配置MinGW—64位
1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...
- [HNOI2004]宠物收养场
fhq treap 开俩哨兵节点,然后插入.删除.前驱.后继,统计即可 #include"cstdio" #include"cstring" #include& ...
- Jquery对于input事件的处理
Jquery对于input事件的处理.获取此表单元素,以及其内容 .text()不能使用在表单选项上 要使用.val() input元素使用类似onblur(this),事件在function(obj ...