Partager via


Fonction RtlStringCbLengthA (ntstrsafe.h)

Les fonctions RtlStringCbLengthW et RtlStringCbLengthA déterminent la longueur, en octets, d’une chaîne fournie.

Syntaxe

NTSTRSAFEDDI RtlStringCbLengthA(
  [in] STRSAFE_PCNZCH 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
STATUS_SUCCESS
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.
STATUS_INVALID_PARAMETER
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

Voir aussi

RtlStringCchLength