Windows内核函数 - 字符串转化成大写

        DDK提供了对ANSI_STRING字符串和UNICODE_STRING字符串的相关字符串大小写转化的函数。

1. ANSI_STRING字符串转化成大写。

VOID RtlUpperString{
    IN OUT PSTRING DestinationString,
    IN PSTRING SourceString
};
// DestinationString: 目的字符串。
// SourceString: 源字符串


2. UNICODE_STRING字符串转换成大写

NTSTATUS RtlUpCaseUnicodeString {
    IN OUT PUNICODE_STRING DestinationString OPTIONAL,
    IN PUNICODE_STRING SourceString,
    IN BOOLEAN AllocateDestinationString
};
// DestinationString: 目的字符串
// SourceString: 源字符串
// AllocateDestinationString: 是否为目的字符串分配内存
// 返回值:返回转换是否成功

        RtlUpCaseUnicodeString 函数比 RtlUpperString 函数多一个参数 AllocateDestinationString。 这个参数指定是否为目的字符串申请内存。目的字符串和源字符串可以是同一个字符串。

        DDK虽然提供了转化成大写的函数,但却没有提供转化成小写的函数。下面的代码演示了如何使用RtlUpcaseUnicodeString函数。

// 初始化 UnicodeStr1
UNICODE_STRING UnicodeStr1;
RtlInitUnicodeString(&UnicodeStr1, L"Hello World");

// 变化前
KdPrint(("UnicodeStr1: %wZ\n", &UnicodeStr1));

// 转化成大小写
RtlUpcaseUnicodeString(&UnicodeStr1, &UnicodeStr1, FALSE);

// 变化后
KdPrint(("UnicodeStr1: %wZ\n", &UnicodeStr1));

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WendyWJGu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值