Fonction IdnToNameprepUnicode (winnls.h)

Convertit un nom de domaine internationalisé (IDN) ou une autre étiquette internationalisée au format NamePrep spécifié par le groupe de travail réseau RFC 3491, mais n’effectue pas la conversion supplémentaire en Punycode. Pour plus d’informations et des liens vers des projets de normes connexes, consultez Gestion des noms de domaine internationalisés (IDN).

Syntaxe

int IdnToNameprepUnicode(
  [in]            DWORD   dwFlags,
  [in]            LPCWSTR lpUnicodeCharStr,
  [in]            int     cchUnicodeChar,
  [out, optional] LPWSTR  lpNameprepCharStr,
  [in]            int     cchNameprepChar
);

Paramètres

[in] dwFlags

Indicateurs spécifiant les options de conversion. Pour obtenir des définitions détaillées, consultez le paramètre dwFlagsd’IdnToAscii.

[in] lpUnicodeCharStr

Pointeur vers une chaîne Unicode représentant un IDN ou une autre étiquette internationalisée.

[in] cchUnicodeChar

Nombre de caractères Unicode dans la chaîne Unicode d’entrée indiquée par lpUnicodeCharStr.

[out, optional] lpNameprepCharStr

Pointeur vers une mémoire tampon qui reçoit une version de la chaîne Unicode d’entrée convertie via le traitement NamePrep. La fonction peut également récupérer null pour ce paramètre, si cchNameprepChar a la valeur 0. Dans ce cas, la fonction retourne la taille requise pour cette mémoire tampon.

[in] cchNameprepChar

Taille, en caractères, de la mémoire tampon indiquée par lpNameprepCharStr. L’application peut définir la taille sur 0 pour récupérer NULL dans lpNameprepCharStr 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 lpNameprepCharStr en cas de réussite. La chaîne récupérée est terminée par null uniquement si la chaîne Unicode d’entrée est terminée par null.

Si la fonction réussit et que la valeur de cchNameprepChar 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 assez grande ou elle 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 Remarques relatives à IdnToAscii.

Exemples

NLS : Exemple de conversion de nom de domaine international (IDN) illustre l’utilisation de cette fonction.

Configuration requise

   
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)

IdnToAscii

IdnToUnicode

Prise en charge des langues nationales

Fonctions de prise en charge des langues nationales