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

Подпрограмма RtlUpcaseUnicodeStringToCountedOemString преобразует заданную исходную строку Юникода в строку OEM в верхнем регистре, используя текущую системную кодовую страницу OEM.

Синтаксис

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

Параметры

DestinationString

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

[in] SourceString

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

[in] AllocateDestinationString

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

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

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

Комментарии

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

Чтобы найти лучшее сопоставление для любых специальных символов, таких как знак авторских прав, в заданной исходной строке RtlUpcaseUnicodeStringToCountedOemString выполняет следующие операции:

  1. Преобразует копию строки Юникода в SourceString в строку oem.

  2. Преобразует строку OEM обратно в Юникод

  3. Преобразует эту новую строку Юникода в верхний регистр.

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

Эта подпрограмма не изменяет исходную строку.

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

Требования

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

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

OEM_STRING

RtlFreeOemString

RtlOemStringToCountedUnicodeString

RtlUnicodeStringToCountedOemString

RtlUnicodeStringToOemSize

RtlUpcaseUnicodeStringToOemString

RtlUpcaseUnicodeToOemN

UNICODE_STRING