Fonction RtlStringCbLengthW (ntstrsafe.h)
Les fonctions RtlStringCbLengthW et RtlStringCbLengthA déterminent la longueur, en octets, d’une chaîne fournie.
Syntaxe
NTSTRSAFEDDI RtlStringCbLengthW(
[in] STRSAFE_PCNZWCH psz,
[in] size_t cbMax,
size_t *pcbLength
);
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] cbMax
Nombre maximal d’octets autorisés dans la mémoire tampon pointée par psz, y compris le caractère null de fin.
Pour les chaînes Unicode, le nombre maximal d’octets est NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
Pour les chaînes ANSI, le nombre maximal d’octets est NTSTRSAFE_MAX_CCH * sizeof(char).
pcbLength
Si l’appelant fournit un pointeur d’adresse NULL nonNULL, la fonction charge l’adresse avec la longueur, en octets, 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 de retour
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 des valeurs NTSTATUS, consultez Using NTSTATUS Values.
Retourner le code | Description |
---|---|
|
Cette 'état de réussite signifie que la chaîne à psz n’a pas été NULL et que la longueur de la chaîne (y compris le caractère null de fin) est inférieure ou égale à caractères cbMax. |
|
Cette erreur 'état signifie que la valeur dans psz est NULL, cbMax est supérieure à NTSTRSAFE_MAX_CCH * sizeof(TCHAR), ou psz est plus long que cbMax. |
Remarques
RtlStringCbLengthW et RtlStringCbLengthA doivent être utilisés au lieu de strlen. Utilisez ces fonctions pour vous assurer qu’une chaîne n’est pas supérieure à une longueur donnée, en octets. Si cette condition est remplie, RtlStringCbLengthW et RtlStringCbLengthA retourner la longueur actuelle de la chaîne en octets, sans inclure ces octets utilisés pour la fin du caractère null.
Utilisez RtlStringCbLengthW pour gérer les chaînes Unicode et RtlStringCbLengthA 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 de chaîne | Littéral de chaîne | Fonction |
---|---|---|
WCHAR | L"string » | RtlStringCbLengthW |
char | « string » | RtlStringCbLengthA |
Pour plus d’informations sur les fonctions de chaîne sécurisée, consultez Using Safe String Functions.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows XP avec Service Pack 1 (SP1) et versions ultérieures de Windows. |
plateforme cible | Bureau |
d’en-tête | ntstrsafe.h (include Ntstrsafe.h) |
bibliothèque | Ntstrsafe.lib |
IRQL | Si les chaînes manipulées résident toujours en mémoire, sinon PASSIVE_LEVEL |