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 |