Función RtlOemToUnicodeN (ntifs.h)

La rutina RtlOemToUnicodeN convierte la cadena de origen especificada en una cadena Unicode mediante la página de códigos oem del sistema actual.

Sintaxis

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

Parámetros

[out] UnicodeString

Puntero a un búfer asignado por el autor de la llamada que recibe la cadena traducida.

[in] MaxBytesInUnicodeString

Número máximo de bytes que se escribirán en UnicodeString. Si este valor hace que la cadena traducida se trunque, RtlOemToUnicodeN no devuelve un estado de error.

[out, optional] BytesInUnicodeString

Puntero a una variable asignada por el autor de la llamada que recibe la longitud, en bytes, de la cadena traducida. Este parámetro puede ser NULL.

[in] OemString

Puntero a la cadena de origen oem que se va a traducir en Unicode. Si la página de códigos actual describe un juego de caracteres de un solo byte, este puntero puede ser la misma dirección que UnicodeString.

[in] BytesInOemString

Longitud, en bytes, de la cadena en OemString.

Valor devuelto

RtlOemToUnicodeN devuelve STATUS_SUCCESS si la cadena completa de OemString se traducía correctamente y devolvía en UnicodeString. De lo contrario, puede devolver STATUS_BUFFER_OVERFLOW si la cadena de destino se debe truncar para ajustarse a maxBytesInUnicodeString determinada. STATUS_BUFFER_OVERFLOW es un valor NTSTATUS de advertencia.

Comentarios

RtlOemToUnicodeN solo admite caracteres Unicode precomponidos que se asignan a la página de códigos OEM del sistema actual instalada en tiempo de arranque del sistema.

Si la página de códigos del sistema actual define un juego de caracteres de un solo byte, todos los caracteres de un solo byte del intervalo 0x00 en 0x7f simplemente se extienden sin cero en la cadena Unicode correspondiente para acelerar la operación de conversión. El valor de carácter 0x5c en dicha página de códigos se traduce en el carácter de barra diagonal inversa, incluso si la página de códigos actual define este carácter como el signo Yen.

Para el valor devuelto STATUS_SUCCESS, el valor de BytesInUnicodeString, si existe, indica la longitud de la cadena Unicode devuelta, en lugar de la clase MaxBytesInUnicodeString especificada.

Esta rutina no modifica la cadena de origen a menos que los punteros UnicodeString y OemString sean equivalentes. La cadena Unicode devuelta está terminada en null si no está truncada.

Para obtener información sobre otras rutinas de control de cadenas, vea Rutinas de la biblioteca en tiempo de ejecución (RTL).

Requisitos

   
Plataforma de destino Universal
Header ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Consulte también

RtlOemStringToCountedUnicodeString

RtlOemStringToUnicodeString

RtlUnicodeToOemN