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)

IdnToAscii

IdnToUnicode

Supporto per la lingua nazionale

Funzioni di supporto per il linguaggio nazionale