使用DbgPrint打印字符串和其他
2008-12-19 17:03
399 查看
使用DbgPrint
打印字符串和其他
2009-9-22编辑
1)
直接打印字符串。
DbgPrint(“Hello World!”);
2)
空结尾的字符串,你可以用普通得C
语法表示字符串常量
char variable_string[] = “Hello World”;
DbgPrint(“%s”,variable_string);
3)
空结尾的宽字符串(WCHAR
类型
)
WCHAR string_w[] = L“Hello World!”;
DbgPrint(“%ws”,string_w);
或者
DbgPrint(“%S”,string_w);
4)Unicode
串,由UNICODE_STRING
结构描述,
包含16
位字符。
typedef struct _UNICODE_STRING{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
}UNICODE_STRING , *PUNICODE_STRING;
UNICODE_STRING string_unicode;
RtlInitUnicodeString(&string_unicode, L”Hello World!”);
DbgPrint(“%wZ/n”,&string_unicode);
5) ANSI
串,由ANSI_STRING
结构描述,包含8
位字符。
typedef struct _STRING{
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
}STRING, *PANSI_STRING;
STRING bar;
或者:
ANSI_STRING bar;
RtlInitAnsiString(&bar,”Hello World!”);
DbgPrint(“%Z/n”,&bar);
DebugPrint
格式说明符
根据DDK
上说明,Unicode
格式(%C, %S, %lc, %ls, %wc, %ws, and %wZ)
只能在 IRQL = PASSIVE_LEVEL
时才能使用.
参考文献:
1.
内核打印字符串
2.
DDK
打印字符串和其他
2009-9-22编辑
1)
直接打印字符串。
DbgPrint(“Hello World!”);
2)
空结尾的字符串,你可以用普通得C
语法表示字符串常量
char variable_string[] = “Hello World”;
DbgPrint(“%s”,variable_string);
3)
空结尾的宽字符串(WCHAR
类型
)
WCHAR string_w[] = L“Hello World!”;
DbgPrint(“%ws”,string_w);
或者
DbgPrint(“%S”,string_w);
4)Unicode
串,由UNICODE_STRING
结构描述,
包含16
位字符。
typedef struct _UNICODE_STRING{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
}UNICODE_STRING , *PUNICODE_STRING;
UNICODE_STRING string_unicode;
RtlInitUnicodeString(&string_unicode, L”Hello World!”);
DbgPrint(“%wZ/n”,&string_unicode);
5) ANSI
串,由ANSI_STRING
结构描述,包含8
位字符。
typedef struct _STRING{
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
}STRING, *PANSI_STRING;
STRING bar;
或者:
ANSI_STRING bar;
RtlInitAnsiString(&bar,”Hello World!”);
DbgPrint(“%Z/n”,&bar);
DebugPrint
格式说明符
根据DDK
上说明,Unicode
格式(%C, %S, %lc, %ls, %wc, %ws, and %wZ)
只能在 IRQL = PASSIVE_LEVEL
时才能使用.
参考文献:
1.
内核打印字符串
2.
DDK
相关文章推荐
- 【转】内核打印字符串 DbgPrint
- 开发驱动时用到的内核打印函数KdPrint 的使用方法
- 使用window.print实现网页打印
- 1.使用try catch 捕获除0异常,并打印信息“不能除0”. * 2.将字符串“12.5” 转换为float类型 * 3.将int类型的127转换成 byte和short类型
- 黑马程序员——使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。 服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
- jquery插件printArea打印、corner圆角使用
- 使用RSClientPrint直接打印本地RDLC报表
- 有一个字符串,其中包含中文字符、英文字符和数字、空格及其他字符,请统计和打印出各个字符的个数。
- Jquery 打印插件——jQuery.print.js使用
- 自我理解字符串变量和其他变量使用的不同
- sys文件--查看DbgPrint函数打印的信息
- spring 中使用 logback打印日志,替换其他日志如log4j,commons-logging
- 【转】C#使用PrintDocument打印 多页 打印预览
- 在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
- 使用Visual Studio生成安装程序并设定连接字符串及其他自定义操作.
- 使用循环的方式打印字符串所有排列组合
- 使用jQuery.print.js打印
- 国际化中,资源字符串中使用translatable声明不用翻译成其他语种
- C#使用PrintDocument打印 多页 打印预览
- win10驱动 使用 DbgPrint 在 DbgView 不显示调试信息 解决