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 pointant vers 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 non NULL , 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 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
STATUS_SUCCESS
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 à des caractères cbMax.
STATUS_INVALID_PARAMETER
Cette erreur status signifie que la valeur dans psz est NULL, que cbMax est supérieur à NTSTRSAFE_MAX_CCH * sizeof(TCHAR), ou que psz est plus long que cbMax.

Remarques

RtlStringCbLengthW et RtlStringCbLengthA doivent être utilisés à la place 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 retournent la longueur actuelle de la chaîne en octets, sans compter les octets utilisés pour le caractère null de fin.

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 String Littéral de chaîne Fonction
WCHAR L"string » RtlStringCbLengthW
char "chaîne" RtlStringCbLengthA
 

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 PASSIVE_LEVEL

Voir aussi

RtlStringCchLength