RtlUpcaseUnicodeStringToCountedOemString 函数 (ntifs.h)

RtlUpcaseUnicodeStringToCountedOemString 例程使用当前系统 OEM 代码页将给定的 Unicode 源字符串转换为大写计数的 OEM 字符串。

语法

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

参数

DestinationString

指向调用方分配的缓冲区的指针,用于接收计数的 OEM 字符串。 如果 AllocateDestinationString 为 FALSE,则调用方还必须为 DestinationStringBuffer 成员分配缓冲区来保存 OEM 数据。 如果 AllocateDestinationString 为 TRUE,RtlUpcaseUnicodeStringToCountedOemString 分配足够大的缓冲区来容纳字符串,在 Buffer中传递指向它的指针,并相应地更新 DestinationString 的长度和最大长度成员。

[in] SourceString

指向要转换的 Unicode 字符串的指针。

[in] AllocateDestinationString

如果 RtlUpcaseUnicodeStringToCountedOemString 应为 DestinationString分配缓冲区空间,则设置为 TRUE,否则为 FALSE。 如果此参数为 TRUE,则调用方负责通过调用 RtlFreeOemString来释放缓冲区。

返回值

RtlUpcaseUnicodeStringToCountedOemString 如果返回 DestinationString的已翻译字符串,则返回STATUS_SUCCESS。 否则,未分配存储,也没有执行任何转换。 如果无法在给定的 sourceString 中转换字符,它将返回STATUS_UNMAPPABLE_CHARACTER。

言论

RtlUpcaseUnicodeStringToCountedOemString 返回非 null 终止的字符串。 它使用在系统启动时作为当前系统代码页安装的 OEM 代码页转换给定的源字符串,并将转换后的字符串转换为大写。

若要在给定的源字符串中查找任何特殊字符(如版权字符)的最佳匹配映射,RtlUpcaseUnicodeStringToCountedOemString 执行以下作:

  1. SourceString 处的 Unicode 字符串的副本转换为 OEM 字符串

  2. 将 OEM 字符串转换回 Unicode

  3. 将此新的 Unicode 字符串转换为大写

  4. 将大写 Unicode 字符串转换为计数的 OEM 字符串,并在 DestinationString

此例程不会修改源字符串。

有关其他字符串处理例程的信息,请参阅 Run-Time Library (RTL) 例程

要求

要求 价值
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

OEM_STRING

RtlFreeOemString

RtlOemStringToCountedUnicodeString

RtlUnicodeStringToCountedOemString

RtlUnicodeStringToOemSize

RtlUpcaseUnicodeStringToOemString

RtlUpcaseUnicodeToOemN

UNICODE_STRING