RtlUnicodeToMultiByteSize 函数 (ntifs.h)
RtlUnicodeToMultiByteSize 例程确定存储指定 Unicode 字符串的多字节转换所需的字节数。 假定转换使用当前系统 ANSI 代码页 (ACP) 。
语法
NTSYSAPI NTSTATUS RtlUnicodeToMultiByteSize(
[out] PULONG BytesInMultiByteString,
[in] PCWCH UnicodeString,
[in] ULONG BytesInUnicodeString
);
参数
[out] BytesInMultiByteString
指向调用方分配的变量的指针,该变量接收存储转换字符串所需的字节数。
[in] UnicodeString
指向要为其计算多字节长度的 Unicode 字符串的指针。
[in] BytesInUnicodeString
源字符串的长度(以字节为单位)。
返回值
RtlUnicodeToMultiByteSize 返回STATUS_SUCCESS。
注解
在使用 RtlUnicodeToMultiByteN 或 RtlUpcaseUnicodeToMultiByteN 将 Unicode 字符串转换为 ANSI 之前,可以调用 RtlUnicodeToMultiByteSize 来确定要分配的内存量,或者可能为 MaxBytesInMultiByteString 指定的值。 返回的值不包括 ANSI 字符串的 NULL 终止符的空间。
与 RtlUnicodeToMultiByteN 一样, RtlUnicodeToMultiByteSize 仅支持映射到系统启动时安装的当前系统 ANSI 代码页的预编译 Unicode 字符。
有关其他字符串处理例程的信息,请参阅 运行时库 (RTL) 例程。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntifs.h (包括 Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |