Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |
|---|---|
|
Ciąg został przekonwertowany na Unicode. |
|
Napotkano nieprawidłowy znak wejściowy i zamieniono go. Ten stan jest uznawany za stan powodzenia. |
|
Oba wskaźniki do UnicodeStringDestination i UnicodeStringActingActualByteCount miały wartość NULL. |
|
Element UTF8StringSource miał wartość NULL. |
|
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 |
|
| DLL |
|
Zobacz także