Fonction RtlUnicodeToUTF8N
Convertit la chaîne Unicode spécifiée en nouvelle chaîne de caractères, à l’aide de la page de codes UTF-8 (Unicode Transformation Format) 8 bits.
Syntaxe
NTSTATUS WINAPI RtlUnicodeToUTF8N(
_Out_ PCHAR UTF8StringDestination,
_In_ ULONG UTF8StringMaxByteCount,
_Out_opt_ PULONG UTF8StringActualByteCount,
_In_ PCWSTR UnicodeStringSource,
_In_ ULONG UnicodeStringByteCount
);
Paramètres
-
UTF8StringDestination [out]
-
Pointeur vers une mémoire tampon allouée à l’appelant pour recevoir la chaîne traduite.
-
UTF8StringMaxByteCount [in]
-
Nombre maximal d’octets à écrire dans UTF8StringDestination. Si cette valeur entraîne la troncation de la chaîne traduite, RtlUnicodeToUTF8N renvoie une erreur status.
-
UTF8StringActualByteCount [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.
-
UnicodeStringSource [in]
-
Pointeur vers la chaîne source Unicode à traduire.
-
*UnicodeStringByteCount * [in]
-
Spécifie le nombre d’octets dans la chaîne source Unicode vers laquelle pointe le paramètre UnicodeStringSource .
Valeur retournée
RtlUnicodeToUTF8N retourne l’une des valeurs NTSTATUS suivantes :
Code de retour | Description |
---|---|
|
La chaîne Unicode a été convertie en UTF-8. |
|
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 UTF8StringDestination et UTF8StringActualByteCount étaient NULL. |
|
UnicodeStringSource a la valeur NULL. |
|
UTF8StringDestination a été tronqué. |
Notes
Bien que UTF8StringActualByteCount 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. Cette routine ne modifie pas la chaîne source. Elle retourne une chaîne UTF-8 terminée par une valeur Null si la chaîne UnicodeStringSource donnée incluait un terminateur NULL et si la chaîne UTF8StringMaxByteCount donnée n’a pas causé de troncation.
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 UTF8StringDestination est défini sur NULL , la fonction retourne le nombre d’octets requis pour héberger la chaîne traduite sans troncation dans UTF8StringActualByteCount.
Les appelants de RtlUnicodeToUTF8N doivent être en cours d’exécution au DISPATCH_LEVEL IRQL < .
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