存档

文章标签 ‘DDK’

DDK下的Sleep函数KeDelayExecutionThread

2011年2月19日 没有评论

非原创文章,本文摘自楚狂人《Windows驱动编程基础教程》
6.2 在线程中睡眠
许多读者一定使用过Sleep函数。这能使程序停下一段时间。许多需要连续、长期执行,但是又不希望占太多CPU使用率的任务,可以在中间加入睡眠。这样能使CPU使用率大大降低。即使睡眠的时间非常短(几十个毫秒)。
在驱动中也可以睡眠。使用到的内核函数的原型如下:

NTSTATUS
KeDelayExecutionThread(
IN KPROCESSOR_MODE WaitMode,
[......]

继续阅读

分类: Windows驱动开发 标签: , ,

DbgPrint/KdPrint输出格式控制

2011年1月1日 2 条评论

在驱动编程学习中,往往需要通过DbgPrint或者KdPrint来输出调试信息,对于Check版本,KdPrint只是DbgPrint的一个宏定义,而对于Free版本,KdPrint将被优化掉。这些输出信息可以通过DebugView对内核的监控来看到。
KdPrint is identical to the DbgPrint routine in code that is compiled in a checked build environment. This routine has no[......]

继续阅读

分类: Windows驱动开发 标签: , ,

让VS支持DDK/WDK代码高亮与提示

2010年12月24日 12 条评论

习惯了VS写代码的同学们肯定对Visual Assist X不会陌生。暂且让我们讲其称之为VAX插件吧。那么,默认情况下,VAX是不支持DDK/WDK代码高亮和职能提示的。不提示也就罢了,还会在函数和关键字下面画波浪线,给人的视觉效果很不好。其实,可以很简单的实现VAX支持DDK/WDK高亮。
首先,打开VS,选择VAX的Options,然后选择Projects下面的C/C++ Directories,在Platform下面选择Custom,然后点击新建文件夹的图标添加DDK的路径,把INC下面[......]

继续阅读

HelloDDK终于出来了

2010年10月16日 没有评论

照着《Windows驱动开发详解》,把HelloDDK的源代码敲下来,完全不懂。然后编译,中间因为路径有空格而产生错误,用VC也搞了很久,最终放弃用VC编译。然后是安装,DriverMoniter在看雪下载了一个,但是不能正常加载,总是提示出错。于是下载完整版的DriverStudio,安装后需重启,再次加载,这次终于看到结果了。
这是一个非常曲折的过程,花了好几个小时。结果当然只是加载了而已,还没有学到什么。因为很多代码看不懂。慢慢看吧。看DDK是一个漫长的过程,我也不会集中时间去看,只是每周[......]

继续阅读

分类: Windows驱动开发 标签: , ,

‘jvc’不是内部或外部命令,也不是可运行的程序或批处理文件

2010年10月16日 没有评论

第一次编译DDK,使用的是Windows XP DDK下的Win XP Checked Build Environment编译环境,因为VC编译是在太复杂了,第一次出错了,就没搞了。
先打开Win XP Checked Build Environment,然后切换到源文件所在目录,执行build,编译之后没有看到所说的sys文件,于是看了一下buildchk.log这个日志文件。发现出现了下面所示的错误:
'jvc' 不是内部或外部命令,也不是可运行的程序或批处理文件。
于是去网[......]

继续阅读

分类: Windows驱动开发 标签: , ,

Ylmf XP 8.0 VMWare下安装序列号

2010年10月16日 2 条评论

今天开始看DDK,每周看一点,不会看太多。那就装虚拟机吧,然后是在VMWare下面安装雨林木风的Ylmf XP安装版8.0,却提示需要序列号,找了好久都找不到。最终还是让我给找到了KG7G9-67KHV-4FQKV-4DYXK-BHQTJ。可以通过序列号验证。

分类: Windows驱动开发 标签: , , ,