Функция RtlUnicodeToMultiByteSize (ntifs.h)

Подпрограмма RtlUnicodeToMultiByteSize определяет количество байтов, необходимых для хранения многобайтового перевода для указанной строки Юникода. Предполагается, что перевод использует текущую кодовую страницу ANSI (ACP).

Синтаксис

NTSYSAPI NTSTATUS RtlUnicodeToMultiByteSize(
  [out] PULONG BytesInMultiByteString,
  [in]  PCWCH  UnicodeString,
  [in]  ULONG  BytesInUnicodeString
);

Параметры

[out] BytesInMultiByteString

Указатель на выделенную вызывающим переменную, которая получает количество байтов, необходимых для хранения переведенной строки.

[in] UnicodeString

Указатель на строку Юникода, для которой вычисляется многобайтовая длина.

[in] BytesInUnicodeString

Длина в байтах исходной строки.

Возвращаемое значение

RtlUnicodeToMultiByteSize возвращает STATUS_SUCCESS.

Замечания

RtlUnicodeToMultiByteSize можно вызвать, чтобы определить объем выделенной памяти или, возможно, значение, указанное для MaxBytesInMultiByteString, перед преобразованием строки Юникода в ANSI с RtlUnicodeToMultiByteN или RtlUpcaseUnicodeToMultiByteN. Возвращаемое значение не содержит пробела для конца NULL для строки ANSI.

Как и RtlUnicodeToMultiByteN, RtlUnicodeToMultiByteSize поддерживает только предварительно скомпилированные символы Юникода, сопоставленные с текущей системной кодовой страницей ANSI, установленной при загрузке системы.

Дополнительные сведения о других подпрограммах обработки строк см. в Run-Time подпрограммах библиотеки (RTL).

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также

RtlMultiByteToUnicodeSize

RtlUnicodeToMultiByteN

RtlUpcaseUnicodeToMultiByteN