首页
社区
课程
招聘
[求助]请问内核中怎么用wcsprintf这样的函数啊
发表于: 2010-4-23 12:53 5940

[求助]请问内核中怎么用wcsprintf这样的函数啊

2010-4-23 12:53
5940
好像有类似功能的只有KdPrint,但是这个是往控制台打印,有没有格式化字符串用的函数

谢谢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 72
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
WCHAR buf[512] = { 0 };
    UNICODE_STRING dst;
    NTSTATUS status;
    ……

    // 字符串初始化为空串。缓冲区长度为512*sizeof(WCHAR)
    RtlInitEmptyString(dst,dst_buf,512*sizeof(WCHAR));
  
    // 调用RtlStringCbPrintfW来进行打印
    status = RtlStringCbPrintfW(
        dst->Buffer,L”file path = %wZ file size = %d \r\n”,
        &file_path,file_size);
    // 这里调用wcslen没问题,这是因为RtlStringCbPrintfW打印的
    // 字符串是以空结束的。
    dst->Length = wcslen(dst->Buffer) * sizeof(WCHAR);
2010-4-23 16:27
0
雪    币: 237
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢,swprintf也行,
2010-4-23 17:28
0
雪    币: 254
活跃值: (30)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
内核态调用swprintf应该是不稳定的。

MSDN有云:
RtlStringCbPrintfW and RtlStringCbPrintfA should be used instead of the following functions:

sprintf
swprintf
_snprintf
_snwprintf
2010-4-23 23:24
0
游客
登录 | 注册 方可回帖
返回
//