1、应用程序工作在R3层,驱动工作在R0层。
2、32位系统,R3层2G,R0层2G。
3、驱动区分大小写。
4、返回码:NTSTATUS
5、KdPrint
KdPrint使用方法类似printf,注意KdPrint((" ", ));使用的是双括号。
用KdPrint(())来代替printf 输出信息。这些信息可以在DbgView 中看到。KdPrint(())自身是一个宏,
为了完整传入参数所以使用了两重括弧。这个比DbgPrint 调用要稍好。因为在free 版不被编译。
DebugPrint格式说明符
[cpp] view plain copy
- 格式说明符 类型
- %c ANSI字符 char
- %C 宽字符 wchar_t
- %d,%i 十进制有符号整数 int
- %D 十进制__int64 __int64
- %I IRP主功能代码和次功能代码 PIRP
- %l 十六进制的__int64 __int64
- %L 十六进制的LARGE_INTEGER LARGE_INTEGER
- %s NULL终止的ANSI字符串 char *
- %S NULL终止的宽字符串 wchar_t *
- %T UNICODE_STRING PUNICODE_STRING
- %u 十进制的ULONG ULONG
- %x 十六进制的ULONG ULONG