Windows驱动开发VS2012 DDK/WDK的环境配置
[开发Windows驱动的配置是很必要的,下文将详细介绍VS2012如何配置驱动开发环境]
[转载]
以下部分内容是转载博客:http://blog.csdn.net/huangxy10/article/details/15284881
[下载]
微软官网下载WDK或者网上有DDK安装包,这是驱动开发的SDK。安装WDK是很简单的,这里不再赘述。
[安装DDK/WDK]
安装完成后配置环境变量。根据你WDK安装的位置不同,变量值是不同的,这点需要注意,你需要根据你的实际情况更改。

[配置VS2012属性]
完成环境变量的配置后,开始详细配置VS2012,下面步骤很重要!
1、打开VS2012,新建一个VC++空白工程。
2、进入Sln配置管理器,新建一个配置,命名为Driver。这个Driver配置是用于生成模板使用,因为配置过程比较麻烦,我们总不能每个Project都配置一次吧。
3、启动VS2005,在菜单栏“项目”-“属性”中依次添加所需的目录,具体配置如下图:

注意:$(WDKROOT)\inc\api一定要放在第一个,否则会导致编译失败

4、 具体的项目属性按照如下设置:
注:创建项目时选择“Win32项目”









按照以上图片配置好后就可以直接编译驱动程序了。
注:如果在编译过程中遇到如下错误:
error LNK2019: 无法解析的外部符号 @__security_check_cookie@4
请您将“项目属性”-“C/C++”-“代码生成”的“缓冲区安全检查”设为“否”
[生成模板]
将配置环境搭建好后,点击VS左上角“文件"——“导出模板”——“项目模板”,设置一些信息,生成一个项目模板,将项目模板拷贝到VS模板专用的文件夹,一般都在Template这个文件夹里面,重启VS就可以看到VC++项目中可以直接选中“你刚刚生成的模板”,然后新建项目。
新建项目后,需要选择“解决方案配置”——“Driver”(刚刚你自定义的那个属性)
[注意]
如果在同一个解决方案里面新建项目都采用这个方法就是OK的,因为Driver的配置是公用的,是一个模板。如果需要单独保存Driver的属性内容,可以打开“属性管理窗口”,找到Driver属性的树,并且右击——“保存”。以便以后随时可以直接生成Driver的属性,不用按照截图一步步设置。前提是WDK的安装位置没有修改。
[相关文章]
Windows驱动开发VS2012 DDK/WDK的环境配置的更多相关文章
- Windows驱动开发(中间层)
Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...
- [Windows驱动开发](一)序言
笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...
- windows驱动开发推荐书籍
[作者] 猪头三 个人网站 :http://www.x86asm.com/ [序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都 ...
- windows 驱动开发入门——驱动中的数据结构
最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...
- C++第三十三篇 -- 研究一下Windows驱动开发(一)内部构造介绍
因为工作原因,需要做一些与网卡有关的测试,其中涉及到了驱动这一块的知识,虽然程序可以运行,但是不搞清楚,心里总是不安,觉得没理解清楚.因此想看一下驱动开发.查了很多资料,看到有人推荐Windows驱动 ...
- Windows 驱动开发 - 5
上篇<Windows 驱动开发 - 4>我们已经完毕了硬件准备. 可是我们还没有详细的数据操作,比如接收读写操作. 在WDF中进行此类操作前须要进行设备的IO控制,已保持数据的完整性. 我 ...
- Windows驱动——读书笔记《Windows驱动开发技术详解》
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- Windows 驱动开发 - 7
在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...
- Windows 驱动开发 - 8
最后的一点开发工作:跟踪驱动. 一.驱动跟踪 1. 包括TMH头文件 #include "step5.tmh" 2. 初始化跟踪 在DriverEntry中初始化. WPP_INI ...
随机推荐
- 作用域&&闭包
在了解闭包之前,先了解作用域一,作用域简单来说就是变量和函数可以访问的范围,在es5中变量作用域一般分为全局作用域和局部作用域,这个主要依据是全局变量还是局部变量 情景1: <script> ...
- Ubuntu16.04安装yum的一种方式
1. 首先检测是否安装 build-essential 包 sudo apt-get install build-essential 2.安装yum sudo apt-get install yum ...
- (32)forms组件(数据校验)
forms组件的用处 1.就是用来做数据校验的 2.渲染页面 3.渲染错误信息(和局部刷新同效果) 数据校验 要使用forms组件必须要写一个类继承forms组件 urls.py from bbs01 ...
- rabbitmq management advance lesson
rabbitmq management advance management install rabbitmq-plugins enable rabbitmq_management visit : h ...
- 1_2_3_4_5 Html-Css
--------------------------------------------------------------------------------- HTML骨架 <HTML> ...
- 第十七章 java8特性
17.java8中Lambda表达式与Stream API的使用 17.1 Lambda 表达式(Lambda Expressions) 1课时 17.2 函数式(Functional)接口 1课时 ...
- SpringBoot RestFul风格API接口开发
本文介绍在使用springBoot如何进行Restful Api接口的开发及相关注解已经参数传递如何处理. 一.概念: REST全称是Representational State Transfer,中 ...
- Java种的String
String中的常用方法 subString()的使用,charAt的使用方法: indexof等的用法 String和byte的转换,对于程序过程的传输很重要, ==和equals的比较 1equa ...
- 【python】dist-packages和site-packages的区别
一.dist-packages和site-packages的区别 sudo apt-get install 安装的package存放在/usr/lib/python2./dist-packages目录 ...
- Office_PPT_让你一分钟完成上百张图片的快速保存
1 方式 修改PPT文件格式,由PPT修改为rar,再进行解压操作 进入到ppt->media中找到你在PPT为文件中使用的图片. 2 PPT北京图片下载网址 别样网:https://www.s ...