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