Функция RtlUnicodeToMultiByteN (ntifs.h)
Подпрограмма RtlUnicodeToMultiByteN преобразует указанную строку Юникода в новую символьную строку, используя текущую кодовую страницу ANSI (ACP). Переведенная строка не обязательно из многобайтового набора символов.
Синтаксис
NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
[out] PCHAR MultiByteString,
[in] ULONG MaxBytesInMultiByteString,
[out, optional] PULONG BytesInMultiByteString,
[in] PCWCH UnicodeString,
[in] ULONG BytesInUnicodeString
);
Параметры
[out] MultiByteString
Указатель на выделенный вызывающим буфером для получения переведенной строки. буфер MultiByteString не должен перекрываться с буфером ЮникодString .
[in] MaxBytesInMultiByteString
Максимальное число байтов, записываемых в MultiByteString. Если это значение приводит к усечению переведенной строки, RtlUnicodeToMultiByteN не возвращает состояние ошибки.
[out, optional] BytesInMultiByteString
Указатель на выделенную вызывающим переменную, которая получает длину в байтах переведенной строки. Этот параметр является необязательным и может быть null.
[in] UnicodeString
Указатель на исходную строку Юникода, которая будет переведена.
[in] BytesInUnicodeString
Размер строки в байтах в ЮникодСтринг.
Возвращаемое значение
RtlUnicodeToMultiByteN возвращает STATUS_SUCCESS.
Замечания
RtlUnicodeToMultiByteN преобразует указанную строку Юникода с помощью текущей кодовой страницы ANSI, установленной во время загрузки системы.
Хотя BytesInMultiByteString является необязательным и может быть NULL, вызывающие должны предоставить для него хранилище, так как полученная длина может использоваться для определения успешности преобразования.
Эта подпрограмма не изменяет исходную строку. Он возвращает многобайтовую строку, завершающую значение NULL, если заданный BytesInUnicodeString включал конца NULL и если указанный MaxBytesInMultiByteString не вызвал усечение.
Как и RtlUnicodeToMultiByteSize, RtlUnicodeToMultiByteN поддерживает только предварительно скомпилированные символы Юникода, сопоставленные с текущей системной кодовой страницей ANSI, установленной при загрузке системы.
Дополнительные сведения о других подпрограммах обработки строк см. в Run-Time подпрограммах библиотеки (RTL).
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Fltkernel.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |