RtlUnalignedStringCbLengthW, fonction (ntstrsafe.h)
La fonction RtlUnalignedStringCbLengthW est une version de la fonction RtlStringCbLength qui accepte un pointeur non aligné vers une chaîne de caractères Unicode.
Syntaxe
NTSTRSAFEDDI RtlUnalignedStringCbLengthW(
[in] STRSAFE_PCUNZWCH psz,
[in] size_t cbMax,
[out, optional] size_t *pcbLength
);
Paramètres
[in] psz
Fournit un pointeur vers une mémoire tampon qui contient une chaîne terminée par null dont la longueur RtlUnalignedStringCbLengthW vérifie.
[in] cbMax
Fournit le nombre maximal d’octets autorisés dans la mémoire tampon qui psz pointe vers, y compris le caractère NULL de fin. Cette valeur ne peut pas dépasser NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
[out, optional] pcbLength
Optionnel. Si l’appelant fournit un pointeur d’adresseNULL non NULL, la fonction charge l’adresse avec la longueur, en octets, de la chaîne contenue dans la mémoire tampon vers laquelle psz pointe. La longueur n’inclut pas le caractère NULL de fin de la chaîne.
Valeur de retour
RtlUnalignedStringCbLengthW retourne l’une des valeurs NTSTATUS suivantes.
Retourner le code | Description |
---|---|
|
Cet état réussite signifie que la chaîne que le paramètre psz spécifié n’a pas été NULL et que la longueur de la chaîne (y compris le caractère NULL de fin) était inférieure ou égale à cbMax octets. |
|
Cette erreur 'état signifie que la valeur dans psz est NULL , cbMax est supérieure à NTSTRSAFE_MAX_CCH * sizeof(WCHAR, ou psz est plus long que cbMax. |
Pour plus d’informations sur la façon de tester des valeurs NTSTATUS, consultez Using NTSTATUS Values.
Remarques
La fonction RtlUnalignedStringCbLengthW est disponible pour les architectures de processeur, telles qu’Itanium et x64, qui provoquent des exceptions d’alignement lorsque les logiciels tentent d’accéder à des données non alignées. Sur ces processeurs, vous pouvez utiliser RtlUnalignedStringCbLengthW au lieu de la fonction RtlStringCbLength pour éviter les exceptions d’alignement. (Pour les processeurs qui ne provoquent pas d’exceptions d’alignement, RtlUnalignedStringCbLengthW équivaut à RtlStringCbLength.)
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 |