Funzione IdnToUnicode (winnls.h)
Converte la forma Punycode di un nome di dominio internazionalizzato (IDN) o un'altra etichetta internazionalizzata nella normale sintassi di codifica Unicode UTF-16.
Sintassi
int IdnToUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpASCIICharStr,
[in] int cchASCIIChar,
[out, optional] LPWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar
);
Parametri
[in] dwFlags
Flag che specificano le opzioni di conversione. Per definizioni dettagliate, vedere il parametro dwFlags di IdnToAscii.
[in] lpASCIICharStr
Puntatore a una stringa che rappresenta la codifica Punycode di un IDN o di un'altra etichetta internazionalizzata. Questa stringa deve essere costituita solo da caratteri ASCII e può includere Unicode con codifica Punycode. La funzione decodifica i valori punycode nei valori UTF-16.
[in] cchASCIIChar
Numero di caratteri nella stringa di input indicata da lpASCIICharStr.
[out, optional] lpUnicodeCharStr
Puntatore a un buffer che riceve una normale codifica Unicode UTF-16 equivalente al valore Punycode della stringa di input. In alternativa, la funzione può recuperare NULL per questo parametro, se cchUnicodeChar impostato su 0. In questo caso, la funzione restituisce le dimensioni necessarie per questo buffer.
[in] cchUnicodeChar
Dimensioni, in caratteri, del buffer indicato da lpUnicodeCharStr. L'applicazione può impostare le dimensioni su 0 per recuperare NULL in lpUnicodeCharStr e restituire la dimensione del buffer necessaria.
Valore restituito
Restituisce il numero di caratteri recuperati in lpUnicodeCharStr se riuscito. La stringa recuperata viene terminata solo se la stringa di input è terminata con valore Null.
Se la funzione ha esito positivo e il valore di cchUnicodeChar è 0, la funzione restituisce le dimensioni necessarie, in caratteri inclusi un carattere Null terminante se fa parte del buffer di input.
La funzione restituisce 0 se non riesce. Per ottenere informazioni sull'errore estese, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:
- ERROR_INSUFFICIENT_BUFFER. Una dimensione del buffer fornita non è stata sufficiente oppure è stata impostata in modo errato su NULL.
- ERROR_INVALID_FLAGS. I valori forniti per i flag non sono validi.
- ERROR_INVALID_NAME. È stato fornito un nome non valido alla funzione. Si noti che questo codice di errore rileva tutti gli errori di sintassi.
- ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.
- ERROR_NO_UNICODE_TRANSLATION. Unicode non valido è stato trovato in una stringa.
Commenti
Vedere Osservazioni per IdnToAscii.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winnls.h (includere Windows.h) |
Libreria | Normaliz.lib |
DLL | Normaliz.dll |
Componente ridistribuibile | API di mitigazione di Microsoft Internationalized Domain Name (IDN) inWindows XP con SP2 e versioni successive oWindows Server 2003 con SP1 |
Vedi anche
Gestione dei nomi di dominio internazionalizzati (IDN)