RtlUnicodeStringToAnsiString 函数 (winternl.h)
将指定的 Unicode 源字符串转换为 ANSI 字符串。
语法
NTSTATUS RtlUnicodeStringToAnsiString(
[in, out] PANSI_STRING DestinationString,
[in] PCUNICODE_STRING SourceString,
[in] BOOLEAN AllocateDestinationString
);
参数
[in, out] DestinationString
指向 ANSI_STRING 结构的指针,用于保存转换后的 ANSI 字符串。 如果 AllocateDestinationString 为 TRUE,则例程将分配一个新缓冲区来保存字符串数据,并将 DestinationString 的 Buffer 成员更新为指向新缓冲区。 否则,例程使用当前指定的缓冲区来保存字符串。
[in] SourceString
包含要转换为 ANSI 的源字符串 的UNICODE_STRING 结构。
[in] AllocateDestinationString
控制 DestinationString 的缓冲区空间分配。
TRUE
为 DestinationString 分配缓冲区空间。 如果设置为 TRUE,则必须使用 RtlFreeAnsiString 解除分配缓冲区。
FALSE
未为 DestinationString 分配缓冲区空间。
返回值
NTSTATUS 中定义了各种 NTSTATUS 值。H,随 DDK 一起分发。
返回代码 | 说明 |
---|---|
|
Unicode 字符串已转换为 ANSI。 否则,未分配任何存储,也未完成转换。 |
注解
转换是针对当前系统区域设置信息完成的。
由于此函数没有导入库,因此必须使用 GetProcAddress。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winternl.h |
Library | ntdll.lib |
DLL | ntdll.dll;NtosKrnl.exe |