RtlUnicodeToMultiByteN-Funktion (ntifs.h)
Die RtlUnicodeToMultiByteN- Routine übersetzt die angegebene Unicode-Zeichenfolge in eine neue Zeichenfolge unter Verwendung der aktuellen System-ANSI-Codeseite (ACP). Die übersetzte Zeichenfolge stammt nicht unbedingt aus einem Multibyte-Zeichensatz.
Syntax
NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
[out] PCHAR MultiByteString,
[in] ULONG MaxBytesInMultiByteString,
[out, optional] PULONG BytesInMultiByteString,
[in] PCWCH UnicodeString,
[in] ULONG BytesInUnicodeString
);
Parameter
[out] MultiByteString
Zeigen Sie auf einen vom Aufrufer zugewiesenen Puffer, um die übersetzte Zeichenfolge zu empfangen. MultiByteString-Puffer darf sich nicht mit UnicodeString-Puffer überlappen.
[in] MaxBytesInMultiByteString
Maximale Anzahl von Bytes, die in MultiByteString-geschrieben werden sollen. Wenn dieser Wert bewirkt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlUnicodeToMultiByteN- keinen Fehlerstatus zurück.
[out, optional] BytesInMultiByteString
Zeigen Sie auf eine vom Aufrufer zugewiesene Variable, die die Länge der übersetzten Zeichenfolge in Bytes empfängt. Dieser Parameter ist optional und kann NULL-werden.
[in] UnicodeString
Zeigen Sie auf die zu übersetzende Unicode-Quellzeichenfolge.
[in] BytesInUnicodeString
Größe der Zeichenfolge in Bytes bei UnicodeString-.
Rückgabewert
RtlUnicodeToMultiByteN- gibt STATUS_SUCCESS zurück.
Bemerkungen
RtlUnicodeToMultiByteN übersetzt die angegebene Unicode-Zeichenfolge mithilfe der aktuellen System-ANSI-Codeseite, die zur Systemstartzeit installiert wurde.
Obwohl BytesInMultiByteString 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.
Diese Routine ändert die Quellzeichenfolge nicht. Es gibt eine mit Null beendete Multibyte-Zeichenfolge zurück, wenn die angegebene BytesInUnicodeString- einen NULL-Terminator enthalten und wenn die angegebene MaxBytesInMultiByteString- keine Abkürzung verursacht hat.
Wie RtlUnicodeToMultiByteSizeunterstützt RtlUnicodeToMultiByteN- nur vorkompilierte Unicode-Zeichen, die der beim Systemstart installierten SYSTEM-ANSI-Codeseite zugeordnet sind.
Informationen zu anderen Zeichenfolgenbehandlungsroutinen finden Sie unter Run-Time Library (RTL)-Routinen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Fltkernel.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | < DISPATCH_LEVEL |