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 數據。 如果 AllocateDestinationStringTRUE,RtlUpcaseUnicodeStringToCountedOemString 會配置足以保存字符串的緩衝區、在 Buffer 中傳遞指標,並據以更新 DestinationString 的長度和最大長度成員。

[in] SourceString

要翻譯之 Unicode 字串的指標。

[in] AllocateDestinationString

如果 RtlUpcaseUnicodeStringToCountedOemString 應該配置 DestinationString 的緩衝區空間,則設定為 TRUE,否則為 FALSE。 如果此參數為TRUE,呼叫端會負責呼叫 RtlFreeOemString 不再需要緩衝區時釋放緩衝區。

傳回值

如果 RtlUpcaseUnicodeStringToCountedOemStringDestinationString 傳回已翻譯的字串,則會傳回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) 例程

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另請參閱

OEM_STRING

RtlFreeOemString

RtlOemStringToCountedUnicodeString

RtlUnicodeStringToCountedOemString

RtlUnicodeStringToOemSize

RtlUpcaseUnicodeStringToOemString

RtlUpcaseUnicodeToOemN

UNICODE_STRING