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 (Unicode Transformation Format) 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 [out]

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

UnicodeStringMaxByteCount [in]

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

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 ê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 dans UTF8StringSource.

Valeur retournée

RtlUTF8ToUnicodeN retourne l’une des valeurs NTSTATUS suivantes :

Code de retour Description
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é. Cette status est considérée comme un succès status.
STATUS_INVALID_PARAMETER
Les deux pointeurs vers UnicodeStringDestination et UnicodeStringActualByteCount étaient NULL.
STATUS_INVALID_PARAMETER_4
UTF8StringSource était NULL.
STATUS_BUFFER_TOO_SMALL
UnicodeStringDestination a été tronqué.

 

Notes

Bien que UnicodeStringActualByteCount soit facultatif et puisse 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 STATUS_BUFFER_TOO_SMALL erreur.

Si UnicodeStringDestination est défini sur NULL , la fonction retourne le nombre d’octets requis 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 être en cours d’exécution sur irQL < DISPATCH_LEVEL.

Spécifications

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

Voir aussi

RtlUnicodeToUTF8N