Fonction IsNLSDefinedString (winnls.h)
Détermine si chaque caractère d’une chaîne a un résultat défini pour une fonctionnalité NLS spécifiée.
Syntaxe
BOOL IsNLSDefinedString(
[in] NLS_FUNCTION Function,
[in] DWORD dwFlags,
[in] LPNLSVERSIONINFO lpVersionInformation,
[in] LPCWSTR lpString,
[in] INT cchStr
);
Paramètres
[in] Function
Fonctionnalité NLS à interroger. Cette valeur doit être COMPARE_STRING. Consultez l’énumération SYSNLS_FUNCTION .
[in] dwFlags
Indicateurs définissant la fonction. Doit être égal à 0.
[in] lpVersionInformation
Pointeur vers une structure NLSVERSIONINFO contenant des informations de version. En règle générale, les informations sont obtenues en appelant GetNLSVersion. L’application définit ce paramètre sur NULL si la fonction doit utiliser la version actuelle.
[in] lpString
Pointeur vers la chaîne UTF-16 à examiner.
[in] cchStr
Nombre de caractères UTF-16 dans la chaîne indiquée par lpString. Ce nombre peut inclure un caractère null de fin. Si le caractère null de fin est inclus dans le nombre de caractères, cela n’affecte pas le comportement de vérification, car le caractère null de fin est toujours défini.
L’application doit fournir -1 pour indiquer que la chaîne est terminée par null. Dans ce cas, la fonction elle-même calcule la longueur de chaîne.
Valeur retournée
Retourne TRUE si elle réussit, uniquement si la chaîne d’entrée est valide, ou FALSE dans le cas contraire. Pour obtenir des informations d’erreur étendues, l’application peut appeler GetLastError, qui peut retourner l’un des codes d’erreur suivants :
- ERROR_INSUFFICIENT_BUFFER. Une taille de mémoire tampon fournie n’était pas assez grande ou elle a été incorrectement définie sur NULL.
- ERROR_INVALID_FLAGS. Les valeurs fournies pour les indicateurs n’étaient pas valides.
- ERROR_INVALID_PARAMETER. L’une des valeurs de paramètre n’était pas valide.
Remarques
Cette fonction fait la différence entre les chaînes définies et non définies, de sorte qu’une application telle qu’Active Directory peut rejeter les chaînes avec des points de code non définis. L’utilisation de la fonction peut réduire la nécessité pour l’application de réindexer sa base de données. Pour plus d’informations, consultez Gestion du tri dans vos applications.
Par exemple, si Function a la valeur COMPARE_STRING, IsNLSDefinedString recherche des points de code non définis, des paires de substitution qui représentent des caractères Unicode non définis ou des paires de substitution mal formées. Si la fonction retourne TRUE pour une chaîne particulière, les résultats, tels que récupérés par CompareString ou LCMapString avec LCMAP_SORTKEY défini, sont garantis identiques tant que la version NLS correspondante ne change pas.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | winnls.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Voir aussi
Prise en charge des langues nationales