`

【WDK开发】一、配置VS2008的驱动程序开发环境

阅读更多
要编写Windows平台上的驱动程序,首先需要一份WDK(Windows Driver Kit)的SDK,WDK目前支持到Windows 7,打开https://connect.microsoft.com/default.aspx这个网站,在主页中单击站点目录,在该页左侧的*类别*中选择开发人员工具,并在右侧找到Windows Driver Kit(WDK) and Windows Driver FrameWork(WDF)。单击立即申请,在填写完注册信息后就可以下载WDK了。默认安装到C:\WinDDK目录下。


要让Visual Studio 2008能够编译驱动程序,步骤如下:

(1) 打开VS2008,依次选择菜单:
  • 1。 单击工具(tools)——>选项(options);
  • 在弹出的选项的列表栏选择“项目和解决方案-Project and solutuons”——>VC++目录(VC++ Directories);

在左侧的显示以下内容的项目中先选择:
  • "包含文件-include files",并在下面新建C:\WinDDK\7600.16385\inc\api和C:\WinDDK\7600.16385\inc\ddk两个路径,
  • 然后选择"库文件-library files",在下面添加C:\WinDDK\7600.16385\lib\wxp\i386。






(2) 接下来是每次创建项目都需要做的。先创建一个项目,在项目生成后点击项目——>(项目名)属性,点击配置管理器,并在配置管理器中新建一个名为Free的配置(新建时从Release复制配置);之后在属性页的右侧选择配置属性——>C/C++ ——>高级,调用约定改为__stdcall(/Gz);再在属性页的右侧选择配置属性——>链接器,在常规中把输出文件改为$(OutDir)\$(ProjectName).sys,在清单文件中把启用用户账户控制(UAC)改为否(这就是VS2008中新增加的特性),在优化中将链接时间代码生成改为默认值,在高级中将随机地址改为默认值(这也是VS2008中新增加的特性),最后在命令行中输入:

ntoskrnl.lib
/base:"0x10000"
/entry:"DriverEntry"
/subsystem:native
/nologo
/stack:0x400000,0x1000
/incremental:no
/nodefaultlib

经过以上配置以后就可以在Visual Studio 2008 中舒适的编译驱动程序了。

这样的动作如果每个项目都来一次未免太繁琐,网络上有提供现成的Wizard.推荐使用DDKWziard,你可以用http://ddkwizard.assarbad.net/下载,安装画面之后,会弹出配置窗口,这里有个小bug,选择了WDK的路径之后,next 选项还是灰色,你只需要把路径稍微修改一下(比如在路径后面敲个空格,再删除掉空格),next 选项就点击了。

进入Visual studio后,选tools->VisualDDK Settings,为驱动程序配置调试的选项,这时候可能需要Windows的符号文件。可以从这里下载:
http://www.microsoft.com/whdc/DevTools/Debugging/symbolpkg.mspx

注意的用DDKWizard是编程驱动程序的项目路径不要出现空格,否则会出现“fatal error U1087: cannot have : and :: dependents for same target”的错误。
  • 大小: 82.2 KB
分享到:
评论

相关推荐

    驱动开发入门:Win7 SP1 x64 驱动开发环境搭建

    适读人群:具备良好的C/C++开发经验,一定的逆向工程基础。 本文仅讲述在Win7 SP1 x64系统中,搭建基于WDK7600的驱动开发环境,不会解析任何驱动开发的代码。

    Windows驱动编程基础教程

    本书非常适合熟悉Windows应用编程的读者转向驱动开发。所有的内容都从最基础的... 当然读者必须把WDK安装的计算机上并配置好开发环境。具体的安装和配置方法本书没有提供。因为网上已经有非常多的中文文档介绍它们。

    Windows驱动编程基础教程.doc

    读完这本书之后,读者一定可以更轻松的阅读其他专门的驱动程序开发的文档和相关书籍。而不至于看到大量无法理解的代码而中途放弃。如果有任何关于本书的内容的问题,读者可以随时发邮件到mfc_tan_wen@163.com或者...

    Windows内核安全与驱动开发光盘源码

    2.5 Windows的驱动开发模型 29 2.6 WDK编程中的特殊点 30 2.6.1 内核编程的主要调用源 30 2.6.2 函数的多线程安全性 30 2.6.3 代码的中断级 32 2.6.4 WDK中出现的特殊代码 32 第3章 字符串与链表 35 3.1 字符...

    Windows内核安全驱动开发(随书光盘)

    2.5 Windows的驱动开发模型 29 2.6 WDK编程中的特殊点 30 2.6.1 内核编程的主要调用源 30 2.6.2 函数的多线程安全性 30 2.6.3 代码的中断级 32 2.6.4 WDK中出现的特殊代码 32 第3章 字符串与链表 35 3.1 字符...

    寒江独钓:Windows内核安全编程 高清 电子版文

    读完这本书之后,读者一定可以更轻松的阅读其他专门的驱动程序开发的文档和相关书籍。而不至于看到大量无法理解的代码而中途放弃。如果有任何关于本书的内容的问题,读者可以随时发邮件到mfc_tan_wen@163.com或者...

    Win64DriverStudy_Src:WIN64驱动编程基础教程-源码作者:胡文亮

    |-配置驱动开发环境 1.驱动级HelloWorld |-配置驱动测试环境 |-编译和加载内核HelloWorld 2.内核编程基础 | -WIN64内核编程的基本规则 |-驱动程序与应用程序通信 |-内核里使用内存 |-内核里操作字符串 |-内核里...

    devcon:基于微软官方的devcon源码修改增加支持按Device Class控制设备-修改

    有关DevCon功能的完整说明和使用说明,请参阅驱动程序开发工具/测试驱动程序/ DevCon的工具中WDK文档随附的DevCon帮助文件。 DevCon以现成的形式提供在tools \ devcon中。 有关用法,请参阅devcon.exe随附的文档。...

    寒江独钓-Windows内核安全编程(高清完整版).part1

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part7

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part2

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part5

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part4

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part6

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    寒江独钓-Windows内核安全编程(高清完整版).part3

    Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的WDF驱动开发模型。...

    ZFSin:Windows端口上的OpenZFS

    设置用于编译ZFS的开发环境。 从Microsoft下载免费的开发Windows 10映像。 并创建两个虚拟机。 主机(运行Visual Studio和内核调试器) 目标(运行编译的内核模块) VM映像随Visual Studio 2017一起提供,我们使用它...

Global site tag (gtag.js) - Google Analytics