Fonction CompareStringWrapW

[CompareStringWrapW est disponible dans Windows XP. Il ne sera pas disponible dans les versions suivantes. Vous devez utiliser CompareStringW à sa place.]

Compare deux chaînes de caractères Unicode à l’aide d’un paramètre régional spécifié.

Notes

CompareStringWrapW est un wrapper pour la fonction CompareStringW . Pour plus d’informations sur l’utilisation, consultez la page CompareString .

 

Syntaxe

int CompareStringWrapW(
  _In_ LCID    Locale,
  _In_ DWORD   dwCmpFlags,
  _In_ LPCWSTR lpString1,
  _In_ int     cchCount1,
  _In_ LPCWSTR lpString2,
  _In_ int     cchCount2
);

Paramètres

Paramètres régionaux [in]

Type : LCID

Identificateur de paramètres régionaux utilisé pour la comparaison. Ce paramètre peut être l’un des identificateurs de paramètres régionaux prédéfinis suivants ou un identificateur de paramètres régionaux créé par la macro MAKELCID .

LOCALE_SYSTEM_DEFAULT

Paramètres régionaux par défaut du système.

LOCALE_USER_DEFAULT

Paramètres régionaux par défaut de l’utilisateur actuel.

dwCmpFlags [in]

Type : DWORD

Indicateurs qui indiquent comment la fonction compare les deux chaînes. Par défaut, ces indicateurs ne sont pas définis. Définissez sur zéro pour obtenir le comportement par défaut ou une combinaison des valeurs suivantes.

NORM_IGNORECASE

Ignorer la casse.

NORM_IGNOREKANATYPE

Ne faites pas de différence entre les caractères Hiragana et Katakana. Les caractères Hiragana et Katakana correspondants sont égaux.

NORM_IGNORENONSPACE

Ignorez les caractères non espacés.

NORM_IGNORESYMBOLS

Ignorez les symboles.

NORM_IGNOREWIDTH

Ne faites pas la différence entre un caractère à un octet et le même caractère qu’un caractère double octet.

SORT_STRINGSORT

Traitez la ponctuation comme des symboles.

lpString1 [in]

Type : LPCWSTR

Pointeur vers la première chaîne Unicode à comparer.

cchCount1 [in]

Type : int

Nombre de caractères dans la chaîne pointée vers le paramètre lpString1 . Le nombre n’inclut pas le caractère null de fin. Si ce paramètre est une valeur négative, la chaîne est supposée être terminée par null et la longueur est calculée automatiquement.

lpString2 [in]

Type : LPCWSTR

Pointeur vers la deuxième chaîne Unicode à comparer.

cchCount2 [in]

Type : int

Nombre de caractères dans la chaîne pointée vers le paramètre lpString2 . Le nombre n’inclut pas le caractère null de fin. Si ce paramètre est une valeur négative, la chaîne est supposée être terminée par null et la longueur est calculée automatiquement.

Valeur retournée

Type : int

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. GetLastError peut retourner l’un des codes d’erreur suivants.

  • ERROR_INVALID_FLAGS
  • ERROR_INVALID_PARAMETER

Si la fonction réussit, la valeur de retour est l’une des valeurs suivantes.

Condition requise Valeur
CSTR_LESS_THAN La chaîne pointée par le paramètre lpString1 est moins en valeur lexicale que la chaîne pointée par le paramètre lpString2 .
CSTR_EQUAL La chaîne pointée par lpString1 est égale en valeur lexicale à la chaîne pointée par lpString2.
CSTR_GREATER_THAN La chaîne pointée par lpString1 est plus grande en valeur lexicale que la chaîne pointée par lpString2

 

Notes

Avertissement de sécurité : L’utilisation incorrecte de cette fonction peut compromettre la sécurité de votre application. Les chaînes qui ne sont pas correctement comparées peuvent produire une entrée non valide. Testez les chaînes pour vous assurer qu’elles sont valides avant de les utiliser et fournissez des gestionnaires d’erreurs. Pour plus d’informations, consultez Considérations relatives à la sécurité : fonctionnalités internationales

La méthode recommandée consiste à utiliser CompareStringW conjointement avec microsoft layer for Unicode (MSLU).

CompareStringWrapW doit être appelé directement à partir de Shlwapi.dll, à l’aide de l’ordinal 45.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Aucun
DLL
Shlwapi.dll (version 5.0 ou ultérieure)

Voir aussi

CompareString