[开发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的安装位置没有修改。

[相关文章]

Windbg驱动双机调试环境配置

Windows驱动开发VS2012 DDK/WDK的环境配置的更多相关文章

  1. Windows驱动开发(中间层)

    Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...

  2. [Windows驱动开发](一)序言

    笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...

  3. windows驱动开发推荐书籍

    [作者] 猪头三 个人网站 :http://www.x86asm.com/ [序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都 ...

  4. windows 驱动开发入门——驱动中的数据结构

    最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...

  5. C++第三十三篇 -- 研究一下Windows驱动开发(一)内部构造介绍

    因为工作原因,需要做一些与网卡有关的测试,其中涉及到了驱动这一块的知识,虽然程序可以运行,但是不搞清楚,心里总是不安,觉得没理解清楚.因此想看一下驱动开发.查了很多资料,看到有人推荐Windows驱动 ...

  6. Windows 驱动开发 - 5

    上篇<Windows 驱动开发 - 4>我们已经完毕了硬件准备. 可是我们还没有详细的数据操作,比如接收读写操作. 在WDF中进行此类操作前须要进行设备的IO控制,已保持数据的完整性. 我 ...

  7. Windows驱动——读书笔记《Windows驱动开发技术详解》

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  8. Windows 驱动开发 - 7

    在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...

  9. Windows 驱动开发 - 8

    最后的一点开发工作:跟踪驱动. 一.驱动跟踪 1. 包括TMH头文件 #include "step5.tmh" 2. 初始化跟踪 在DriverEntry中初始化. WPP_INI ...

随机推荐

  1. js layer.js

    var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); 关闭弹出页 全屏弹出页面 layer.o ...

  2. 《DSP using MATLAB》Problem 7.9

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  3. C++中字符数组与string的相互转换

    字符数组转化成string类型char ch [] = "ABCDEFG";string str(ch);//也可string str = ch;或者char ch [] = &q ...

  4. 【SpringBoot】服务器端主动推送SSE技术讲解

    =====================16.高级篇幅之SpringBoot2.0服务器端主动推送SSE技术讲解 ============================ 1.服务端推送常用技术介绍 ...

  5. MySQL Execution Plan--NOT EXISTS子查询优化

    在很多业务场景中,会使用NOT EXISTS语句来确保返回数据不存在于特定集合,部分场景下NOT EXISTS语句性能较差,网上甚至存在谣言"NOT EXISTS无法走索引". 首 ...

  6. vue-demo(初级)

    在使用WebStorm前把字符编码等等设置好! 使用WebStorm打开vue项目等待ide索引加载完成 注意要让WebStorm可以创建vue文件需要以下步骤: <template> & ...

  7. Linux内核分析第三次作业

    实验:mykernel时间片轮转多道程序内核 进入实验楼实验,在终端中分别输入以下命令 cd LinuxKernel/linux-3.9.4 rm -rf mykernel patch -p1 < ...

  8. 1、minimum-depth-of-binary-tree

    题目描述 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the ...

  9. IDEA—— 找不到或无法加载主类Main

    最近使用idea,编写了一个项目,发现老是找不到main,网上找了一大圈的解决方案,都不行.灵机一动升级了jdk就可以了,之前用的是1.7的,换成了1.8的就好了.

  10. cookie的中文乱码问题【URL编码解码】

    先搞明白为什么会乱码,为什么要转码: 在tomcat 8 之前,cookie中不能直接存储中文数据.需要将中文数据转码,一般采用URL编码(%E3).在tomcat 8 之后,cookie支持中文数据 ...