博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2012+WDK7600.16385.1 驱动环境配置(模板导出)
阅读量:7214 次
发布时间:2019-06-29

本文共 2801 字,大约阅读时间需要 9 分钟。

时间:2015年11月13日 13:50:42作者:初夏屿森测试可用.编译完全通过! 环境:WIN7 X64 | Microsoft Visual Studio 2012 | WDK 7600.16385.1
第一步:新建一个空模版

 

第二步:新建配置管理器    名称为:Driver     并且删除原有的Debug 和 Release 配置模板 建立配置管理器 名称为:Driver 删除 Debug 和 Release 配置管理器,这样我们在导出模板的时候就只有一个驱动模板的配置,很方便,当然也可以不删除 移除他们!属性管理器中就剩下我们定义的管理器:Driver

 

第三步:新建文件.主要用于导出的时候是配置好的,新建的文件中可以不填写任何代码

 

到这里我们做了那些事?

1.通过VS2012 新建了一个空项目

2.在新建的项目中建立一个新的属性 名为:Driver

3.删除了原有的 Debug 和 Release 属性!

接下就是重点了,假设我们将 WDK7600.16385.1安装在C盘

 

配置Driver属性:

 

 

通用属性 ->  常规: 目标文件扩展名:.sys     //这样当然当然是为了生成sys驱动文件啦 通用属性 ->  VC++目录           - 可执行文件目录[添加]:C:\WinDDK\7600.16385.1\bin\x86                  -      包含目录[添加]:C:\WinDDK\7600.16385.1\inc\ddk                       C:\WinDDK\7600.16385.1\inc\crt                       C:\WinDDK\7600.16385.1\inc\api           -        库目录[添加]:C:\WinDDK\7600.16385.1\lib\win7\i386 你的WINDDK 安装在那个目录就添加那个路径即可!
============================================================================= 通用属性 ->  C/C++ ->  常规:     |调试信息格式:C7兼容(/Z7)                      |警告等级:等级2(/W2)                      |将警告视为错误:是(/WX) 通用属性 ->  C/C++ ->  优化:     | 优化:已禁用(/OD) 通用属性 ->  C/C++ ->  预处理器:  |预处理器定义:WIN32=100;_X86_=1;WINVER=0x501;DBG=1 通用属性 ->  C/C++ ->  代码生成:  |运行库:多线程调试 (/MTd)                    |安全检查:否 通用属性 ->  C/C++ ->  高级:     |调用约定:__stdcall (/Gz) 以上配置呢!并不一定就这样设置,可以根据自己的实际情况适当的修改,慢慢的去理解为什么要这样设置
============================================================================= 通用属性 ->  连接器 ->  常规:     |启动增量链接:否 (/INCREMENTAL:NO)                    |忽略导入库:是 通用属性 ->  连接器 ->  输入:     |附加依赖项:ntoskrnl.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib;ndis.lib;MSVCRT.LIB;LIBCMT.LIB                    |忽略所有默认库:是 (/NODEFAULTLIB) 通用属性 ->  连接器 ->  清单文件:  |生成清单:否 (/MANIFEST:NO)                    |启动用户账户控制(UAC):否 (/MANIFESTUAC:NO) 通用属性 ->  连接器 ->  调试:     |生成调试信息:是 (/DEBUG)                    |生成映像文件:是 (/MAP)                   |映射文件名:$(TargetDir)$(TargetName).map 通用属性 ->  连接器 ->  系统:     |子系统:控制台 (/SUBSYSTEM:CONSOLE)                    |堆栈保留大小:4194304                    |堆栈提交大小:4096                   |驱动程序:驱动程序 (/Driver) 通用属性 ->  连接器 ->  高级:     |入口点:DriverEntry                    |设置效验和:是 (/RELEASE)                    |基址:0x10000                    |随机基址: 空 (不要“是”,也不要“否”)                    |数据执行保护(DEP):空 (不要“是”,也不要“否”) ================================================================================== 到这里就大功告成了 ===============================================================复制到CPP文件测试一下吧
#include "ntddk.h"NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath) { return STATUS_UNSUCCESSFUL; } ============================================================================

 测试成功了?那么我们就来导出模板!要经常用

Microsoft Visual Studio 2012 - 文件 - 导出模板

 

记得是项目模板!其余一律下一步,适当灵活的更改一下

最后我们来测试一下,成功啦!

 

最后如果亲们发现什么地方存在BUF 可以留言!然后我会修改!

 

转载于:https://www.cnblogs.com/cxys/p/4961945.html

你可能感兴趣的文章
一行代码实现微光效果
查看>>
React Native学习之 ListView 的简单使用
查看>>
Java 8流操作
查看>>
Load和Initialize往死了问是一种怎样的体验?
查看>>
一致性 Hash 算法的实际应用
查看>>
一个文科妹子走上前端开发不归路(干货分享)
查看>>
中国行政区划信息JS库china-location
查看>>
Vert.x 发送邮件
查看>>
苹果文档 UISearchController的介绍
查看>>
iOS计步器实例
查看>>
vue国际化-vue-i18n的配置
查看>>
Java引用计数与实现
查看>>
Broadcast源码分析
查看>>
create-react-app 2.0中使用antd(eject)
查看>>
logstash常用插件介绍
查看>>
Git命令
查看>>
如何写出优质干净的代码,这6个技巧你不能错过!
查看>>
某口腔app发现了不友善词汇(f*ckMobile)
查看>>
SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的
查看>>
JavaScript的数据类型有哪些?
查看>>