Freigeben über


RtlUTF8ToUnicodeN-Funktion

Übersetzt die angegebene Quellzeichenfolge in eine Unicode-Zeichenfolge mit dem 8-Bit-Unicode-Transformationsformat (UTF-8)-Codepage.

Syntax

NTSTATUS WINAPI RtlUTF8ToUnicodeN(
  _Out_     PWSTR  UnicodeStringDestination,
  _In_      ULONG  UnicodeStringMaxByteCount,
  _Out_opt_ PULONG UnicodeStringActualByteCount,
  _In_      PCCH   UTF8StringSource,
  _In_      ULONG  UTF8StringByteCount
);

Die Parameter

UnicodeStringDestination [out]

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die übersetzte Zeichenfolge empfängt.

UnicodeStringMaxByteCount [in]

Maximale Anzahl von Bytes, die bei UnicodeStringDestination geschrieben werden sollen. Wenn dieser Wert bewirkt, dass die übersetzte Zeichenfolge abgeschnitten wird, gibt RtlUTF8ToUnicodeN einen Fehlerstatus zurück.

UnicodeStringActualByteCount [out, optional]

Ein 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-werden. Wenn die Zeichenfolge abgeschnitten wird, zählt die zurückgegebene Zahl die tatsächliche abgeschnittene Zeichenfolgenanzahl.

UTF8StringSource [in]

Ein Zeiger auf die zu übersetzende Zeichenfolge.

UTF8StringByteCount [in]

Größe der Zeichenfolge in Bytes bei UTF8StringSource.

Rückgabewert

RtlUTF8ToUnicodeN gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode BESCHREIBUNG
STATUS_SUCCESS
Die Zeichenfolge wurde in Unicode konvertiert.
STATUS_SOME_NOT_MAPPED
Es wurde ein ungültiges Eingabezeichen gefunden und ersetzt. Dieser Status wird als Erfolgsstatus betrachtet.
STATUS_INVALID_PARAMETER
Beide Zeiger auf UnicodeStringDestination und UnicodeStringActualByteCount waren NULL.
STATUS_INVALID_PARAMETER_4
Die UTF8StringSource war NULL.
STATUS_BUFFER_TOO_SMALL
UnicodeStringDestination wurde abgeschnitten.

 

Bemerkungen

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

Wenn die Ausgabe abgeschnitten wird und ein ungültiges Eingabezeichen auftritt, gibt die Funktion STATUS_BUFFER_TOO_SMALL Fehler zurück.

Wenn die UnicodeStringDestination auf NULL festgelegt ist, gibt die Funktion die erforderliche Anzahl von Bytes zurück, um die übersetzte Zeichenfolge ohne Abkürzung in UnicodeStringActualByteCount zu hosten.

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

Anrufer von RtlUTF8ToUnicodeN müssen unter IRQL-DISPATCH_LEVEL < ausgeführt werden.

Anforderungen

Anforderung Wert
Mindest unterstützter Client
Windows 7 [nur Desktop-Apps]
Unterstützter Server (Mindestversion)
Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile
Wdm.h
DLL
Ntdll.dll

Siehe auch

RtlUnicodeToUTF8N