RtlOemToUnicodeN-Funktion (ntifs.h)

Die RtlOemToUnicodeN-Routine übersetzt die angegebene Quellzeichenfolge in eine Unicode-Zeichenfolge, wobei die aktuelle System-OEM-Codeseite verwendet wird.

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 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

Zeiger auf eine 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 Codeseite einen Einzelbytezeichensatz beschreibt, kann dieser Zeiger dieselbe Adresse wie UnicodeString sein.

[in] BytesInOemString

Länge in Bytes der Zeichenfolge bei OemString.

Rückgabewert

RtlOemToUnicodeN gibt STATUS_SUCCESS zurück, wenn die vollständige Zeichenfolge bei OemString erfolgreich übersetzt und bei UnicodeString zurückgegeben wurde. Andernfalls kann STATUS_BUFFER_OVERFLOW zurückgegeben werden, wenn die Zielzeichenfolge abgeschnitten werden muss, um den angegebenen MaxBytesInUnicodeString anzupassen. STATUS_BUFFER_OVERFLOW ist ein WARNUNGs-NTSTATUS-Wert.

Bemerkungen

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

Wenn die aktuelle Systemcodeseite einen Einzelnen-Byte-Zeichensatz definiert, werden alle Einzelbytezeichen im Bereich 0x00 bis 0x7f einfach null in der entsprechenden Unicode-Zeichenfolge erweitert, 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 Zeichens 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 der angegebenen MaxBytesInUnicodeString an.

Diese Routine ändert die Quellzeichenfolge erst, 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

   
Zielplattform Universell
Header ntifs.h (einschließlich Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Weitere Informationen

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN