Fonction DownlevelVerifyScripts

Compare deux listes énumérées de scripts.

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 VerifyScripts.

 

Syntaxe

BOOL DownlevelVerifyScripts(
  _In_ DWORD   dwFlags,
  _In_ LPCWSTR lpLocaleScripts,
  _In_ int     cchLocaleScripts,
  _In_ LPCWSTR lpTestScripts,
  _In_ int     cchTestScripts
);

Paramètres

dwFlags [in]

Indicateurs spécifiant les options de vérification de script.

Valeur Signification
VS_ALLOW_LATIN
Autorise « Latn » (script latin) dans la liste de tests, même s’il n’est pas dans la liste des paramètres régionaux.

 

lpLocaleScripts [in]

Pointeur vers la liste des paramètres régionaux, liste énumérée de scripts pour un paramètre régional donné. Cette liste est généralement remplie en appelant DownlevelGetLocaleScripts.

cchLocaleScripts [in]

Taille, en caractères, de la chaîne indiquée par lpLocaleScripts. L’application définit ce paramètre sur -1 si la chaîne est terminée par Null. Si ce paramètre est défini sur 0, la fonction échoue.

lpTestScripts [in]

Pointeur vers la liste de tests, deuxième liste énumérée de scripts. Cette liste est généralement remplie en appelant DownlevelGetStringScripts.

cchTestScripts [in]

Taille, en caractères, de la chaîne indiquée par lpTestScripts. L’application définit ce paramètre sur -1 si la chaîne est terminée par Null. Si ce paramètre est défini sur 0, la fonction échoue.

Valeur retournée

Retourne TRUE si la liste de tests n’est pas vide et que tous les éléments de la liste sont également inclus dans la liste des paramètres régionaux. Sinon, la fonction retourne FALSE.

Une valeur de retour de FALSE peut indiquer que la liste de tests contient un élément qui n’est pas dans la liste des paramètres régionaux, ou qu’une erreur s’est produite. Pour distinguer ces deux cas, l’application peut appeler GetLastError. Si DownlevelVerifyScripts a correctement déterminé qu’il existe un élément dans la liste de tests qui n’est pas dans la liste des paramètres régionaux, GetLastError retourne ERROR_SUCCESS. Sinon, GetLastError peut retourner l’un des codes d’erreur suivants :

  • ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
  • ERROR_INVALID_PARAMETER. Toutes les valeurs de paramètre n’étaient pas valides.

Notes

Cette fonction compare les chaînes, telles que « Latn;Cyrl; », qui se compose d’une série de noms de script de 4 caractères, où chaque nom de script est suivi d’un point-virgule. Il a également un cas spécial pour tenir compte du fait que le script latin est souvent utilisé dans les langues et les paramètres régionaux pour lesquels il n’est pas natif.

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 des exemples de retour de cette fonction et d’un appel ultérieur à GetLastError dans différents scénarios. Les deux derniers exemples illustrent, respectivement, un cas dans lequel la liste de tests n’a pas de point-virgule de fin (chaîne incorrecte) et un cas dans lequel la liste de tests est vide.

Chaîne « Paramètres régionaux » Chaîne « test » dwFlags Valeur retournée Valeur retournée par GetLastError
Hani;Hira;Kana; Hani; S/O VRAI S/O
Hani;Hira;Kana; Hani;Latn; 0 FAUX ERROR_SUCCESS
Hani;Hira;Kana; Hani;Latn; VS_ALLOW_LATIN VRAI S/O
Hani;Hira;Kana; Cyrl; S/O FAUX ERROR_SUCCESS
Hani;Hira;Kana; Cyrl; S/O FAUX ERROR_INVALID_PARAMETER
Hani;Hira;Kana; S/O FAUX ERROR_SUCCESS

 

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 de nom de domaine international (IDN) Microsoft sur Windows XP avec SP2, Windows Server 2003 avec SP1 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)

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts