Fonction RtlStringCchLengthW (ntstrsafe.h)
Les fonctions RtlStringCchLengthW et RtlStringCchLengthA déterminent la longueur, en caractères, d’une chaîne fournie.
Syntaxe
NTSTRSAFEDDI RtlStringCchLengthW(
[in] STRSAFE_PCNZWCH psz,
[in] size_t cchMax,
size_t *pcchLength
);
Paramètres
[in] psz
Pointeur vers une mémoire tampon qui contient une chaîne terminée par null, dont la longueur sera vérifiée.
[in] cchMax
Nombre maximal de caractères autorisés dans la mémoire tampon pointée par psz, y compris le caractère null de fin. Cette valeur ne peut pas dépasser NTSTRSAFE_MAX_CCH.
pcchLength
Si l’appelant fournit un pointeur d’adresse non NULL , la fonction charge l’adresse avec la longueur, en caractères, de la chaîne contenue dans la mémoire tampon. La longueur n’inclut pas le caractère null de fin de la chaîne.
Valeur retournée
La fonction retourne l’une des valeurs NTSTATUS répertoriées dans le tableau suivant. Pour plus d’informations sur la façon de tester les valeurs NTSTATUS, consultez Utilisation de valeurs NTSTATUS.
Code de retour | Description |
---|---|
|
Cette status de réussite signifie que la chaîne à psz n’était pas NULL et que la longueur de la chaîne (y compris le caractère null de fin) est inférieure ou égale à cchMax caractères. |
|
Cette erreur status signifie que la valeur dans psz est NULL, que cchMax est supérieur à NTSTRSAFE_MAX_CCH ou que psz est plus long que cchMax. |
Remarques
RtlStringCchLengthW et RtlStringCchLengthA doivent être utilisés à la place de strlen. Ils sont utilisés pour garantir qu’une chaîne n’est pas supérieure à une longueur donnée, en caractères. Si cette condition est remplie, RtlStringCchLengthW et RtlStringCchLengthA retournent la longueur actuelle de la chaîne en caractères, sans inclure le caractère null de fin.
Utilisez RtlStringCchLengthW pour gérer les chaînes Unicode et RtlStringCchLengthA pour gérer les chaînes ANSI. Le formulaire que vous utilisez dépend de vos données, comme indiqué dans le tableau suivant.
Type de données String | Littéral de chaîne | Fonction |
---|---|---|
WCHAR | L"string » | RtlStringCchLengthW |
char | "chaîne" | RtlStringCchLengthA |
Pour plus d’informations sur les fonctions de chaîne sécurisée, consultez Utilisation de fonctions de chaîne sécurisée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows XP avec Service Pack 1 (SP1) et versions ultérieures de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ntstrsafe.h (include Ntstrsafe.h) |
Bibliothèque | Ntstrsafe.lib |
IRQL | Toutes les chaînes si manipulées résident toujours en mémoire, sinon PASSIVE_LEVEL |