用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!
开发工具:Visual Studio 2015 企业版
目 标 机:Windows XP X86
前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版本和WDK版本保证一致,如果不一致会造成Visual Studio 2015里面C/C++的宏定义和使用的WDK不匹配,严重影响驱动程序的编译!关于这个问题,可以看这篇文章:http://www.cnblogs.com/sunylat/p/6286527.html
本博客所有相关工具和源码下载:http://download.csdn.net/detail/sunylat/9740475
一,建立和编译张帆的NT式驱动:VS2015里面没有NT式驱动的工程模板,看我是如何一步步操作的!
1,新建一个WDM的空工程!!!选择好工程路径,填写工程名称为“HelloDDK”,随后点击“确定”按钮。

2,直接拷贝张帆的第一个NT式驱动源代码到我的工程里。

3,在我的工程里,把拷贝进来的头文件和源代码文件加入到工程里。

4,删除建立WDM工程时候自动生成的“HelloDDK.inf”文件。
A,

B,点击“删除”按钮才是彻底从工程里面删除掉!

5,尝试编译,但是失败了!

6,在工程上鼠标右键,点击“属性”,修改“Driver Settings”,按照截图当中那样修改,随后点击“确定”按钮。

7,继续尝试编译,又失败了,继续修改属性去。

8,在工程上鼠标右键,点击“属性”,修改“C/C++”,按照截图当中那样修改,随后点击“确定”按钮。

9,尝试编译,终于成功编译了!!!

二,在Windows XP中安装NT式驱动:先把安装和捕获驱动信息的工具放到Windows XP中,这两个工具都在本博客提供的打包文件中。
1,
A,打开“Dbgview.exe”,开始捕获驱动调试信息;
B,随后打开“KmdManager.exe”,点击菜单顶部右侧的选择驱动程序按钮,随后找到我们要安装的驱动程序,点击“打开”按钮,开始安装。

2,“KmdManager.exe”显示驱动安装成功了!“Dbgview.exe”也捕获到了驱动调试信息!
3,在我的电脑鼠标右键,点击“管理”,在设备管理器上面点击鼠标右键,随后点击“查看”,在展开的菜单中选择“显示隐藏的设备”。

4,点开“非即插即用驱动程序”,查看是否有“HelloDDK”这个驱动程序,它是我刚刚安装的驱动程序,如果没有,在“非即插即用驱动程序”上面鼠标右键,随后点击“扫描检测硬件改动”,这个时候就应有“HelloDDK”这个驱动程序了!

5,打开“HelloDDK”驱动程序,确认一下,确实是我开发和安装的张帆的第一个NT式驱动程序!!!!!

用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!的更多相关文章
- 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows 10 X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
- Visual Studio 2015 编译错误 File 的值+乱码的解决方法
======================================== VS2015调试项目时,会报莫名奇妙的错误,如下图所示: 程序编译,提示有错误:Visual Studio 2015 ...
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Visual Studio 2015编译wxWidgets
宫指导说,换帅如换刀 程序员的编译器一换,基本套路必须都重练几次 使用wxWidgets并不难,但不能使用现有的库和工程配置文件,细节就必须理清楚 获取wxWidgets 官方的下载页面,下7z或zi ...
- QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)
环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...
- Visual Studio 2015 编译错误【错误 C4996 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. 】的解决方案
错误提示信息: 错误 C4996 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s inst ...
- Visual Studio 2015编译Lua 5.3.4遇到的坑
被坑的不浅,遇到错误:" LNK1561:必须定义入口点",解决方案删除再建,步骤一遍一遍操作,还是报错.如下图所示: 首先,它必须要改成DLL或者LIB(动态/静态库),如果是应 ...
- 使用 Visual Studio 2015 编译 QT 工程
简单进行一下几步就可以了 1.下载源代码 qt-everywhere-opensource-src-5.6.0-alpha.7z .解压到 D:\ToolKits\5.6.0\src 目录下2.网站 ...
- 用Visual Studio 2015成功编译、发布UMDF驱动到目标机!!
开发工具:Visual Studio 2015企业版 主 机:windows10 X64企业版,主机是安装了Visual Studio 2015的操作系统,主要进行驱动开发和调试. 目 标 ...
随机推荐
- ElasticSearch的java api
pom <dependencies> <dependency> <groupId>org.elasticsearch.client</groupId> ...
- ARGB_8888
原文出处:http://www.cnblogs.com/and_he/archive/2012/12/22/argb.html A:透明度 R:红色 G:绿 B:蓝 Bitmap.Config ARG ...
- ZPL语言说明文档
■格式命令(format commands) 以︿开始 用于设定标签格式与数据 多条格式指令按顺序执行 ■控制指令(control commands) 以~开始 迫使打印机立即执行某一个指令的操作 可 ...
- 洛谷 P2850 [USACO06DEC]虫洞Wormholes 判负环
虫洞(wormhole) FJ 在农场上闲逛时,发现他的农场里有很多虫洞.虫洞是一条特殊的有向路径,当 FJ 从它的一头走到另一头后,他将被传送到过去的某个时刻.FJ 的每个农场包括 N(1<= ...
- ConfigureAwait(false)避免上下文延续
之前MVC利用MvcHtmlString封装通用下拉菜单,菜单数据需要从webapi获取,自然用到了 await Http Client.GetAsync(Url)方法,前端 @Html.Select ...
- [GO]单向channel和应用
var ch1 chan int //ch1是一个正常的channel,不是单向的 var ch2 chan <- float64 //ch2是一个单向的channel,只用于写float ...
- NBA常识 位置的划分 足球:越位等于抢跑
篮球:1号位——组织后卫(控球,组织)2号位——得分后卫(中远投篮,突破)3号位-----小前锋(突破,中远投篮)4号位——大前锋(二中锋,篮板,背身单打,禁区防守)5号位——中锋(篮板.背身单打,禁 ...
- 从零开始学习前端JAVASCRIPT — 8、JavaScript基础COOKIE
1:通信协议 定义:通信协议是指双方实体完成通信或服务所必须遵循的规则和约定.协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到 ...
- javascript的caller,callee,call,apply[转]
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[ ...
- SVN客户端--TortoiseSVN使用说明【转】
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理. TortoiseS ...