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