Funzione IdnToNameprepUnicode (winnls.h)
Converte un nome di dominio internazionalizzato (IDN) o un'altra etichetta internazionalizzata nel modulo NamePrep specificato da Network Working Group RFC 3491, ma non esegue la conversione aggiuntiva in Punycode. Per altre informazioni e collegamenti ai progetti di standard correlati, vedere Gestione dei nomi di dominio internazionalizzati (IDN).For more information and links to related draft standards, see Handling Internationalized Domain Names (IDN).
Sintassi
int IdnToNameprepUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar,
[out, optional] LPWSTR lpNameprepCharStr,
[in] int cchNameprepChar
);
Parametri
[in] dwFlags
Flag che specificano le opzioni di conversione. Per definizioni dettagliate, vedere il parametro dwFlags di IdnToAscii.
[in] lpUnicodeCharStr
Puntatore a una stringa Unicode che rappresenta un IDN o un'altra etichetta internazionalizzata.
[in] cchUnicodeChar
Numero di caratteri Unicode nella stringa Unicode di input indicata da lpUnicodeCharStr.
[out, optional] lpNameprepCharStr
Puntatore a un buffer che riceve una versione della stringa Unicode di input convertita tramite l'elaborazione NamePrep. In alternativa, la funzione può recuperare NULL per questo parametro, se cchNameprepChar è impostato su 0. In questo caso, la funzione restituisce le dimensioni necessarie per questo buffer.
[in] cchNameprepChar
Dimensioni, in caratteri, del buffer indicato da lpNameprepCharStr. L'applicazione può impostare le dimensioni su 0 per recuperare NULL in lpNameprepCharStr e restituire la dimensione del buffer richiesta.
Valore restituito
Restituisce il numero di caratteri recuperati in lpNameprepCharStr in caso di esito positivo. La stringa recuperata è con terminazione Null solo se la stringa Unicode di input è con terminazione Null.
Se la funzione ha esito positivo e il valore di cchNameprepChar è 0, la funzione restituisce le dimensioni necessarie, in caratteri che includono un carattere Null di terminazione se fa parte del buffer di input.
La funzione restituisce 0 se non riesce. Per ottenere informazioni estese sull'errore, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:
- ERROR_INSUFFICIENT_BUFFER. Le dimensioni del buffer fornite non sono sufficienti o non sono state impostate correttamente su NULL.
- ERROR_INVALID_FLAGS. I valori specificati per i flag non sono validi.
- ERROR_INVALID_NAME. Alla funzione è stato fornito un nome non valido. 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. È stato trovato Unicode non valido in una stringa.
Commenti
Vedere La sezione Osservazioni per IdnToAscii.
Esempio
NLS: Esempio di conversione IDN (Internationalized Domain Name) illustra l'uso di questa funzione.
Requisiti
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 (include Windows.h) |
Libreria | Normaliz.lib |
DLL | Normaliz.dll |
Componente ridistribuibile | API di mitigazione IDN (Internationalized Domain Name) Microsoft inWindows XP con SP2 e versioni successive oppureWindows Server 2003 con SP1 |
Vedi anche
Gestione dei nomi di dominio internazionalizzati (IDN)