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 code 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 à l’appelant qui reçoit la chaîne traduite.

[in] MaxBytesInUnicodeString

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

[out, optional] BytesInUnicodeString

Pointeur vers une variable allouée à 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 code 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 dans OemString.

Valeur retournée

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

Remarques

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

Si la page de code système actuelle définit un jeu de caractères sur un octet, tous les caractères d’un octet 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 de caractère 0x5c dans une telle page de code est traduite en caractère barre oblique inverse, même si la page de code active 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 valeur 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 d’autres routines de gestion de chaînes, consultez Routines de la bibliothèque d’exécution (RTL).

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Voir aussi

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN