Condividi tramite


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
STATUS_SUCCESS
La stringa è stata convertita in Unicode.
STATUS_SOME_NOT_MAPPED
È stato rilevato e sostituito un carattere di input non valido. Questo stato viene considerato uno stato di esito positivo.
STATUS_INVALID_PARAMETER
Entrambi i puntatori a UnicodeStringDestination e UnicodeStringActualByteCount erano NULL.
STATUS_INVALID_PARAMETER_4
UTF8StringSource è NULL.
STATUS_BUFFER_TOO_SMALL
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
Wdm.h
DLL
Ntdll.dll

Vedi anche

RtlUnicodeToUTF8N