Freigeben über


RtlOemToUnicodeN-Funktion (ntifs.h)

Die RtlOemToUnicodeN Routine übersetzt die angegebene Quellzeichenfolge mithilfe der aktuellen System-OEM-Codeseite 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

Zeigen Sie auf einen vom Aufrufer zugewiesenen Puffer, der die übersetzte Zeichenfolge empfängt.

[in] MaxBytesInUnicodeString

Maximale Anzahl von Bytes, die bei UnicodeString-geschrieben werden sollen. Wenn dieser Wert bewirkt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlOemToUnicodeN- keinen Fehlerstatus zurück.

[out, optional] BytesInUnicodeString

Zeigen Sie auf eine vom Aufrufer zugewiesene 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 Codeseite einen Einzelbyte-Zeichensatz beschreibt, kann dieser Zeiger dieselbe Adresse wie UnicodeString-sein.

[in] BytesInOemString

Länge der Zeichenfolge in Bytes bei OemString-.

Rückgabewert

RtlOemToUnicodeN gibt STATUS_SUCCESS zurück, wenn die vollständige Zeichenfolge bei OemString erfolgreich übersetzt und an UnicodeString-zurückgegeben wurde. Andernfalls kann sie STATUS_BUFFER_OVERFLOW zurückgeben, wenn die Zielzeichenfolge abgeschnitten werden muss, um die angegebene MaxBytesInUnicodeString-. STATUS_BUFFER_OVERFLOW ist ein NTSTATUS-Warnungswert.

Bemerkungen

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

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

Für den Rückgabewert STATUS_SUCCESS gibt der Wert BytesInUnicodeString, falls vorhanden, die Länge der zurückgegebenen Unicode-Zeichenfolge anstelle der angegebenen MaxBytesInUnicodeStringan.

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

Informationen zu anderen Zeichenfolgenbehandlungsroutinen finden Sie unter Run-Time Library (RTL)-Routinen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- < DISPATCH_LEVEL

Siehe auch

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN