Partager via


Fonction RtlAnsiStringToUnicodeString (winternl.h)

Convertit la chaîne source ANSI spécifiée en chaîne Unicode.

Syntaxe

NTSTATUS RtlAnsiStringToUnicodeString(
  [in, out] PUNICODE_STRING DestinationString,
  [in]      PCANSI_STRING   SourceString,
  [in]      BOOLEAN         AllocateDestinationString
);

Paramètres

[in, out] DestinationString

Pointeur vers une structure UNICODE_STRING pour contenir la chaîne Unicode convertie. Si AllocateDestinationString a la valeur TRUE, la routine alloue une nouvelle mémoire tampon pour contenir les données de chaîne et met à jour le membre Buffer de DestinationString pour qu’il pointe vers la nouvelle mémoire tampon. Sinon, la routine utilise la mémoire tampon actuellement spécifiée pour contenir la chaîne.

[in] SourceString

Pointeur vers la structure ANSI_STRING qui contient la chaîne ANSI à convertir en Unicode.

[in] AllocateDestinationString

Contrôle l’allocation de l’espace de mémoire tampon pour la chaîne de destination.

TRUE

L’espace de mémoire tampon est alloué à DestinationString. Si la valeur est TRUE, la mémoire tampon doit être libérée à l’aide de RtlFreeUnicodeString.

FALSE

L’espace de mémoire tampon n’est pas alloué à DestinationString.

Valeur retournée

Les différentes valeurs NTSTATUS sont définies dans NTSTATUS. H, qui est distribué avec le DDK Windows.

Code de retour Description
STATUS_SUCCESS
La chaîne ANSI a été convertie en Unicode. En cas d’échec, la routine n’alloue pas de mémoire.

Remarques

La traduction est effectuée en fonction des informations actuelles sur les paramètres régionaux du système.

Si l’appelant définit AllocateDestinationString sur TRUE, la routine remplace le membre Buffer de DestinationString par un pointeur vers la mémoire tampon qu’il alloue. L’ancienne valeur peut être remplacée même lorsque la routine retourne une erreur status code.

Étant donné qu’il n’existe aucune bibliothèque d’importation pour cette fonction, vous devez utiliser GetProcAddress.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winternl.h
Bibliothèque ntdll.lib
DLL ntdll.dll