Windows驱动
ZhengZhiRen
学生一个
展开
-
DbgPrint打印信息在Win7下显示
In Microsoft Windows Server 2003 and earlier versions of Windows, the DbgPrint and KdPrint routines send messages to the kernel debugger unconditionally. In Windows Vista and later versions of Windows, these routines send messages conditionally, like原创 2010-07-25 21:34:00 · 3553 阅读 · 2 评论 -
Windows内核函数的命名
Windows的内核函数在命名上有个很好的特色,就是函数名都按其所在的层次或模块加上了特定的前缀。了解了这些前缀,看到一个函数名就可以大致知道这个函数所属的层次和模块,主要的前缀有:Ex:管理层,Ex是Executive的开头两个字母。Ke:核心层,Ke是Kernel的开头两个字母。Hal:硬件抽象层,Hal是Hardware Abstraction Layer的缩写。Ob:对象管理,Ob是Object的开头两个字母。Mm:内存管理,Mm是Memory Manager的缩写。Ps:进程(线程)管理,Ps表示转载 2010-07-27 21:27:00 · 1639 阅读 · 0 评论 -
为什么要用NT_SUCCESS()宏测试返回的NTSTATUS值
在Windows驱动程序的编写中,当我们调用一个返回NTSTATUS值的函数时(比如IoCreateDevice),应当检查返回值是否成功。有人经常这样写ntStatus = function(...);if(STATUS_SUCCESS == ntStatus) ...但是,这并不总是合理的。在ddk头文件”ntdef.h“中,NTSTATUS是这样定义的:typedef __success(return >= 0) LONG NTSTATUS;//// Status values原创 2010-08-01 22:03:00 · 14031 阅读 · 8 评论