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


Функция RtlUnicodeStringToAnsiString (winternl.h)

Преобразует указанную исходную строку Юникода в строку ANSI.

Синтаксис

NTSTATUS RtlUnicodeStringToAnsiString(
  [in, out] PANSI_STRING     DestinationString,
  [in]      PCUNICODE_STRING SourceString,
  [in]      BOOLEAN          AllocateDestinationString
);

Параметры

[in, out] DestinationString

Указатель на структуру ANSI_STRING для хранения преобразованной строки ANSI. Если свойство AllocateDestinationString имеет значение TRUE, подпрограмма выделяет новый буфер для хранения строковых данных и обновляет элемент Bufferэлемента DestinationString , чтобы он указывал на новый буфер. В противном случае подпрограмма использует указанный в данный момент буфер для хранения строки.

[in] SourceString

Структура UNICODE_STRING , содержащая исходную строку для преобразования в ANSI.

[in] AllocateDestinationString

Управляет выделением буферного пространства для DestinationString.

TRUE

Буферное пространство выделяется для DestinationString. Если задано значение TRUE, буфер должен быть освобожден с помощью RtlFreeAnsiString.

Ложь.

Буферное пространство не выделяется для DestinationString.

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

Различные значения NTSTATUS определяются в NTSTATUS. H, который распространяется вместе с DDK.

Код возврата Описание
STATUS_SUCCESS
Строка Юникода была преобразована в ANSI. В противном случае хранилище не было выделено и преобразование не выполнялось.

Комментарии

Перевод выполняется с учетом сведений о текущем языковом стандарте системы.

Так как для этой функции нет библиотеки импорта, необходимо использовать GetProcAddress.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winternl.h
Библиотека ntdll.lib
DLL ntdll.dll; NtosKrnl.exe