RtlOemToUnicodeN-Funktion (ntifs.h)

Die RtlOemToUnicodeN-Routine übersetzt die angegebene Quellzeichenfolge mithilfe der aktuellen OEM-Codepage des Systems in eine Unicode-Zeichenfolge.

Syntax

NTSYSAPI NTSTATUS RtlOemToUnicodeN(
  [out]           PWCH   UnicodeString,
  [in]            ULONG  MaxBytesInUnicodeString,
  [out, optional] PULONG BytesInUnicodeString,
  [in]            PCCH   OemString,
  [in]            ULONG  BytesInOemString
);

Parameter

[out] UnicodeString

Zeiger auf einen vom Aufrufer zugeordneten Puffer, der die übersetzte Zeichenfolge empfängt.

[in] MaxBytesInUnicodeString

Maximale Anzahl von Bytes, die in UnicodeString geschrieben werden sollen. Wenn dieser Wert dazu führt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlOemToUnicodeN keinen Fehler status zurück.

[out, optional] BytesInUnicodeString

Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Länge der übersetzten Zeichenfolge in Bytes empfängt. Dieser Parameter kann NULL sein.

[in] OemString

Zeiger auf die OEM-Quellzeichenfolge, die in Unicode übersetzt werden soll. Wenn die aktuelle Codepage einen Einzelbytezeichensatz beschreibt, kann dieser Zeiger dieselbe Adresse wie UnicodeString sein.

[in] BytesInOemString

Länge der Zeichenfolge in OemString in Byte.

Rückgabewert

RtlOemToUnicodeN gibt STATUS_SUCCESS zurück, wenn die vollständige Zeichenfolge unter OemString erfolgreich übersetzt und in UnicodeString zurückgegeben wurde. Andernfalls kann STATUS_BUFFER_OVERFLOW zurückgegeben werden, wenn die Zielzeichenfolge abgeschnitten werden muss, um dem angegebenen MaxBytesInUnicodeString zu entsprechen. STATUS_BUFFER_OVERFLOW ist ein NTSTATUS-Warnungswert.

Hinweise

RtlOemToUnicodeN unterstützt nur vorkompilierte Unicode-Zeichen, die der aktuellen OEM-Codepage des Systems zugeordnet sind, die zur Systemstartzeit installiert ist.

Wenn die aktuelle Systemcodepage einen Ein-Byte-Zeichensatz definiert, werden alle Einzelbytezeichen im Bereich 0x00 zu 0x7f in der entsprechenden Unicode-Zeichenfolge einfach null erweitert, um den Konvertierungsvorgang zu beschleunigen. Der Zeichenwert 0x5c in einer solchen Codepage wird in das umgekehrte Schrägstrichzeichen übersetzt, auch wenn die aktuelle Codepage dieses Zeichen als Yen-Zeichen definiert.

Für den Rückgabewert STATUS_SUCCESS gibt der Wert von BytesInUnicodeString(sofern vorhanden) die Länge der zurückgegebenen Unicode-Zeichenfolge anstelle des angegebenen MaxBytesInUnicodeString an.

Diese Routine ändert die Quellzeichenfolge nur, wenn die UnicodeString - und OemString-Zeiger gleichwertig sind. Die zurückgegebene Unicode-Zeichenfolge ist NULL-beendet, wenn sie nicht abgeschnitten wird.

Informationen zu anderen Zeichenfolgenverarbeitungsroutinen finden Sie unter Laufzeitbibliotheksroutinen (RTL).

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Weitere Informationen

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN