Partager via


RtlUnicodeToMultiByteN, fonction (ntifs.h)

La routine RtlUnicodeToMultiByteN traduit la chaîne Unicode spécifiée en nouvelle chaîne de caractères, à l’aide de la page de codes ANSI (ACP) système actuelle. La chaîne traduite ne provient pas nécessairement d’un jeu de caractères multioctets.

Syntaxe

NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
  [out]           PCHAR  MultiByteString,
  [in]            ULONG  MaxBytesInMultiByteString,
  [out, optional] PULONG BytesInMultiByteString,
  [in]            PCWCH  UnicodeString,
  [in]            ULONG  BytesInUnicodeString
);

Paramètres

[out] MultiByteString

Pointeur vers une mémoire tampon allouée par l’appelant pour recevoir la chaîne traduite. mémoire tampon MultiByteString ne doit pas chevaucher mémoire tampon UnicodeString .

[in] MaxBytesInMultiByteString

Nombre maximal d’octets à écrire dans multiocteString. Si cette valeur entraîne la troncation de la chaîne traduite, RtlUnicodeToMultiByteN ne retourne pas d’état d’erreur.

[out, optional] BytesInMultiByteString

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.

[in] UnicodeString

Pointeur vers la chaîne source Unicode à traduire.

[in] BytesInUnicodeString

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

Valeur de retour

RtlUnicodeToMultiByteN retourne STATUS_SUCCESS.

Remarques

RtlUnicodeToMultiByteN traduit la chaîne Unicode donnée à l’aide de la page de codes ANSI système actuelle installée au démarrage du système.

Bien que BytesInMultiByteString soit facultative et qu’elle 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.

Cette routine ne modifie pas la chaîne source. Elle retourne une chaîne multioctet terminée par null si l'BytesInUnicodeString donné inclus un terminateur NULL et si le MaxBytesInMultiByteString donné n’a pas généré de troncation.

Comme RtlUnicodeToMultiByteSize, RtlUnicodeToMultiByteN prend en charge uniquement les caractères Unicode précomposés mappés à la page de codes ANSI système actuelle installée au démarrage du système.

Pour plus d’informations sur les autres routines de gestion des chaînes, consultez Run-Time Routines de bibliothèque (RTL).

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntifs.h (include Fltkernel.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Voir aussi

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN