RtlOemToUnicodeN, fonction (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 par l’appelant qui reçoit la chaîne traduite.

[in] MaxBytesInUnicodeString

Nombre maximal d’octets à écrire dans 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 code actuelle décrit un jeu de caractères à octet unique, ce pointeur peut être la même adresse que UnicodeString.

[in] BytesInOemString

Longueur, en octets, de la chaîne sur OemString.

Valeur de retour

RtlOemToUnicodeN retourne STATUS_SUCCESS si la chaîne complète sur OemString a été traduite avec succès et retournée à UnicodeString. Sinon, il peut retourner STATUS_BUFFER_OVERFLOW si la chaîne de destination doit être tronquée pour ajuster maxBytesInUnicodeString donné. STATUS_BUFFER_OVERFLOW est une valeur NTSTATUS d’avertissement.

Remarques

RtlOemToUnicodeN prend uniquement en charge les caractères Unicode précomposés 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 à 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 de caractère 0x5c dans une telle page de code est traduite dans la barre oblique inverse, même si la page de code actuelle définit ce caractère comme signe Yen.

Pour la valeur de retour STATUS_SUCCESS, la valeur d’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 les autres routines de gestion des chaînes, consultez Routines de bibliothèque d’exécution (RTL).

Configuration requise

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

Voir aussi

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeStringString

RtlUnicodeToOemN