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 |