Fonction IdnToUnicode (winnls.h)
Convertit la forme Punycode d’un nom de domaine internationalisé (IDN) ou d’une autre étiquette internationalisée en syntaxe d’encodage Unicode UTF-16 normale.
Syntaxe
int IdnToUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpASCIICharStr,
[in] int cchASCIIChar,
[out, optional] LPWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar
);
Paramètres
[in] dwFlags
Indicateurs spécifiant les options de conversion. Pour obtenir des définitions détaillées, consultez le paramètre dwFlags de IdnToAscii.
[in] lpASCIICharStr
Pointeur vers une chaîne représentant l’encodage Punycode d’un IDN ou d’une autre étiquette internationalisée. Cette chaîne doit se composer uniquement de caractères ASCII et peut inclure des caractères Unicode encodés en Punycode. La fonction décode les valeurs Punycode en valeurs UTF-16.
[in] cchASCIIChar
Nombre de caractères dans la chaîne d’entrée indiquée par lpASCIICharStr.
[out, optional] lpUnicodeCharStr
Pointeur vers une mémoire tampon qui reçoit un encodage Unicode UTF-16 normal équivalent à la valeur Punycode de la chaîne d’entrée. La fonction peut également récupérer null pour ce paramètre, si cchUnicodeChar a la valeur 0. Dans ce cas, la fonction retourne la taille requise pour cette mémoire tampon.
[in] cchUnicodeChar
Taille, en caractères, de la mémoire tampon indiquée par lpUnicodeCharStr. L’application peut définir la taille sur 0 pour récupérer NULL dans lpUnicodeCharStr et faire en effet que la fonction retourne la taille de mémoire tampon requise.
Valeur retournée
Retourne le nombre de caractères récupérés dans lpUnicodeCharStr en cas de réussite. La chaîne récupérée est terminée par null uniquement si la chaîne d’entrée est terminée par null.
Si la fonction réussit et que la valeur de cchUnicodeChar est 0, la fonction retourne la taille requise, en caractères incluant un caractère null de fin s’il faisait partie de la mémoire tampon d’entrée.
La fonction retourne 0 si elle ne réussit pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :
- ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas suffisamment grande ou a été incorrectement définie sur NULL.
- ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
- ERROR_INVALID_NAME. Un nom non valide a été fourni à la fonction. Notez que ce code d’erreur intercepte toutes les erreurs de syntaxe.
- ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.
- ERROR_NO_UNICODE_TRANSLATION. Unicode non valide a été trouvé dans une chaîne.
Remarques
Consultez les remarques relatives à IdnToAscii.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winnls.h (inclure Windows.h) |
Bibliothèque | Normaliz.lib |
DLL | Normaliz.dll |
Composant redistribuable | API d’atténuation des noms de domaine internationalisés (IDN) Microsoft surWindows XP avec SP2 et versions ultérieures, ouWindows Server 2003 avec SP1 |
Voir aussi
Gestion des noms de domaine internationalisés (IDN)