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
Idndl. h
DLL
Idndl.dll

Voir aussi

Prise en charge des langues nationales

Fonctions de prise en charge linguistique nationale

Gestion des noms de domaine internationaux (IDNs)

DownlevelGetLocaleScripts

DownlevelVerifyScripts

GetStringScripts