Функция RtlUnicodeStringToCountedOemString (ntifs.h)

Подпрограмма RtlUnicodeStringToCountedOemString преобразует указанную исходную строку Юникода в подсчитываемую строку OEM с помощью текущей системной кодовой страницы OEM.

Синтаксис

NTSYSAPI NTSTATUS RtlUnicodeStringToCountedOemString(
       POEM_STRING      DestinationString,
  [in] PCUNICODE_STRING SourceString,
  [in] BOOLEAN          AllocateDestinationString
);

Параметры

DestinationString

Указатель на буфер, выделенный вызывающим объектом, для получения строки счетчика OEM. Если значение Параметра AllocateDestinationString равно FALSE, вызывающий объект также должен выделить буфер для члена буфераDestinationString для хранения данных OEM. Если свойство AllocateDestinationString имеет значение TRUE, RtlUnicodeStringToCountedOemString выделяет буфер, достаточно большой для хранения строки, передает указатель на него в буфер и соответствующим образом обновляет элементы длины и максимальной длины DestinationString .

[in] SourceString

Указатель на исходную строку Юникода для преобразования.

[in] AllocateDestinationString

Установите значение TRUE , если RtlUnicodeStringToCountedOemString должен выделить буферное пространство для DestinationString, в противном случае — FALSE . Если этот параметр имеет значение TRUE, вызывающий объект отвечает за освобождение буфера, когда он больше не нужен, вызывая RtlFreeOemString.

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

RtlUnicodeStringToCountedOemString возвращает STATUS_SUCCESS, если строка в DestinationString переведена. В противном случае хранилище не было выделено, а преобразование не выполнялось. Эта подпрограмма возвращает STATUS_UNMAPPABLE_CHARACTER, если ей не удается перевести символ в заданном объекте SourceString.

Комментарии

RtlUnicodeStringToCountedOemString возвращает переведенную строку, которая не содержит признак конца NULL. Он преобразует заданную исходную строку с помощью кодовой страницы OEM, которая была установлена в качестве текущей системной кодовой страницы во время загрузки системы.

RtlUnicodeStringToCountedOemString не изменяет исходную строку.

Сведения о других процедурах обработки строк см. в статье Подпрограммы библиотеки времени выполнения (RTL).

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

См. также раздел

OEM_STRING

RtlFreeOemString

RtlOemStringToCountedUnicodeString

RtlUnicodeStringToOemString

RtlUnicodeToOemN

RtlUpcaseUnicodeStringToCountedOemString

UNICODE_STRING