RtlAnsiStringToUnicodeString function
RtlAnsiStringToUnicodeString 转换给定的ANSI 源字符串为一个Unicode字符串。
Syntax
NTSTATUS RtlAnsiStringToUnicodeString(
_Inout_ PUNICODE_STRING DestinationString,
_In_ PCANSI_STRING SourceString,
_In_ BOOLEAN AllocateDestinationString
);
Parameters
DestinationString [in, out]
指向一个用于存放转换后的Unicode 字符串的 UNICODE_STRING 结构,如果AllocateDestinationString 是 TRUE, 例程申请一块新缓冲区存放字符串数据,更新DestinationString 的Buffer 成员为新申请的缓冲区。否则,例程使用DestinationString现有的Buffer 指定的缓冲区存放字符串。
SourceString [in]
指向需要被转换的ANSI 字符串。
AllocateDestinationString [in]
指定例程是否需要为目标字符串申请缓冲区空间,如果是调用者必须使用RtlFreeUnicodeString回收缓冲区内存。
Return value
若成功RtlAnsiStringToUnicodeString 返回 STATUS_SUCCESS。否则例程不会申请任何内存。
Remarks
字符串转换过程遵循当前系统的locale信息。
如果设置AllocateDestinationString 为 TRUE, 例程替换DestinationString 的 Buffer 成员为它申请的内存。原有的值即使在例程返回一个错误码是也有可能被覆盖。
Requirements
Target platform | |
Version | Available starting with Windows 2000. |
Header | Wdm.h (include Wdm.h, Ntddk.h, or Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
See also