用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的操作系统,主要进行驱动开发和调试. 目 标 ...
随机推荐
- Java并发之AQS详解(转)
一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronized(AQS)! 类如其名,抽象的队列式的同步器,AQ ...
- 导入本体到Jena TDB数据库
本体的存储方法或称本体持久化,大致分为基于内存的方式.基于文件的方式.基于数据库的方式和专门的管理工具方式4种(傅柱等, 2013).其中,基于数据库的方式又有基于关系数据库.基于面向对象数据库.基于 ...
- objective-C: NSString应该用initWithFormat? 还是 stringWithFormat?
今天在看书上的一段代码时,发现NSString实例化时,有时用的是initWithFormat方法,有时用的是stringWithFormat,到底应该如何选择呢? 区别: 1.initWithFor ...
- vs code 配置spring boot开发环境
一.环境变量 jdk环境变量一键设置 管理員运行 - 一支小白 - 博客园https://www.cnblogs.com/startnow/p/7416533.html 二.安装插件 1.Java E ...
- spring jpa 创建时间和更新时间自动更新
@Entity @Table(name="RS_SIGNUPUSER") public class RsSignUpUser { @Id @GenericGenerator(nam ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第十六周
java学习第十六周-并发 本周,学习了Java中线程,并发的知识,在老师的带领下,进行了对知识的理解学习,以及对实验的运行讲解,对这一块内容掌握的还可以,在自主编程中,也能够完成.线, ...
- 【HDU4734】F(x) 【数位dp】
题意 先定义了一个函数F(X)=An*2^n-1+An-1*2^n-2+.....+A1*1.其中Ai为X的第i位的值.对于每组数据给出了两个整数A,B.问不超过B的数中有多少的F值是不超过F(A)的 ...
- ubuntu18.04 安装显卡驱动
1.使用PPA仓库进行自动化安装 sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update 2.查询所有u ...
- porwedesigner 去掉引号
PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入Tool ...
- Openssl ec命令
一.简介 椭圆曲线密钥处理工具 二.语法 openssl ec [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-out filename] ...