Partager via


Fonction RtlUnicodeStringValidateEx (ntstrsafe.h)

La fonction RtlUnicodeStringValidateEx valide le contenu d’une structure UNICODE_STRING .

Syntaxe

NTSTRSAFEDDI RtlUnicodeStringValidateEx(
  [in] PCUNICODE_STRING SourceString,
  [in] DWORD            dwFlags
);

Paramètres

[in] SourceString

Facultatif. Pointeur vers une structure UNICODE_STRING à valider. Ce pointeur peut être NULL, mais uniquement si STRSAFE_IGNORE_NULLS est défini dans dwFlags.

[in] dwFlags

L’indicateur suivant est défini :

STRSAFE_IGNORE_NULLS

Si cet indicateur est défini, le pointeur source peut être NULL. RtlUnicodeStringValidateEx traite les pointeurs de mémoire tampon source NULL comme des chaînes vides (TEXT(«  »)).

Valeur retournée

RtlUnicodeStringValidateEx retourne l’une des valeurs NTSTATUS suivantes.

Code de retour Description
STATUS_SUCCESS
Cette réussite status signifie que la fonction s’est terminée avec succès.
STATUS_INVALID_PARAMETER
Cette erreur status signifie que la fonction a reçu un paramètre d’entrée non valide. Pour plus d’informations, consultez la liste suivante.
 

Si STRSAFE_IGNORE_NULLS n’est pas défini dans dwFlags, RtlUnicodeStringValidateEx retourne la valeur STATUS_INVALID_PARAMETER lorsque l’un des éléments suivants se produit :

  • SourceString->Length % sizeof(WCHAR) n’est pas égal à zéro.
  • SourceString->MaximumLength % sizeof(WCHAR) n’est pas égal à zéro.
  • SourceString->La longueur est supérieure à SourceString->MaximumLength.
  • SourceString->MaximumLength est supérieur à NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
  • SourceString->Buffer est égal à NULL , mais SourceString->Length ou SourceString->MaximumLength n’est pas égal à zéro.
  • Un indicateur non valide est spécifié pour dwFlags.
Pour plus d’informations sur la façon de tester les valeurs NTSTATUS, consultez Utilisation de valeurs NTSTATUS.

Remarques

Le pointeur SourceString ne peut pas être NULL , sauf si l’indicateur STRSAFE_IGNORE_NULLS est défini.

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

Voir aussi

RtlUnicodeStringValidate

UNICODE_STRING