Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Преобразует указанную исходную строку в строку Юникода с помощью 8-разрядной кодовой страницы формата преобразования Юникода (UTF-8).
Синтаксис
NTSTATUS WINAPI RtlUTF8ToUnicodeN(
_Out_ PWSTR UnicodeStringDestination,
_In_ ULONG UnicodeStringMaxByteCount,
_Out_opt_ PULONG UnicodeStringActualByteCount,
_In_ PCCH UTF8StringSource,
_In_ ULONG UTF8StringByteCount
);
Параметры
-
ЮникодStringDestination [out]
-
Указатель на выделенный вызывающим буфером, который получает переведенную строку.
-
UnicodeStringMaxByteCount [in]
-
Максимальное число байтов, записываемых в ЮникодStringDestination. Если это значение приводит к усечению переведенной строки, RtlUTF8ToUnicodeN возвращает состояние ошибки.
-
UnicodeStringActualByteCount [out, необязательный]
-
Указатель на выделенную вызывающим переменную, которая получает длину в байтах переведенной строки. Этот параметр является необязательным и может быть null. Если строка усечена, возвращенное число подсчитывает фактическое усеченное число строк.
-
UTF8StringSource [in]
-
Указатель на строку для перевода.
-
UTF8StringByteCount [in]
-
Размер строки в байтах в UTF8StringSource.
Возвращаемое значение
RtlUTF8ToUnicodeN возвращает одно из следующих значений NTSTATUS:
| Код возврата | Описание |
|---|---|
|
Строка была преобразована в Юникод. |
|
Обнаружен недопустимый входной символ и заменен. Это состояние считается состоянием успешного выполнения. |
|
Оба указателя на UnicodeStringDestination и UnicodeStringActualByteCount были NULL. |
|
UTF8StringSource был NULL. |
|
ЮникодStringDestination был усечен. |
Замечания
Хотя UnicodeStringActualByteCount является необязательным и может иметь значение NULL, вызывающие элементы должны предоставлять для него хранилище, так как полученная длина может использоваться для определения успешности преобразования.
Если выходные данные усечены и обнаружен недопустимый входной символ, функция возвращает STATUS_BUFFER_TOO_SMALL ошибку.
Если параметр ЮникодStringDestination имеет значение NULL , функция вернет требуемое количество байтов для размещения переведенной строки без усечения в ЮникодStringActualByteCount.
RtlUTF8ToUnicodeN не изменяет исходную строку, если только указатели UnicodeStringDestination и UTF8StringSource эквивалентны. Возвращаемая строка Юникода не завершается значением NULL.
Вызовы RtlUTF8ToUnicodeN должны выполняться в IRQL < DISPATCH_LEVEL.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент |
Windows 7 [только настольные приложения] |
| Минимальный поддерживаемый сервер |
Windows Server 2008 R2 [только настольные приложения] |
| Заголовок |
|
| Библиотека dll |
|
См. также