DownlevelGetStringScripts fonction)
Fournit la liste des scripts utilisés dans la chaîne Unicode spécifiée.
Notes
cette fonction est utilisée uniquement par les applications qui s’exécutent sur des systèmes d’exploitation antérieurs à Windows Vista. Son utilisation requiert le package de téléchargement. les Applications qui s’exécutent uniquement sur Windows Vista et versions ultérieures doivent appeler GetStringScripts.
Syntaxe
int DownlevelGetStringScripts(
_In_ DWORD dwFlags,
_In_ LPCWSTR lpString,
_In_ int cchString,
_Out_ LPWSTR lpScripts,
_In_ int cchScripts
);
Paramètres
-
dwFlags [ dans]
-
Indicateurs spécifiant des options pour la récupération de script.
Valeur Signification - GSS _ autoriser l' _ héritage _ commun
Récupérez les informations de script « Qaii » (hérité) et « ZYYY » (communes). Cette valeur n’affecte pas le traitement des caractères non assignés. Ces caractères dans la chaîne d’entrée provoquent toujours l’affichage d’un « zzzz » (script non assigné) dans la chaîne de script. Notes
Par défaut, cette fonction ignore les caractères hérités ou communs dans la chaîne Unicode d’entrée. Si GSS _ allow _ _ Common Common n’est pas défini, « Qaii » et « ZYYY » ne s’affichent pas dans la chaîne de script, même si la chaîne d’entrée contient des caractères de ce type. Si GSS _ autorise _ _ l’héritage commun est défini et si la chaîne d’entrée contient des caractères hérités et/ou communs, « Qaii » et/ou « ZYYY » apparaissent dans la chaîne de script. Consultez la section Notes.
-
lpString [ dans]
-
Pointeur vers la chaîne Unicode à analyser.
-
cchString [ dans]
-
Taille, en caractères, de la chaîne Unicode indiquée par lpString. L’application affecte à ce paramètre la valeur-1 si la chaîne se termine par un caractère null. Si l’application définit ce paramètre sur 0, la fonction récupère une chaîne Unicode null (L " \ 0") dans lpScripts et retourne 1.
-
lpScripts [ à]
-
Pointeur vers une mémoire tampon dans laquelle cette fonction récupère une chaîne se terminant par un caractère null qui représente une liste de scripts, à l’aide de la notation à 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 dans l’ordre alphabétique. Chaque nom, y compris le dernier, est suivi d’un point-virgule.
Ce paramètre peut également contenir la valeur null si cchScripts a la valeur 0. Dans ce cas, la fonction retourne la taille requise pour la mémoire tampon de script.
-
cchScripts [ dans]
-
Taille, en caractères, de la mémoire tampon de script indiquée par lpScripts.
L’application peut également affecter la valeur 0 à ce paramètre. Dans ce cas, la fonction récupère la valeur null dans lpScripts et retourne la taille requise pour la mémoire tampon de script.
Valeur de retour
Retourne le nombre de caractères récupérés dans la mémoire tampon de sortie, y compris un caractère null de fin, en cas de réussite et cchScripts est défini sur une valeur différente de zéro. La fonction retourne 1 pour indiquer qu’aucun script n’a été trouvé, par exemple, quand la chaîne d’entrée contient uniquement des caractères communs ou HÉRITÉs et que GSS _ allow _ _ Common Common n’est pas défini. Étant donné que chaque script trouvé ajoute cinq caractères (quatre caractères + délimiteur), une opération mathématique simple fournit le nombre de scripts sous la forme ( _ Code de retour-1)/5.
Si la fonction est réussie 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 de script. Le nombre de scripts est décrit ci-dessus.
La fonction retourne 0 si elle ne fonctionne pas. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :
- ERREUR _ BADDB. La fonction n’a pas pu accéder aux données. Cette situation ne doit normalement pas se produire, et indique généralement une installation incorrecte, un problème de disque ou similaire.
- ERREUR _ de _ mémoire tampon insuffisante. La taille de la mémoire tampon fournie n’est pas assez grande ou n’a pas été correctement définie sur null.
- ERREUR _ : indicateurs non valides _ . Les valeurs fournies pour les indicateurs ne sont pas valides.
- ERREUR _ _ : paramètre non valide. Les valeurs de paramètre ne sont pas valides.
Notes
Cette fonction est utile dans le cadre d’une stratégie visant à atténuer les problèmes de sécurité liés aux noms de domaine internationaux (IDNs).
La détermination du script est basée sur les valeurs de script publiées par le consortium Unicode dans https://www.unicode.org/Public/4.1.0/ucd/Scripts.txt , sauf que les caractères non assignés ont la valeur « zzzz » (non assigné) au lieu de « ZYYY » (commun).
Voici quelques exemples du comportement de cette fonction :
Chaîne d’entrée
dwFlags
lpScripts
scripts ;
Microsoft.com
0
LATN
Latin
Microsoft.com
GSS _ autoriser l' _ héritage _ commun
LATN Zyyy;
Latin + courant
$ {ROWSPAN2} $Ni ÑO $ {REMOVE} $
004E 0069 0241 006F
$ {ROWSPAN2} $GSS _ autoriser l' _ héritage _ $ {Remove} $
$ {ROWSPAN2} $Latn ; $ {REMOVE} $
$ {ROWSPAN2} $Latin $ {REMOVE} $
Utilise la lettre minuscule latine N avec TILDE
$ {ROWSPAN2} $Ni ÑO $ {REMOVE} $
004E 0069 006E 0303 006F
$ {ROWSPAN2} $GSS _ autoriser l' _ héritage _ $ {Remove} $
$Latn $ {ROWSPAN2}; Qaii ; $ {REMOVE} $
$ {ROWSPAN2} $Latin + + hérité $ {REMOVE} $
Utilise la combinaison TILDE
$ {ROWSPAN2} $Sp ооf $ {REMOVE} $
0053 0070 043e 043e 0066
$ {ROWSPAN2} $0 $ {REMOVE} $
$Latn $ {ROWSPAN2}; Cyrl ; $ {REMOVE} $
$ {ROWSPAN2} $Latin + cyrillique $ {REMOVE} $
Utilise la lettre minuscule cyrillique O
U + F000
0
Zzzz
Non affecté
U + F000
GSS _ autoriser l' _ héritage _ commun
Zzzz
Non affecté
Le fichier d’en-tête et la DLL requis font partie du téléchargement des API d’atténuation de l' IDN (Internationalized Domain Name) de Microsoft , disponible dans le Centre de téléchargement MSDN.
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows [Applications de bureau XP uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2003 [ applications de bureau uniquement] |
| Composant redistribuable |
api d’atténuation des IDN (internationalized domain Name) Microsoft sur Windows XP (SP2 ou version ultérieure), Windows Server 2003 (SP1 ou version ultérieure) ou Windows Vista |
| En-tête |
|
| DLL |
|