NTSTATUS
RtlUpcaseUnicodeString(
IN OUT PUNICODE_STRING DestinationString OPTIONAL,
IN PCUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
);
在RtlUpcaseUnicodeString日常转换的源字符串复制到大写和写入的目标缓冲区转换成字符串。
DestinationString 指针调用者分配转换为Unicode字符串缓冲区。
SourceString 指向源Unicode字符串转换为大写。
AllocateDestinationString 指定是否RtlUpcaseUnicodeString是分配为DestinationString缓冲空间。
如果是这样,缓冲区,必须通过调用RtlFreeUnicodeString释放。
返回值
如果操作成功,RtlUpcaseUnicodeString返回了STATUS_SUCCESS。
否则,任何储存的分配,并没有转换已完成。
驱动程序中使用的字符操作函数,这里给出ANSI和UNICODE的对比
|
操作 |
ANSI串函数 |
Unicode串函数 |
|
Length |
Strlen |
wcslen |
|
Concatenate |
Strcat strncat |
Wcscat wcsncat RtlAppendUnicodeStringToString RtlAppendUnicodeToString |
|
Copy |
Strcpy strncpy RtlCopyString |
Wcscpy wcsncpy TrlCopyUnicodeString |
|
Reverse |
_strrev |
_wcsrev |
|
Compare |
Strcmp Strncmp _stricmp _strnicmp RtlCompareString RtlEqualString |
Wcscmp Wcsncmp _wcsicmp _wcsnicmp RtlCompareUnicodeString RtlEqualUnicodeString RtlPrefixUnicodeString |
|
Initialize |
_strset _strnset RtlInitAnsiString RtlInitString |
_wcsnset RtlInitUnicodeString |
|
Search |
Strchr strrchr strspn strstr |
Wcschr wcsrchr wcsspn wcsstr |
|
Upper/Lowercase |
_strlwr _strupr RtlUpperString, |
_wcslwr _wcsupr RtlUpcaseUnicodeString |
|
Character |
isdigit islower isprint isspace isupper isxdigit tolower toupper RtlUpperChar |
Towolower towupper RtlUpcaseUnicodeString |
|
Format |
Sprintf vsprintf _snprintf _vsnprintf |
Swprintf _snwprintf |
|
String Conversion |
Atoi Atoll _itoa |
_itow RtlIntegerToUnicodeString RtlUnicodeStringToInteger |
|
Type conversion |
RtlAnsiStringToUnicodeString RtlAnsiStringToUnicodeString |
RtlUnicodeStringToAnsiString |
|
Memory Release |
RtlFreeAnsiString |
RtlFreeUnicodeString |
转:http://hi.baidu.com/%B3%FE%D0%F9%B1%F9%C0%B6/blog/item/eca0a076e0ba2213b051b984.html
本文详细介绍了Windows环境下Unicode字符串的各种操作函数,包括长度计算、拼接、复制、反转、比较等,并对比了ANSI与Unicode版本的区别。
738

被折叠的 条评论
为什么被折叠?



