Freigeben über


RtlMultiByteToUnicodeN-Funktion (ntifs.h)

Die RtlMultiByteToUnicodeN Routine übersetzt die angegebene Quellzeichenfolge in eine Unicode-Zeichenfolge unter Verwendung der aktuellen System-ANSI-Codepage (ACP). 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

Zeigen Sie auf einen vom Aufrufer zugewiesenen Puffer, der die übersetzte Zeichenfolge empfängt. UnicodeString- Puffer darf sich nicht mit MultiByteString Puffer überlappen.

[in] MaxBytesInUnicodeString

Maximale Anzahl von Bytes, die bei UnicodeString-geschrieben werden sollen. Wenn dieser Wert bewirkt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlMultiByteToUnicodeN- 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] MultiByteString

Zeigen Sie auf die zu übersetzende Zeichenfolge.

[in] BytesInMultiByteString

Größe der Zeichenfolge in Bytes bei MultiByteString-.

Rückgabewert

RtlMultiByteToUnicodeN- gibt STATUS_SUCCESS zurück.

Bemerkungen

RtlMultiByteToUnicodeN- unterstützt nur vorkompilierte Unicode-Zeichen, die der aktuellen System-ANSI-Codeseite zugeordnet sind, die beim Systemstart installiert ist.

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

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

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

Wie RtlMultiByteToUnicodeSizeunterstützt RtlMultiByteToUnicodeN nur vorkompilierte Unicode-Zeichen, die der aktuellen System-ANSI-Codeseite zugeordnet sind, die beim Systemstart installiert sind.

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

Siehe auch

RtlMultiByteToUnicodeSize

RtlUnicodeToMultiByteN-