vs2012+win8内核编译环境
来源:互联网 发布:base64解码软件 编辑:程序博客网 时间:2024/06/05 04:42
好,旧社会的苦故事已经剧终了。现在开始讲翻身得解放的故事。新时代忽然就来了,VS2012给了我们新生活(此处当响起为英雄而欢呼般的掌声)!VS2012是Win8发布后出来的,有很多针对Win8的特性,但也能在Win7/Vista系统上运行。请您先下载安装VS2012软件,再安装Win8的WDK,WDK的编译环境会自动集成到VS2012中去。当您再次打开VS2012的时候,在新项目向导里面,就能够找到内核驱动项目了。
您会忍不住立刻新建一个WDF驱动项目,打开它,发现竟然有几百行自动生成的代码已经微笑着列队欢迎您了,是不是很开心?玩味个不停后,猛然按下F7,靠!竟然开始编译了,并且还能够编译成功,生成了一个.sys文件!而且不单生成一个.sys文件,并且把一个完整的驱动安装包都给您准备妥当了呢(包含签过名的.sys/.cat/.inf文件)。爽吧!
总有一天,新进的程序员见此会觉得天经地义,理所当然的事情。而此刻,我们这些个老家伙们,却已在幸福中垂泪不止了。可怜见地,后来的人们啊,请爱惜来之不易的好生活吧。
得了,我们细细地来看一下VS2012的驱动工程吧。下图是新建VS2012工程的时候模板选择界面。这里可以看到Windows Driver目录树下面目前提供的几个模板组别。我们现在只把注意力集中在WDF这个组别上面。点击WDF后,它里面包含三个模板项,分别是有自动生成代码的KMDF和没有自动代码的KMDF,以及UMDF。选择第一个模板后,填写项目名称后点击确认。没有其它的设置需要完成了,直接产生项目文件,并跳入到生成的项目界面中。假设您填写的项目名称也是MyKMDF1。
解决方案包括两个项目工程,一个是驱动项目,另一个是驱动安装包项目。前者包含实际的驱动代码,生成驱动文件。后者为驱动文件打包,它根据.inf文件生成.cat文件,并用指定的数字证书对驱动文件进行签名。
现在请移动尊手指,在键盘上敲击F7键,启动编译过程,观察能否成功生成MyKMDF1.sys文件及相应的驱动包?这是一个重要的里程碑,请勿掉队,如果你在这里不幸碰到了错误,需想办法解决之。
1>—— 已启动生成: 项目: MyKMDF1, 配置: Vista Debug Win32 ——
1> Stamping VistaDebug\MyKMDF1.inf [Version] section with DriverVer=05/14/2013,17.17.5.125
1> Device.c
1> Driver.c
1> Queue.c
1> 正在生成代码…
1> MyKMDF1.vcxproj -> C:\Users\mozhang\Documents\Visual Studio 2012\Projects\MyKMDF1\VistaDebug\MyKMDF1.sys
1> Done Adding Additional Store
1> Successfully signed: C:\Users\mozhang\Documents\Visual Studio 2012\Projects\MyKMDF1\VistaDebug\MyKMDF1.sys
1>
2>—— 已启动生成: 项目: MyKMDF1 Package, 配置: Vista Debug Win32 ——
2> ………………….
2> Signability test complete.
2>
2> Errors:
2> None
2>
2> Warnings:
2> None
2>
2> Catalog generation complete.
2> C:\Users\mozhang\Documents\Visual Studio 2012\Projects\MyKMDF1\VistaDebug\MyKMDF1 Package\mykmdf1.cat
2> Done Adding Additional Store
2> Successfully signed: C:\Users\mozhang\Documents\Visual Studio 2012\Projects\MyKMDF1\VistaDebug\MyKMDF1 Package\mykmdf1.cat
2>
========== 生成: 成功 2 个,失败 0 个,最新 0 个,跳过 0 个 ==========
驱动包项目
我们来学习一下这个总是自动生成的驱动包项目,它能为我们做些什么?我们通过观察,总结它做了四件事情:
- 为.sys文件进行数字签名
- 根据.inf文件生成.cat文件
- 给签名文件打时间戳
- 生成驱动包
注1:WDK安装目录不能含有空格和中文字符,如安装在c:\documents and users目录下即错,或安装在c:\我的驱动目录下亦错。错误并非发生在安装过程中,而是发生在使用WDK编译的时候。
注2:内核编译器编译的DLL文件不符合向后兼容特性
注3:Win8以后的系统不再支持IA64平台,所以Win8也只支持三种硬件平台。
- vs2012+win8内核编译环境
- gloox win8.1 vs2012 编译失败
- vs2012+boost1.59+win8.1编译
- vs2012+win8.1+cloudcompare源码编译
- WIN8 + VS2012 + C# + EMGUCV 环境搭建
- win8 vs2012 for wp 环境搭建
- Win8+VS2012 配置OpenGL SuperBible5 环境
- OSG+VS2012+win8/7环境搭建
- win8.1+vs2012环境下装boost1.55
- Win8+VS2012 配置OpenGL SuperBible5 环境
- Win8.1+vs2012+osg环境搭建
- OpenGL+VS2012编译环境配置
- VS2012 + WDK8.0 + Win8调试内核驱动程序(一)
- VS2012 + WDK8.0 + Win8调试内核驱动程序(一) .
- VS2012 + WDK8.0 + Win8调试内核驱动程序(一)
- Win8+VS2012(32位)下编译x265
- Win8+VS2012(32位)下编译x265
- Win8+VS2012(32位)下编译x265
- spring boot下定时任务quartz的集群使用
- 模块API之register_module_notifier
- 中国软件网想举办【企服三会】结果玩大了...
- 天天都在数据驱动,你以为数据是天上掉下来的?
- 动力电池回收法规出炉丨IBM量子计算新突破丨iphone X冬天不能用?苹果:恩!
- vs2012+win8内核编译环境
- Linux之iptables详解
- Jenkins的关闭、重启
- xml-基础知识
- 圆的面积
- JMS的知识
- 再次提升创新概念,海航集团怎么样
- Java-C3P0连接池使用方法
- 用记事本编写网页时中文乱码问题