Freigeben über


RtlUnicodeToMultiByteN-Funktion (ntifs.h)

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

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, um die übersetzte Zeichenfolge zu empfangen. Der MultiByteString-Puffer darf sich nicht mit dem UnicodeString-Puffer überlappen.

[in] MaxBytesInMultiByteString

Maximale Anzahl von Bytes, die in MultiByteString geschrieben werden sollen. Wenn dieser Wert dazu führt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlUnicodeToMultiByteN keinen Fehler status zurück.

[out, optional] BytesInMultiByteString

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Länge der übersetzten Zeichenfolge in Bytes empfängt. Dieser Parameter ist optional und kann NULL sein.

[in] UnicodeString

Zeiger auf die zu übersetzende Unicode-Quellzeichenfolge.

[in] BytesInUnicodeString

Größe der Zeichenfolge in Bytes bei UnicodeString.

Rückgabewert

RtlUnicodeToMultiByteN gibt STATUS_SUCCESS zurück.

Hinweise

RtlUnicodeToMultiByteN übersetzt die angegebene Unicode-Zeichenfolge mithilfe der aktuellen System-ANSI-Codepage, die zur Systemstartzeit installiert wurde.

Obwohl BytesInMultiByteString 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.

Diese Routine ändert die Quellzeichenfolge nicht. Es gibt eine null-beendete Multibytezeichenfolge zurück, wenn der angegebene BytesInUnicodeString einen NULL-Abschlussator enthält und wenn der angegebene MaxBytesInMultiByteString keine Abschneidung verursacht hat.

Wie RtlUnicodeToMultiByteSize unterstützt RtlUnicodeToMultiByteN nur vorkompilierte Unicode-Zeichen, die der aktuellen System-ANSI-Codepage zugeordnet sind, die beim Systemstart installiert ist.

Informationen zu anderen Zeichenfolgenbehandlungsroutinen finden Sie unter Laufzeitbibliotheksroutinen (RTL).

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (einschließlich Fltkernel.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Weitere Informationen

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN