DbgPrint输出格式 Unicodestring 

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 = L”Hello World!”;

DbgPrint(“%wZ\n”,string_unicode.Buffer);   

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(“%wz\n”,bar.Buffer);

 

DebugPrint格式说明符

符号            格式说明符                      类型

%c, %lc         ANSI字符                        char

%C, %wc         宽字符                          wchar_t

%d, %i          十进制有符号整数                 int

%D              十进制_int64                    _int64

%L              十六进制的LARGE_INTEGER         LARGE_INTEGER

%s, %ls         NULL终止的ANSI字符串            char*

%S, %ws         NULL终止的宽字符串              wchar_t*

%Z              ANSI_STRING字符串

%wZ             UNICODE_STRING字符串

%u              十进制的ULONG                   ULONG

%x              小写字符十六进制的ULONG          ULONG

%X              大写字符十六进制的ULONG          ULONG

%p              指针Pointer 32/64位

 

根据DDK上说明,Unicode格式(%C, %S, %lc, %ls, %wc, %ws, and %wZ)只能在 IRQL = PASSIVE_LEVEL时才能使用.

DbgPrint输出格式 Unicodestring的更多相关文章

  1. DbgPrint/KdPrint输出格式控制

    在驱动编程学习中,往往需要通过DbgPrint或者KdPrint来输出调试信息,对于Check版本,KdPrint只是DbgPrint的一个宏定义,而对于Free版本,KdPrint将被优化掉.这些输 ...

  2. UnicodeString基本操作(Ring0)

    #include "Unicode_String_Ring0.h" //bp Unicode_String_Ring0!DriverEntry NTSTATUS DriverEnt ...

  3. iOS中NSLog输出格式大全

    iOS开发中的输出格式大全: %@                   对象 %d, %i               整数%u                    无符整形%f           ...

  4. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  5. print输出格式总结

    妈的,今天又被printf坑了一回...看来需要一次性总结书所有结果,省的又出现这样那样的麻烦.. #include<stdio.h> #include<string.h> # ...

  6. C(C++)输入输出格式

    c&c++输入输出控制格式 许多情况下,都需要控制输出结果的表现形式.如输出宽度.输出精度.输出格式等.C++的iomanip.h中定义了许多控制符,这些控制符可以直接插入到流中,控制数据的输 ...

  7. <fmt:formatDate>标签的输出格式:

    <fmt:formatDate>标签的输出格式:  d   月中的某一天.一位数的日期没有前导零.      dd   月中的某一天.一位数的日期有一个前导零.      ddd   周中 ...

  8. C语言printf()输出格式大全

    1.转换说明符       %a(%A)     浮点数.十六进制数字和p-(P-)记数法(C99)       %c             字符       %d             有符号十 ...

  9. Printf()输出格式控制(转)

    int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [F|N|h|l]typ ...

随机推荐

  1. 【tarjan】BZOJ 1051:受欢迎的牛

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3134  Solved: 1642[Submit][Sta ...

  2. window.open被IE拦截的解决办法

    由于在使用window.open时,在很多情况下,弹出的窗口会被浏览器阻止,但若是使用a链接target='_blank',则不会,基于这一特点,自己封装了一个open方法: function ope ...

  3. xargs 加 gm批量转换图片

    %x50% @ ../-\ 南澳西涌_50%/@ 看了很多说明上都在用-i,这是一个已经废弃了的参数

  4. POJ 1270 Following Orders (拓扑排序,dfs枚举)

    题意:每组数据给出两行,第一行给出变量,第二行给出约束关系,每个约束包含两个变量x,y,表示x<y.    要求:当x<y时,x排在y前面.让你输出所有满足该约束的有序集. 思路:用拓扑排 ...

  5. POJ 1363 Rails(栈)

    思路:将出车站的顺序存入数组train,由于入车站的顺序是固定的,为1~N,所以用P表示进站的车,初始为1. 接下来举例说明吧: 原来入站顺序:    1 2 3 4 5 读入的出战顺序: 3 4 2 ...

  6. 李洪强iOS学习交流群-iOS大神群

    iOS学习大神群-群号:483959373

  7. MyBatis Mapper 文件例子

    转载:http://blog.csdn.net/ppby2002/article/details/20611737 <?xml version="1.0" encoding= ...

  8. Hadoop基础教程之搭建开发环境及编写Hello World

    整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclipse方便. 1.下载 进入官网:http://eclipse.org/do ...

  9. 利用BBRSACryptor实现iOS端的RSA加解密

    背景 RSA这种非对称加密被广泛的运用于网络数据的传输,但其在iOS上很难直接实现,BBRSACryptor框架通过移植openssl实现了iOS端的RSA,本文将介绍如何使用BBRSACryptor ...

  10. 2014--9=17 软工二班 MyEclipse blue==2

    关于Java中的getInetAddress方法 联网的话是一个分配的地址,不联网的话是本地localhost package cn.rwkj.test; import java.io.IOExcep ...