1.  安装VS2010,WDK7.60(GRMWDK_EN_7600_1)

2.  新建VC 控制台项目(选择为空项目)

3.  新建项目配置“driver” ,点击下拉按钮-点击(配置管理器)

输入名称(driver)点击确定就可以了,其他的不要动哦!

完成后的效果!

点击确定按钮之后呈现出来的画面

鼠标右击新建的driver属性,会弹出以下窗口!

 
4.  设置VC++路径

<我把wdk安装在E盘下> 
a.  配置可执行文件目录:E:\WinDDK\7600.16385.1\bin\x86; 
b.  配置包含目录:E:\WinDDK\7600.16385.1\inc\ddk  
                        E:\WinDDK\7600.16385.1\inc\crt
                        E:\WinDDK\7600.16385.1\inc\api   
c.  配置库目录:    E:\WinDDK\7600.16385.1\lib\win7\i386

新建C/C++文件 不然无C/C++设置选项

<刚开始我们创建了一个空的项目所以项目里没有c++文件,现在要做的就是在空的项目-源文件-添加一个新建项c++文件>

常规  
目标文件扩展名:.sys          //必选

6.  设置C/C++选项 
常规选项卡 
1 调试信息格式(C7 兼容(/Z7)        //可选 
2 警告等级     (2 级(/W2)          //可选 
3 将警告视为错误  (是(/wx)         //可选 
  
优化选项卡 
优化(禁用/Od)                          //可选 
  
预处理器 
预处理器定义:WIN32=100;_X86_=1;WINVER=0x501;DBG=1         //必选 
  
代码生成 
       启用最小重新生成:否                                        //可选

基本运行时检查:默认值                                     //可选 
       运行时库:多线程调试(/MTd)  或  多线程(/MT)                 //建议选 <本人选择的是多线程调试(/MTd)> 
       缓冲区安全检查:否                                            //可选 
  (可避免出现  LINK : error LNK2001:  无法解析外部符号  __security_cookie) 
高级 
     调用约定  __stdcall(/Gz)                                       //必选 
  
7.  链接器设置 
常规 
     启用增量链接:否(/INCREMENTAL:NO)                           //建议 选上 
     忽略导入库:是                                                  // 可选  
     ( 设置为此值时,必须在附加库目录中加: E:\WinDDK\7600.16385.1\lib\win7\i3865  这样项目就不会依赖 IDE 环境的设 置)

如果否  (  设置为此值时,将依赖  IDE  的环境的相关设置  ) 
  
输入 
附加依赖项 
ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB       //必选

//NT式驱动  ntoskrnl.lib    WDM式驱动    wdm.lib 
( HalXXX 函数在Hal.lib, WmiXXX 函数在  wmilib.lib  , NdisXXX函数在  ndis.lib ) 
(  必要时需要增加微软的标准库  MSVCRT.LIB MSVCRTD.LIB(调试库) LIBCMT.LIBIBCMTD.LIB(调试库) ) 
  (  如果源码中有  source  文件,那么该文件的  TARGETLIBS  字段会列出该项 目需要的库  )

忽略所有默认库:    是 (/NODEFAULTLIB)                 //必选

清单文件: 
  启用用户账户控制(UAC)   否  //必选

不然会出现  >LINK : fatal error LNK1295: “/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC”   
  
     调试: 
生成调试信息  是(/DEBUG)                                              //可选 
生成映像文件:是(/MAP)                                               //可选 
映像文件名:$(TargetDir)$(TargetName).map                     //可选 
  
    系统(System) 
     子系统:  控制台(/SUBSYSTEM:CONSOLE)                                //必选 
     堆栈保留大小:4194304                                              //可选 
     堆栈提交大小:  4096                                                //可选 
     驱动程序:    驱动程序(/DRIVER)                                        //必选   
      高级: 
    入口点:DriverEntry                                                    //必选 
    随机基址:清空           //把框里的数据删掉。(yes也不是no也不是就是要一个干干净净的文本框)   //必选 
    不然会出现  e:\xxx.sys : fatal error LNK1295: 
“/DYNAMICBASE”与“/DRIVER”规范不兼容;链接时不使用“/DYNAMICBASE”

数据执行保护(DEP):  清空 //把框里的数据删掉。(yes也不是no也不是就是要一个干干净净的文本框) //必选   
     不然会出现  e:\xxx.sys : fatal error LNK1295:        
“/NXCOMPAT:NO”与“/DRIVER”规范不兼容;链接时不使用“/NXCOMPAT:NO”

设置效应和:是(/RELEASE)                              //可选

基址:0x10000                                           //建议选上  
    
 命令行:/SECTION:INIT,D /IGNORE:4078        (建议不要写进去,会报错!)

最后给出一个超级简单的代码来测试一下我们配置的是否成功??

#include "ntddk.h"

NTSTATUS 
DriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath) 

return STATUS_UNSUCCESSFUL; 
}

如果没有报错那么恭喜你配置成功了!

原文地址:http://www.cppblog.com/guojingjia2006/archive/2011/03/19/142211.html

本人尝试了一下,表示好用,特此保存。

Window7 驱动编程环境配置的更多相关文章

  1. Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径

    Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...

  2. Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置

    https://blog.csdn.net/charlessimonyi/article/details/50904956 Win8.1+VS2013+WDK8.1+VirtualBox or VMw ...

  3. STM32编程环境配置(kile5)

    2018-08-2513:53:33 折腾了很久,花了两天的空闲时间终于烧进去程序了.完成了kile5对stm32编程的环境配置. 1.下载kile5 激活破解 2.安装stm32配置环境 3.加载工 ...

  4. VC6.0 +WDK 开发驱动的环境配置

    前段时间,系统偶感风寒,挂掉了,苦于又没有备份过,只有重装了.原来开发驱动的环境是VC6+DDK+DriverStudio3.2,当时配置的时候就花了好一阵功夫,也没有彻底搞清楚.现在要重装了,决定改 ...

  5. 《OpenGL超级宝典》编程环境配置

    最近在接触OpenGL,使用的书籍就是那本<OpenGL超级宝典>,不过编程环境的搭建和设置还是比较麻烦的,在网上找了很多资料,找不到GLTools.lib这个库.没办法自己就借助源码自己 ...

  6. VS2013+WDK8.1 驱动开发环境配置

    Windows Driver Kit 是一种完全集成的驱动程序开发工具包,它包含 WinDDK 用于测试 Windows 驱动器的可靠性和稳定性,本次实验使用的是 WDK8.1 驱动开发工具包,该工具 ...

  7. UNIX环境高级编程-环境配置

    环境配置步骤如下. 1.  下载源文件:http://www.apuebook.com/src.tar.gz. 2.  复制src.tar.gz文件到/home/me/mydir/unixl/目录(自 ...

  8. Windows下Hadoop编程环境配置指南

    刘勇    Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于最近在研究 ...

  9. Sublime Text 3 Build 3047 安装/插件安装/C编程环境配置

    Sublime Text 3 Build 3047 安装 参考:http://sublimetext.iaixue.com/forum.php?mod=viewthread&tid=29 插件 ...

随机推荐

  1. 20145223《Java程序程序设计》第10周学习总结

    20145223<Java网络编程> 一.Java的网络编程 ·网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. ·java.net包中J2SE的API包含有类 ...

  2. linux read简单用法

    #!/bin/bash #read chars into var read -n var echo $var #read chars without showing it read -s var ec ...

  3. MapReduce应用案例--简单的数据去重

    1. 设计思路 去重,重点就是无论某个数据在文件中出现多少次,最后只是输出一次就可以. 根据这一点,我们联想到在reduce阶段数据输入形式是 <key, value list>,只要是k ...

  4. MFC 打开链接的方法

    第一种: system("start explorer http://http://www.baidu.com"); 第二种: ShellExecute(NULL, NULL, _ ...

  5. nginx负载均衡之基于客户端cookie的会话保持

    通过ip_hash做会话保持有一定的缺陷,这个是通过客户端ip来实现.同一个网络下众多客户端访问服务器会被扔到同一台机器,再或者是CDN也 会导致负载不均衡.所以要实现通过客户端cookie实现,包括 ...

  6. 来自于2016.2.24的flag

    今天又做了一套xj模拟题-------打比赛这种事情变得越来越无聊了------既影响自己的计划(虽然看起来很难完成的样子),又扰乱心情.而且题目大都是学习算法之类的,与计划不接轨就非常没有兴趣. 然 ...

  7. 1301. The Trip

    A number of students are members of a club that travels annually to exotic locations. Their destinat ...

  8. JS:操作样式表2 :用JS实现添加和删除一个类名的功能(addClass()和removeClass())

    var box = document.getElementById("box"); box.id = "pox"; 将id = “box”,改为id = “po ...

  9. fuser 命令的介绍

    fuser 可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息.  fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访 ...

  10. ELK_elk+redis 搭建日志分析平台

    这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elast ...