Fonction RtlUnicodeStringInit (ntstrsafe.h)

La fonction RtlUnicodeStringInit initialise une structure UNICODE_STRING .

Syntaxe

NTSTRSAFEDDI RtlUnicodeStringInit(
  [out]          PUNICODE_STRING  DestinationString,
  [in, optional] NTSTRSAFE_PCWSTR pszSrc
);

Paramètres

[out] DestinationString

Pointeur vers une structure UNICODE_STRING à initialiser. Le pointeur pszSrc est copié dans la structure UNICODE_STRING du paramètre DestinationString. Le nombre maximal de caractères dans la chaîne vers laquelle pointe pszSrc est NTSTRSAFE_UNICODE_STRING_MAX_CCH.

[in, optional] pszSrc

facultatif. Pointeur vers une constante de chaîne terminée par null. Ce pointeur de chaîne sera copié vers le membre Buffer de la structure UNICODE_STRING pointée par le paramètre DestinationString . Ce pointeur de chaîne peut être NULL.

Valeur retournée

RtlUnicodeStringInit retourne l’une des valeurs NTSTATUS suivantes.

Code de retour Description
STATUS_SUCCESS
Cette réussite status signifie que les données sources étaient présentes, que la chaîne a été copiée sans troncation et que la mémoire tampon de destination résultante est terminée par un caractère Null.
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.
 

RtlUnicodeStringInit retourne la valeur STATUS_INVALID_PARAMETER lorsque l’une des opérations suivantes se produit :

  • La longueur de la chaîne vers laquelle pointe le paramètre pszSrc est supérieure à NTSTRSAFE_UNICODE_STRING_MAX_CCH caractères.
  • Le pointeur DestinationString est NULL, mais le pointeur pszSrc n’est pas NULL.
Pour plus d’informations sur la façon de tester les valeurs NTSTATUS, consultez Utilisation de valeurs NTSTATUS.

Remarques

La fonction RtlUnicodeStringInit effectue les opérations suivantes :

  • Définit le membre Length de la structure UNICODE_STRING pointée par le paramètre pszSrc sur la longueur, en octets, de la chaîne vers laquelle pointe le paramètre pszSrc .
  • Définit le membre MaximumLength de la structure UNICODE_STRING sur la longueur, en octets, de la chaîne vers laquelle pointe le paramètre pszSrc plus 2 octets.
  • Définit le membre Buffer de la structure UNICODE_STRING sur l’adresse spécifiée par le paramètre pszSrc .
Le pointeur DestinationString ne doit pas être NULL. Si vous devez spécifier des valeurs de pointeur NULLDestinationString , utilisez la fonction RtlUnicodeStringInitEx .

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 à partir de Windows XP avec Service Pack 1 (SP1).
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

RtlUnicodeStringInitEx

UNICODE_STRING