Funzione RtlUnicodeToUTF8N
Converte la stringa Unicode specificata in una nuova stringa di caratteri usando la tabella codici UTF-8 (Unicode Transformation Format) a 8 bit.
Sintassi
NTSTATUS WINAPI RtlUnicodeToUTF8N(
_Out_ PCHAR UTF8StringDestination,
_In_ ULONG UTF8StringMaxByteCount,
_Out_opt_ PULONG UTF8StringActualByteCount,
_In_ PCWSTR UnicodeStringSource,
_In_ ULONG UnicodeStringByteCount
);
Parametri
-
UTF8StringDestination [out]
-
Puntatore a un buffer allocato dal chiamante per ricevere la stringa tradotta.
-
UTF8StringMaxByteCount [in]
-
Numero massimo di byte da scrivere in UTF8StringDestination. Se questo valore causa il troncamento della stringa tradotta, RtlUnicodeToUTF8N restituisce uno stato di errore.
-
UTF8StringActualByteCount [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.
-
UnicodeStringSource [in]
-
Puntatore alla stringa di origine Unicode da tradurre.
-
*UnicodeStringByteCount * [in]
-
Specifica il numero di byte nella stringa di origine Unicode a cui punta il parametro UnicodeStringSource .
Valore restituito
RtlUnicodeToUTF8N restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
La stringa Unicode è stata convertita in UTF-8. |
|
È stato rilevato e sostituito un carattere di input non valido. Questo stato viene considerato uno stato di esito positivo. |
|
Entrambi i puntatori a UTF8StringDestination e UTF8StringActualByteCount erano NULL. |
|
UnicodeStringSource era NULL. |
|
UTF8StringDestination è stato troncato. |
Commenti
Anche se UTF8StringActualByteCount è 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. Questa routine non modifica la stringa di origine. Restituisce una stringa UTF-8 con terminazione Null se l'oggetto UnicodeStringSource specificato includeva un terminatore NULL e se l'oggetto UTF8StringMaxByteCount specificato non causava il troncamento.
Se l'output viene troncato e viene rilevato un carattere di input non valido, la funzione restituisce STATUS_BUFFER_TOO_SMALL errore.
Se la funzione UTF8StringDestination è impostata su NULL , restituirà il numero di byte necessario per ospitare la stringa tradotta senza troncamento in UTF8StringActualByteCount.
I chiamanti di RtlUnicodeToUTF8N 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