Функция 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, установленной при загрузке системы.
Сведения о других процедурах обработки строк см. в статье Подпрограммы библиотеки времени выполнения (RTL).
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |