RtlUTF8ToUnicodeN, funkcja

Tłumaczy określony ciąg źródłowy na ciąg Unicode przy użyciu 8-bitowego formatu przekształcenia Unicode (UTF-8) strony kodowej.

Składnia

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

Parametry

UnicodeStringDestination [out]

Wskaźnik do buforu przydzielonego przez obiekt wywołujący, który odbiera przetłumaczony ciąg.

UnicodeStringMaxByteCount [in]

Maksymalna liczba bajtów do zapisania w formacie UnicodeStringDestination. Jeśli ta wartość powoduje obcięcie przetłumaczonego ciągu, funkcja RtlUTF8ToUnicodeN zwraca stan błędu.

UnicodeStringActualByteCount [out, optional]

Wskaźnik do zmiennej przydzielonej przez obiekt wywołujący, który odbiera długość w bajtach przetłumaczonego ciągu. Ten parametr jest opcjonalny i może mieć wartość NULL. Jeśli ciąg zostanie obcięty, zwracana liczba zlicza rzeczywiste obcięte ciągi.

UTF8StringSource [in]

Wskaźnik do ciągu, który ma zostać przetłumaczony.

UTF8StringByteCount [in]

Rozmiar ciągu w bajtach w źródle UTF8StringSource.

Wartość zwracana

Funkcja RtlUTF8ToUnicodeN zwraca jedną z następujących wartości NTSTATUS:

Kod powrotny Opis
STATUS_SUCCESS
Ciąg został przekonwertowany na Unicode.
STATUS_SOME_NOT_MAPPED
Napotkano nieprawidłowy znak wejściowy i zamieniono go. Ten stan jest uznawany za stan powodzenia.
STATUS_NIEPRAWIDŁOWY_PARAMETR
Oba wskaźniki do UnicodeStringDestination i UnicodeStringActingActualByteCount miały wartość NULL.
STATUS_INVALID_PARAMETER_4
Element UTF8StringSource miał wartość NULL.
STATUS_BUFFER_TOO_SMALL
UnicodeStringDestination został obcięty.

 

Uwagi

Mimo że parametr UnicodeStringActualByteCount jest opcjonalny i może mieć wartość NULL, wywołujące powinny dostarczyć dla niego magazyn, ponieważ odebrana długość może służyć do określenia, czy konwersja zakończyła się pomyślnie.

Jeśli dane wyjściowe zostaną obcięte i napotkano nieprawidłowy znak wejściowy, funkcja zwróci błąd STATUS_BUFFER_TOO_SMALL.

Jeśli parametr UnicodeStringDestination ma wartość NULL , funkcja zwróci wymaganą liczbę bajtów do hostowania przetłumaczonego ciągu bez obcinania w formacie UnicodeStringActualByteCount.

RtlUTF8ToUnicodeN nie modyfikuje ciągu źródłowego, chyba że wskaźniki UnicodeStringDestination i UTF8StringSource są równoważne. Zwrócony ciąg Unicode nie jest zakończony wartością null.

Osoby wywołujące RtlUTF8ToUnicodeN muszą być uruchomione w DISPATCH_LEVEL IRQL < .

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows 7 [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2008 R2 [tylko aplikacje desktopowe]
Nagłówek
Wdm.h
DLL
Ntdll.dll

Zobacz także

RtlUnicodeToUTF8N