Partager via


Fonction RtlUTF8ToUnicodeN

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

Syntaxe

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

Paramètres

UnicodeStringDestination [out]

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

UnicodeStringMaxByteCount [in]

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

UnicodeStringActualByteCount [out, optional]

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 être NULL. Si la chaîne est tronquée, le nombre retourné compte le nombre réel de chaînes tronquées.

UTF8StringSource [in]

Pointeur vers la chaîne à traduire.

UTF8StringByteCount [in]

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

Valeur retournée

RtlUTF8ToUnicodeN retourne l’une des valeurs NTSTATUS suivantes :

Code de retour Descriptif
STATUS_SUCCESS
La chaîne a été convertie en Unicode.
STATUS_SOME_NOT_MAPPED
Un caractère d’entrée non valide a été rencontré et remplacé. Cet état est considéré comme un état de réussite.
STATUS_INVALID_PARAMETER
Les deux pointeurs vers UnicodeStringDestination et UnicodeStringActualByteCount étaient NULL.
STATUS_INVALID_PARAMETER_4
UTF8StringSource a été NULL.
STATUS_BUFFER_TOO_SMALL
UnicodeStringDestination a été tronqué.

 

Remarques

Bien que UnicodeStringActualByteCount soit facultatif et peut être NULL, les appelants doivent lui fournir un stockage, 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 STATUS_BUFFER_TOO_SMALL’erreur.

Si UnicodeStringDestination est défini sur NULL , la fonction retourne le nombre requis d’octets pour héberger la chaîne traduite sans 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 null.

Les appelants de RtlUTF8ToUnicodeN doivent s’exécuter au DISPATCH_LEVEL IRQL < .

Spécifications

Besoin Valeur
Client minimum pris en charge
Windows 7 [applications de bureau uniquement]
Serveur minimum pris en charge
Windows Server 2008 R2 [applications de bureau uniquement]
En-tête de page
Wdm.h
DLL
Ntdll.dll

Voir aussi

RtlUnicodeToUTF8N