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

另请参阅

RtlMultiByteToUnicodeSize

RtlUnicodeToMultiByteN

RtlUpcaseUnicodeToMultiByteN