VS2012开发驱动小Tip之:更改KMDF版本以支持XP系统

我的印象中,我最早使用的KMDF版本是1.5,那是Vista出来的时候,时间大概2006年左右。KMDF的版本变更并不是很快,总是伴随着WDK的发布而更新的,而WDK版本的更新,一般又是和OS同步的。KMDF的主版本还是1,但次版本号总是以2递增:1.5(Vista)、1.7(Vista SP1)、1.9(Win7)、1.11(Win8)、1.13(Win8.1)

早期的KMDF版本保持了良好的向后兼容性,比如用最晚KMDF 1.9编译出来的驱动程序,可安装使用于XP系统*。但从下图(MSDN)可以看出,从KMDF 1.11开始,情况变化了。KMDF 1.11取消了对Vista以前系统的支持。而KMDF 1.13更绝,编译出来的驱动只能安装在Win8.1上。 继续阅读“VS2012开发驱动小Tip之:更改KMDF版本以支持XP系统”

13,948 total views, no views today

VS2012趣事:时区和时间戳

引用注明>> 【作者:张佩】【原文:www.yiiyee.cn/blog

前几天某个早晨,大概5点钟我就醒在床上,怎么也睡不着。想到手头还有一个驱动需要debug,就立刻发现了人生目标一样地爬了起来。匆匆洗漱完毕后,打开电脑,打开VS2012驱动项目。先把代码逻辑仔细的看过一遍,有了一点小发现,改了几行代码。按下F7开始编译。

编译结束后,很惊讶地发现“输出”试图中报了一个错误,是driver package工程报错。这里要说一下相关的背景,通过VS2012的工程向导创建的驱动项目(solution)总是包含两个工程(project):一个是驱动工程,所有的源代码都在此,编译后生成驱动文件(一般是.sys文件);一个是driver package工程,无源码,它的编译过程乃针对inf文件和sys文件进行处理,产生一个可安装的驱动包(driver package)。

头一次遇到package工程失败的情况,会是什么原因呢? 继续阅读“VS2012趣事:时区和时间戳”

534,010 total views, 16 views today

如何在Visual Studio项目中正确添加汇编代码

引用注明>> 【作者:张佩】【原文:www.yiiyee.cn/blog

1.      问题描述

在以往的编程经历中,本人最常使用的汇编代码是__asm {int 3}。它可以在我的代码中插入一个软件断点。如果没有一个连接到当前程序的调试器,则程序将停止在这行语句处无法继续执行。

上面的这种方式称为高级语言和汇编语言混编。当我用得正爽的时候,迎头碰到了64位平台这员猛将。它大手一张,挑出一张禁令通知单:在64位编程中,高级语言和汇编混编将再也不被支持!兄弟我不禁暗暗垂泪,因为当我固执而行的时候,若干恶心的编译错误赫然出现在我的面前: 继续阅读“如何在Visual Studio项目中正确添加汇编代码”

16,739 total views, 2 views today