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。

言论

可以调用 RtlUnicodeToMultiByteSize 来确定要分配多少内存, 或者为 MaxBytesInMultiByteString指定的值,然后再将 Unicode 字符串转换为 ANSI,RtlUnicodeToMultiByteNRtlUpcaseUnicodeToMultiByteN。 返回的值不包括 ANSI 字符串的 NULL 终止符的空间。

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

有关其他字符串处理例程的信息,请参阅 Run-Time Library (RTL) 例程

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

RtlMultiByteToUnicodeSize

RtlUnicodeToMultiByteN

RtlUpcaseUnicodeToMultiByteN