RtlMultiByteToUnicodeSize 函数 (ntifs.h)

RtlMultiByteToUnicodeSize 例程确定存储指定源字符串的 Unicode 转换所需的字节数。 假定转换使用当前系统 ANSI 代码页 (ACP) 。 源字符串不一定来自多字节字符集。

语法

NTSYSAPI NTSTATUS RtlMultiByteToUnicodeSize(
  [out] PULONG     BytesInUnicodeString,
  [in]  const CHAR *MultiByteString,
  [in]  ULONG      BytesInMultiByteString
);

参数

[out] BytesInUnicodeString

指向调用方分配的变量的指针,该变量接收存储转换字符串所需的字节数。

[in] MultiByteString

指向要为其计算 Unicode 长度的源字符串的指针。

[in] BytesInMultiByteString

源字符串的长度(以字节为单位)。

返回值

RtlMultiByteToUnicodeSize 返回STATUS_SUCCESS。

注解

在使用 RtlMultiByteToUnicodeN 将多字节字符串转换为 Unicode 之前,可以调用 RtlMultiByteToUnicodeSize 来确定要为 MaxBytesInUnicodeString 分配多少内存或可能指定的值。 返回的值不包括 Unicode 字符串的 NULL 终止符的空间。

RtlMultiByteToUnicodeN 一样, RtlMultiByteToUnicodeSize 仅支持预编译 Unicode 字符,这些字符映射到系统启动时安装的当前系统 ANSI 代码页。

有关其他字符串处理例程的信息,请参阅 运行时库 (RTL) 例程

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize