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 |