(31)驱动开发环境配置(VS2010+WDK7600)
本文介绍如何在WIN10配置XP驱动开发环境。
注意,VS2010和WDK都是安装在物理机的。
一、安装VS2010
https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2010-version-history
去官网下载VS2010安装即可,可以选择中文版的。
安装完成后效果如图:
二、安装WDK7600
还是去官网下载。
https://www.microsoft.com/en-us/download/details.aspx?id=11800
因为我已经安装过了,就不方便贴步骤截图,实际上过程很简单,把所有复选框都勾上,完全安装即可。建议安装到磁盘根目录,方便查找,我是安装到D盘了。安装后目录结构如图:
三、编写项目配置文件
VS2010本身不支持创建驱动项目,所以我们的做法一般是创建一个空项目,然后修改项目配置。这种做法容易出错,我们可以事先准备好一个配置文件,以后创建项目直接导入即可。
新建一个配置文件 DriverProperty.props
用记事本打开,将以下内容粘贴进去:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><ImportGroup Label="PropertySheets" /><PropertyGroup Label="UserMacros" /><PropertyGroup><ExecutablePath>D:\WinDDK\7600.16385.1\bin\x86;$(ExecutablePath)</ExecutablePath></PropertyGroup><PropertyGroup><IncludePath>D:\WinDDK\7600.16385.1\inc\api;D:\WinDDK\7600.16385.1\inc\ddk;D:\WinDDK\7600.16385.1\inc\crt;$(IncludePath)</IncludePath></PropertyGroup><PropertyGroup><LibraryPath>D:\WinDDK\7600.16385.1\lib\wxp\i386;$(LibraryPath)</LibraryPath><TargetExt>.sys</TargetExt><LinkIncremental>false</LinkIncremental><GenerateManifest>false</GenerateManifest></PropertyGroup><ItemDefinitionGroup><ClCompile><PreprocessorDefinitions>_X86_;DBG</PreprocessorDefinitions><CallingConvention>StdCall</CallingConvention><ExceptionHandling>false</ExceptionHandling><BasicRuntimeChecks>Default</BasicRuntimeChecks><BufferSecurityCheck>false</BufferSecurityCheck><CompileAs>Default</CompileAs><DebugInformationFormat>ProgramDatabase</DebugInformationFormat><AssemblerOutput>All</AssemblerOutput></ClCompile><Link><AdditionalDependencies>ntoskrnl.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;Hal.lib;MSVCRT.LIB;LIBCMT.LIB;%(AdditionalDependencies)</AdditionalDependencies></Link><Link><IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries><EnableUAC>false</EnableUAC><SubSystem>Native</SubSystem><EntryPointSymbol>DriverEntry</EntryPointSymbol><BaseAddress>0x10000</BaseAddress><RandomizedBaseAddress></RandomizedBaseAddress><DataExecutionPrevention></DataExecutionPrevention><GenerateDebugInformation>true</GenerateDebugInformation><Driver>Driver</Driver></Link></ItemDefinitionGroup><ItemGroup />
</Project>
配置文件使用绝对路径 D:\WinDDK\...
,如果你的WDK和我一样安装在D盘根目录,就不用修改这个路径了。
<LibraryPath>D:\WinDDK\7600.16385.1\lib\wxp\i386;$(LibraryPath)</LibraryPath>
是设置目标平台的,wxp表示windows XP系统。因为我们的学习平台就是XP,这里就不用改了。
配置文件的内容就是这些。
四、编写第一个驱动
准备工作都做好了,接下来创建一个空项目,新建一个C源文件,粘贴代码如下:
#include "ntddk.h"NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{return STATUS_UNSUCCESSFUL;
}
然后创建一个新的配置:
打开项目文件夹就能看到自动生成的配置文件了,用我们刚才编写的配置文件替换掉它,重启VS即可。
重启VS后就可以尝试编译项目了,编译成功后结果如下:
生成了一个sys驱动程序,这样我们的环境就配置好了。
(31)驱动开发环境配置(VS2010+WDK7600)相关推荐
- win10 + WDK10+ VS2015 + vmware_win10 驱动开发环境配置
自从WDK8.1后,开发window 驱动不用再用windbg + 虚拟机调试了,我们调试驱动也可以像调试EXE 一样方便,下面是win10(主机) + WDK10+ VS2015 + vmware_ ...
- Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置
开发Windows驱动,我选择的环境是Win8.1+VS2013+WDK8.1+VirtualBox.理由如下: ①开发机器和测试机器均安装Win8.1,其中开发机器安装的是64位Win8.1,测试机 ...
- VS2019 windows驱动开发环境配置
配置Windows驱动开发环境 VS2019 下载VS2019 下载链接 https://visualstudio.microsoft.com/zh-hans/downloads/ 选择你所需要的开发 ...
- Win10下VS2015(WDK10)驱动开发环境配置
1. 概述 微软在"WDK7600"以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VisualStudio,然后再从微软官网下载集成的WDK开发包. ...
- Linux驱动开发环境配置(内核源码树构造)
来源:季义钦BLOG 作者:季义钦 初次接触Linux驱动程序开发,买了一本<Linux设备驱动程序>,第一件事当然就是构建开发环境了!!! 它上面有一个Hello World的列子: / ...
- VS2013+WDK8.1 驱动开发环境配置
Windows Driver Kit 是一种完全集成的驱动程序开发系统,它包含Windows Driver Device Kit (DDK),用于测试 Windows 驱动器的可靠性和稳定性,本次实验 ...
- arm linux 内核配置,Linux + ARM驱动开发环境配置(内核配置与编译)
要想编写驱动,首先是建立内核目录树. ** 1.查看ARM开发板的内核版本 ** uname -a 我的arm开发板的版本是3.4.39 ** 2.安装必要的软件包 ** sudo apt-get i ...
- windows10 驱动开发环境搭建vs2019 helloworld
因为特殊原因需要搭建win10驱动环境, 因此学习了一下 但是发现win10环境特别麻烦 vs2022已经出来了,但是没看到驱动支持, 因此还是选择vs2019 提前准备 1 查看系统版本 2 下载v ...
- Windows Server 2012 +WDK7600.16385.1+VS2010驱动开发环境搭建
本帖通过Augusdi的一篇博文进行重新总结 第一步:安装Visual stdio 2010 1.安装VS2010 第二步:安装WDK安装包 2.安装WindowsDriverKit7-GRMWDK_ ...
最新文章
- 使用Netty如何做到单机秒级接收35万个对象
- CTC损失函数 Transformer用的
- php 获取当前url hash,http - 我可以在服务器端应用程序(PHP,Ruby,Python等)上读取URL的哈希部分吗?...
- return 和 exit
- redis存储数据类型_Redis与Memcahe的区别最全整理
- 2.2)深度学习笔记:优化算法
- python查看数据大小_科多大数据带你看Python可以列为最值得学习的编程语言
- 送分题,ArrayList 的扩容机制了解吗?
- org manual翻译--3.1 内置的表格编辑器
- 业界领先的最新版本Oracle数据库现可部署在云端 以及Oracle Cloud at Customer和企业本地...
- android textview设置大小,android – 如何缩放/调整文本大小以适应TextView?
- Android集成微信登录-无法收到微信登录回调结果
- CUDA11.0+cudnn8.0.5下载安装 2021-04-30
- docker端口映射后连不上的问题
- word 2010 脚注 尾注 尾注序号 连续尾注 尾注分隔符 删除
- 【转发】浅析淘宝网首页信息架构的变迁
- android 距离感应器控制屏幕熄灭_华为nova3e、小米6X、OPPOA7x对比,选IPS屏幕还是TFT屏幕,自选...
- 理解ES6中暂时性死区TDZ
- 通过CSS3实现:鼠标悬停图片360度旋转效果
- swagger文档增强工具knife4j使用详解
热门文章
- 成功解决 This graphics driver could not find compatible graphics hardware. You maycontinue installation,
- 成功解决AttributeError: ‘int‘ object has no attribute ‘encode‘
- 成功解决An error ocurred while starting the kernel
- DL之Yolov3:基于深度学习Yolov3算法实现视频目标检测之对《我要打篮球》视频段进行实时目标检测
- 成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects
- Py之logging:logging的简介、安装、使用方法之详细攻略
- TF之DD:利用Inception模型+GD算法生成带背景的大尺寸、高质量的Deep Dream图片
- CV:利用cv2+dlib库自带frontal_face_detector(人脸征检测器)实现人脸检测与人脸标记之《极限男人帮》和《NBA全明星球员》
- 日期时间类,按特定格式显示日期时间
- 一、Windows Server 2016 AD服务器搭建