lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:2164回复:1

好久不来这里,冒个泡看看

楼主#
更多 发布于:2012-08-28 11:51
好久不来这里,本版貌似人气有待提升,老贴回顾一下
 
===================================================
printf和wprintf 的高级用法

此次连续2天更新WEB.弥补前次10天没有更新. 大家还是要多多捧场啊.
本文描述了NTDLL.DLL和NTOSKRNL.EXE里的printf() and wprintf()非标准支持.乃MS自己在SMSS.EXE里所用.这里描述了这些UNDOCUMENTED用法.
Hello!
At present I’m working on the printf() and wprintf() functions in ntoskrnl
and ntdll. I only want to notify you about some incompatibilities between
the current implementation and the implementation in WinNT.
M$ added some non-standard format types to the printf() and wprintf()
functions:     type prefixes:         I64 : 64 bit integer (long long, unsigned long long, __int64)         w : unicode charater (only used in “%wc”, “%ws” and “%wZ”)
types:         C : unicode character (in printf()) or single byte character (in wprintf())         S : unicode string (in printf()) or single byte string (in wprintf())         Z : PANSI_STRING (“%Z”) or PUNICODE_STRING (“%wZ”)
The format types ‘c’, ‘C’, ‘s’ and ‘S’ also allow the prefixes ‘h’ and ‘l’:
printf():         %c : single byte character         %hc : single byte character         %lc : unicode character         %wc : unicode character         %C : unicode character         %hC : single byte character         %lC : unicode character         %s : single byte string         %hs : single byte string         %ls : unicode string
%wc : unicode string         %S : unicode string         %hS : single byte string         %lS : unicode string
wprintf():         %c : unicode character         %hc : single byte character         %lc : unicode character         %wc : unicode character         %C : single byte character         %hC : single byte character         %lC : unicode character         %s : unicode string
%hs : single byte string         %ls : unicode string
%ws : unicode string         %S : single byte string         %hS : single byte string         %lS : unicode string
AFAIK, printf() and wprintf() functions in crtdll don’t support the ‘%Z’ and
‘%wZ’ formats.
Hint: Have a look at WinNT ntoskrnl.exe or smss.exe and search for ‘%Z’ or
‘%wZ’. It’s used there.
Bye, Eric Kohl

===================================================本文来源于http://www.lu0s1.com/?p=9
 
? 2012, Inside Programming by lu0. 版权所有. 转载文章内容时须在明显位置标识文章来源于Inside Programming by lu0
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2012-08-28 21:39
这个泡有点大,欢迎王者归来。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部