Freigeben über


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

Siehe auch

RtlMultiByteToUnicodeN-

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN-