Partager via


Fonction RtlOemToUnicodeN (ntifs.h)

La routine RtlOemToUnicodeN traduit la chaîne source spécifiée en chaîne Unicode, à l’aide de la page de codes OEM système actuelle.

Syntaxe

NTSYSAPI NTSTATUS RtlOemToUnicodeN(
  [out]           PWCH   UnicodeString,
  [in]            ULONG  MaxBytesInUnicodeString,
  [out, optional] PULONG BytesInUnicodeString,
  [in]            PCCH   OemString,
  [in]            ULONG  BytesInOemString
);

Paramètres

[out] UnicodeString

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

[in] MaxBytesInUnicodeString

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

[out, optional] BytesInUnicodeString

Pointeur vers une variable allouée par l’appelant qui reçoit la longueur, en octets, de la chaîne traduite. Ce paramètre peut être NULL.

[in] OemString

Pointeur vers la chaîne source OEM à traduire en Unicode. Si la page de codes actuelle décrit un jeu de caractères sur un octet, ce pointeur peut être la même adresse que UnicodeString.

[in] BytesInOemString

Longueur, en octets, de la chaîne à oemString.

Valeur de retour

RtlOemToUnicodeN retourne STATUS_SUCCESS si la chaîne complète à OemString a été correctement traduite et retournée au UnicodeString. Sinon, elle peut retourner STATUS_BUFFER_OVERFLOW si la chaîne de destination doit être tronquée pour s’adapter à la MaxBytesInUnicodeString donnée. STATUS_BUFFER_OVERFLOW est une valeur NTSTATUS d’avertissement.

Remarques

RtlOemToUnicodeN prend en charge uniquement les caractères Unicode précomposés mappés à la page de codes OEM système actuelle installée au moment du démarrage du système.

Si la page de codes système actuelle définit un jeu de caractères à octet unique, tous les caractères à octet unique de la plage 0x00 à 0x7f sont simplement étendus zéro dans la chaîne Unicode correspondante pour accélérer l’opération de conversion. La valeur du caractère 0x5c dans une telle page de codes est traduite en barre oblique inverse, même si la page de codes actuelle définit ce caractère comme signe Yen.

Pour la valeur de retour STATUS_SUCCESS, la valeur de BytesInUnicodeString, le cas échéant, indique la longueur de la chaîne Unicode retournée, plutôt que la MaxBytesInUnicodeString donnée.

Cette routine ne modifie pas la chaîne source, sauf si les pointeurs UnicodeString et OemString sont équivalents. La chaîne Unicode retournée est terminée par null si elle n’est pas tronquée.

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 Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Voir aussi

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN