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 |