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 |
---|---|
|
La chaîne a été convertie en Unicode. |
|
Un caractère d’entrée non valide a été rencontré et remplacé. Cette status est considérée comme un succès status. |
|
Les deux pointeurs vers UnicodeStringDestination et UnicodeStringActualByteCount étaient NULL. |
|
UTF8StringSource était NULL. |
|
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 |
|
DLL |
|
Voir aussi