RtlUTF8ToUnicodeN fonction)

Convertit la chaîne source spécifiée en chaîne Unicode, à l’aide de la page de codes UTF-8 (Unicode Transformation Format) de 8 bits.

Syntaxe

NTSTATUS WINAPI RtlUTF8ToUnicodeN(
  _Out_     PWSTR  UnicodeStringDestination,
  _In_      ULONG  UnicodeStringMaxByteCount,
  _Out_opt_ PULONG UnicodeStringActualByteCount,
  _In_      PCCH   UTF8StringSource,
  _In_      ULONG  UTF8StringByteCount
);

Paramètres

UnicodeStringDestination [ à]

Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit la chaîne traduite.

UnicodeStringMaxByteCount [ dans]

Nombre maximal d’octets à écrire dans UnicodeStringDestination. Si cette valeur provoque la troncation de la chaîne traduite, RtlUTF8ToUnicodeN retourne un état d’erreur.

UnicodeStringActualByteCount [ out, facultatif]

Pointeur vers une variable allouée par l’appelant qui reçoit la longueur, en octets, de la chaîne traduite. Ce paramètre est facultatif et peut avoir la valeur null. Si la chaîne est tronquée, le nombre retourné compte le nombre de chaînes tronquées réel.

UTF8StringSource [ dans]

Pointeur vers la chaîne à traduire.

UTF8StringByteCount [ dans]

Taille, en octets, de la chaîne sur UTF8StringSource.

Valeur retournée

RtlUTF8ToUnicodeN retourne l’une des valeurs NTSTATUS suivantes :

Code de retour Description
État de _ réussite
La chaîne a été convertie en Unicode.
ÉTAT _ _ non _ mappé
Un caractère d’entrée non valide a été rencontré et remplacé. Cet État est considéré comme un état de réussite.
paramètre d’état _ non valide _
Les deux pointeurs vers UnicodeStringDestination et UnicodeStringActualByteCount étaient null.
Paramètre d’état _ non valide _ _ 4
UTF8StringSource a la valeur null.
_mémoire tampon d’état _ trop _ petite
UnicodeStringDestination a été tronqué.

Remarques

Bien que UnicodeStringActualByteCount soit facultatif et peut avoir la valeur null, les appelants doivent fournir un stockage pour celui-ci, car la longueur reçue peut être utilisée pour déterminer si la conversion a réussi.

Si la sortie est tronquée et qu’un caractère d’entrée non valide est rencontré, la fonction retourne une _ erreur de mémoire tampon d’état _ insuffisante _ .

Si UnicodeStringDestination a la valeur null , la fonction retourne le nombre d’octets requis pour héberger la chaîne traduite sans aucune troncation dans UnicodeStringActualByteCount.

RtlUTF8ToUnicodeN ne modifie pas la chaîne source, sauf si les pointeurs UnicodeStringDestination et UTF8StringSource sont équivalents. La chaîne Unicode retournée n’est pas terminée par un caractère null.

Les appelants de RtlUTF8ToUnicodeN doivent être exécutés au niveau IRQL < Dispatch _ .

Configuration requise

Condition requise Valeur
Client minimal pris en charge
applications de [ bureau Windows 7 uniquement]
Serveur minimal pris en charge
Windows Serveur 2008 R2, [ applications de bureau uniquement]
En-tête
WDM. h
DLL
Ntdll.dll

Voir aussi

RtlUnicodeToUTF8N