Поделиться через


Функция 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