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 |