Funzione RtlUTF8ToUnicodeN
Converte la stringa di origine specificata in una stringa Unicode usando la tabella codici UTF-8 (Unicode Transformation Format) a 8 bit.
Sintassi
NTSTATUS WINAPI RtlUTF8ToUnicodeN(
_Out_ PWSTR UnicodeStringDestination,
_In_ ULONG UnicodeStringMaxByteCount,
_Out_opt_ PULONG UnicodeStringActualByteCount,
_In_ PCCH UTF8StringSource,
_In_ ULONG UTF8StringByteCount
);
Parametri
-
UnicodeStringDestination [out]
-
Puntatore a un buffer allocato del chiamante che riceve la stringa tradotta.
-
UnicodeStringMaxByteCount [in]
-
Numero massimo di byte da scrivere in UnicodeStringDestination. Se questo valore causa il troncamento della stringa tradotta, RtlUTF8ToUnicodeN restituisce uno stato di errore.
-
UnicodeStringActualByteCount [out, facoltativo]
-
Puntatore a una variabile allocata dal chiamante che riceve la lunghezza, in byte, della stringa tradotta. Questo parametro è facoltativo e può essere NULL. Se la stringa viene troncata, il numero restituito conta il conteggio effettivo delle stringhe troncate.
-
UTF8StringSource [in]
-
Puntatore alla stringa da tradurre.
-
UTF8StringByteCount [in]
-
Dimensioni, in byte, della stringa in UTF8StringSource.
Valore restituito
RtlUTF8ToUnicodeN restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
La stringa è stata convertita in Unicode. |
|
È stato rilevato e sostituito un carattere di input non valido. Questo stato viene considerato uno stato di esito positivo. |
|
Entrambi i puntatori a UnicodeStringDestination e UnicodeStringActualByteCount erano NULL. |
|
UTF8StringSource è NULL. |
|
UnicodeStringDestination è stato troncato. |
Commenti
Anche se UnicodeStringActualByteCount è facoltativo e può essere NULL, i chiamanti devono fornire l'archiviazione per esso, perché la lunghezza ricevuta può essere usata per determinare se la conversione è riuscita.
Se l'output viene troncato e viene rilevato un carattere di input non valido, la funzione restituisce STATUS_BUFFER_TOO_SMALL errore.
Se UnicodeStringDestination è impostato su NULL , la funzione restituirà il numero di byte richiesto per ospitare la stringa tradotta senza troncamento in UnicodeStringActualByteCount.
RtlUTF8ToUnicodeN non modifica la stringa di origine a meno che i puntatori UnicodeStringDestination e UTF8StringSource siano equivalenti. La stringa Unicode restituita non viene terminata con null.
I chiamanti di RtlUTF8ToUnicodeN devono essere in esecuzione in IRQL < DISPATCH_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 7 [solo app desktop] |
Server minimo supportato |
Windows Server 2008 R2 [solo app desktop] |
Intestazione |
|
DLL |
|
Vedi anche