VS2010 WDK 7.0配置驱动开发环境

 

1.安装VS2010,WDK7.10

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

3.新建项目配置”Check”

4.设置VC++路径

a.配置可执行路径 WDKPATH\bin\x86

b.配置包含目录 WDKPATH\inc\ddk;WDKPATH\inc\;WDKPATH\inc\api

c.配置库路径 WDKPATH\lib\wxp\i386

5.新建一个C/C++文件,否则没有C/C++设置选项

6.设置C/C++选项

常规选项卡

a.调试信息格式 C7兼容(/Z7) //可选

b.警告等级 2级(/W2) //可选

c.将警告视为错误 是(/wx) //可选

优化选项卡

a.优化 禁用(/Od) //可选

预处理器

a.预处理器定义 WIN32=100;_X86_=1;WINVER=0x501;DBG=1 //必选

代码生成

a.启用最小重新生成 否 //可选

b.基本运行时检查 默认值 //可选

c.运行时库 多线程调试(/MTd) 或 多线程(/MT) //建议选

d.缓冲区安全检查 否 //可选

(可避免出现LINK : error LNK2001:无法解析外部符号__security_cookie)

高级

a.调用约定 __stdcall(/Gz) //必选

7.链接器设置

常规

a.启用增量链接 否(/INCREMENTAL:NO) //建议选

b.忽略导入库 是 //可选

(设置为此值时,必须在附加库目录中加 D:\WINDDK\3790.1830\lib\wxp\i386 这样项目就不会依赖IDE环境的设置)

输入

a.附加依赖项

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字段会列出该项目需要的库)

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

清单文件

a.启用用户账户控制(UAC) 否 //必选

否则会出现 fatal error LNK1295

“/MANIFESTUAC”与“/DRIVER”规范不兼容;链接时不使用“/MANIFESTUAC”

调试

a.生成调试信息 是(/DEBUG) //可选

b.生成映像文件 是(/MAP) //可选

c.映像文件名 $(TargetDir)$(TargetName).map //可选

系统(System)

a.子系统 控制台(/SUBSYSTEM:CONSOLE) //必选

b.堆栈保留大小 4194304 //可选

c.堆栈提交大小 4096 //可选

d.驱动程序 驱动程序(/DRIVER) //必选

高级

a.入口点 DriverEntry //必选

b.随机基址 清空 //必选

否则会出现fatal error LNK1295

“/DYNAMICBASE”与“/DRIVER”规范不兼容;链接时不使用“/DYNAMICBASE”

c.数据执行保护(DEP) 清空 //必选

否则会出现fatal error LNK1295

“/NXCOMPAT:NO”与“/DRIVER”规范不兼容;链接时不使用“/NXCOMPAT:NO”

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

e.基址 0x10000 //建议选

f.命令行 /SECTION:INIT,D /IGNORE:4078 //可选

8.常规

a.目标文件扩展名 .sys //必选

 

 

完成 

 

测试代码

 

#include <ntddk.h>

NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath)
{
 return STATUS_UNSUCCESSFUL;
}

可用

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值