RtlMultiByteToUnicodeN-Funktion (ntifs.h)

Die RtlMultiByteToUnicodeN-Routine übersetzt die angegebene Quellzeichenfolge unter Verwendung der aktuellen SYSTEM-ANSI-Codepage (ACP) in eine Unicode-Zeichenfolge. Die Quellzeichenfolge stammt nicht unbedingt aus einem Multibyte-Zeichensatz.

Syntax

NTSYSAPI NTSTATUS RtlMultiByteToUnicodeN(
  [out]           PWCH       UnicodeString,
  [in]            ULONG      MaxBytesInUnicodeString,
  [out, optional] PULONG     BytesInUnicodeString,
  [in]            const CHAR *MultiByteString,
  [in]            ULONG      BytesInMultiByteString
);

Parameter

[out] UnicodeString

Zeiger auf einen vom Aufrufer zugeordneten Puffer, der die übersetzte Zeichenfolge empfängt. Der UnicodeString-Puffer darf sich nicht mit dem MultiByteString-Puffer überschneiden.

[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 RtlMultiByteToUnicodeN 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] MultiByteString

Zeiger auf die zu übersetzende Zeichenfolge.

[in] BytesInMultiByteString

Größe der Zeichenfolge in Byte bei MultiByteString.

Rückgabewert

RtlMultiByteToUnicodeN gibt STATUS_SUCCESS zurück.

Hinweise

RtlMultiByteToUnicodeN unterstützt nur vorkompilierte Unicode-Zeichen, die der beim Systemstart installierten ANSI-Codepage des aktuellen Systems zugeordnet sind.

Obwohl BytesInUnicodeString optional ist und NULL sein kann, sollten Aufrufer Speicher dafür bereitstellen, da die empfangene Länge verwendet werden kann, um zu bestimmen, ob die Konvertierung erfolgreich war.

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

RtlMultiByteToUnicodeN ändert die Quellzeichenfolge nur, wenn die UnicodeString - und MultiByteString-Zeiger gleichwertig sind. Die zurückgegebene Unicode-Zeichenfolge ist nicht null-beendet.

Wie RtlMultiByteToUnicodeSize unterstützt RtlMultiByteToUnicodeN nur vorkompilierte Unicode-Zeichen, die der beim Systemstart installierten ANSI-Codepage des aktuellen Systems zugeordnet sind.

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 (Kernelmodus); Ntdll.dll (Benutzermodus)
IRQL < DISPATCH_LEVEL

Weitere Informationen

RtlMultiByteToUnicodeSize

RtlUnicodeToMultiByteN