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


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

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

Синтаксис

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

Параметры

[out] BytesInUnicodeString

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

[in] MultiByteString

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

[in] BytesInMultiByteString

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

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

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

Замечания

RtlMultiByteToUnicodeSize можно вызвать, чтобы определить объем выделенной памяти или, возможно, значение, указываемое для MaxBytesInUnicodeString, перед преобразованием многобайтовой строки в Юникод с RtlMultiByteToUnicodeN. Возвращаемое значение не включает пробел для конца NULL для строки Юникода.

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

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

Требования

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

См. также

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize