Fonction DownlevelGetLocaleScripts

Fournit la liste des scripts pour les paramètres régionaux spécifiés.

Remarque

Cette fonction est utilisée uniquement par les applications qui s’exécutent sur des systèmes d’exploitation pré-Windows Vista. Son utilisation nécessite le package de téléchargement. Les applications qui s’exécutent uniquement sur Windows Vista et versions ultérieures doivent appeler GetLocaleInfo avec LCType défini sur LOCALE_SSCRIPTS.

 

Syntaxe

int DownlevelGetLocaleScripts(
  _In_  LPCWSTR lpLocaleName,
  _Out_ LPWSTR  lpScripts,
  _In_  int     cchScripts
);

Paramètres

lpLocaleName [in]

Pointeur vers un nom de paramètres régionaux terminé par Null.

lpScripts [out]

Pointeur vers une mémoire tampon dans laquelle cette fonction récupère une chaîne terminée par Null représentant une liste de scripts, à l’aide de la notation de 4 caractères utilisée dans ISO 15924. Chaque nom de script se compose de quatre caractères latins et les noms sont récupérés par ordre alphabétique. Chacun d’entre eux, y compris le dernier, est suivi d’un point-virgule.

Ce paramètre peut également contenir NULL si cchScripts a la valeur 0. Dans ce cas, la fonction retourne la taille requise pour la mémoire tampon de script.

cchScripts [in]

Taille, en caractères, pour la mémoire tampon de script indiquée par lpScripts.

L’application peut également définir ce paramètre sur 0. Dans ce cas, la fonction récupère NULL dans lpScripts et retourne la taille requise pour la mémoire tampon de script.

Valeur retournée

Retourne le nombre de caractères récupérés dans la mémoire tampon de script, y compris le caractère Null de fin. Si la fonction réussit et que la valeur de cchScripts est 0, la valeur de retour est la taille requise, en caractères incluant un caractère Null de fin, pour la mémoire tampon du script.

Cette 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_BADDB. La fonction n’a pas pu accéder aux données. Cette situation ne doit pas se produire normalement et indique généralement une installation incorrecte, un problème de disque, etc.
  • ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas suffisamment grande, ou elle était incorrectement définie sur NULL.
  • ERROR_INVALID_PARAMETER. Toutes les valeurs de paramètre n’étaient pas valides.

Notes

Cette fonction est utile dans le cadre d’une stratégie pour atténuer les problèmes de sécurité liés aux noms de domaine internationaux (IDN).

Voici quelques exemples d’entrées et de sorties pour cette fonction, en supposant une taille de mémoire tampon suffisante :

Paramètres régionaux lpLocaleName lpScripts
Anglais (États-Unis) fr-FR Latn;
Hindi (Inde) hi-IN Deva;
Japonais (Japon) ja-JP Hani;Hira;Kana;

 

La liste ne contient pas le script latin, sauf s’il s’agit d’une partie essentielle du système d’écriture utilisé pour les paramètres régionaux. Toutefois, les caractères latins sont souvent utilisés dans le contexte des paramètres régionaux pour lesquels ils ne sont pas natifs, comme pour un nom d’entreprise étranger. Dans l’exemple ci-dessus pour l’hindi en Inde, le seul script récupéré est « Deva » (pour Devanagari), bien que les caractères latins puissent également apparaître dans du texte hindi. La fonction DownlevelVerifyScripts a un indicateur spécial pour traiter ce cas.

Le fichier d’en-tête et la DLL requis font partie du téléchargement « API d’atténuation de nom de domaine international (IDN) Microsoft » disponible sur archive.org.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
Composant redistribuable
API d’atténuation du nom de domaine international (IDN) Microsoft sur Windows XP (SP2 ou version ultérieure), Windows Server 2003 (SP1 ou version ultérieure) ou Windows Vista
En-tête
Idndl.h
DLL
Idndl.dll

Voir aussi

National Language Support

Fonctions National Language Support

Gestion des noms de domaine internationaux (IDN)

DownlevelGetStringScripts

DownlevelVerifyScripts

GetLocaleInfo