Compartir a través de


Función RtlUnicodeToMultiByteN (ntifs.h)

La rutina RtlUnicodeToMultiByteN convierte la cadena Unicode especificada en una nueva cadena de caracteres mediante la página de códigos ANSI (ACP) del sistema actual. La cadena traducida no es necesariamente de un juego de caracteres multibyte.

Sintaxis

NTSYSAPI NTSTATUS RtlUnicodeToMultiByteN(
  [out]           PCHAR  MultiByteString,
  [in]            ULONG  MaxBytesInMultiByteString,
  [out, optional] PULONG BytesInMultiByteString,
  [in]            PCWCH  UnicodeString,
  [in]            ULONG  BytesInUnicodeString
);

Parámetros

[out] MultiByteString

Puntero a un búfer asignado por el autor de la llamada para recibir la cadena traducida. El búfer MultiByteString no debe superponerse con el búfer UnicodeString.

[in] MaxBytesInMultiByteString

Número máximo de bytes que se van a escribir en MultiByteString. Si este valor hace que la cadena traducida se trunque, RtlUnicodeToMultiByteN no devuelve un estado de error.

[out, optional] BytesInMultiByteString

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

[in] UnicodeString

Puntero a la cadena de origen Unicode que se va a traducir.

[in] BytesInUnicodeString

Tamaño, en bytes, de la cadena en UnicodeString.

Valor devuelto

RtlUnicodeToMultiByteN devuelve STATUS_SUCCESS.

Comentarios

RtlUnicodeToMultiByteN traduce la cadena Unicode dada mediante la página de códigos ANSI del sistema actual que se instaló en el tiempo de arranque del sistema.

Aunque BytesInMultiByteString es opcional y puede ser NULL, los autores de llamadas deben proporcionar almacenamiento para él, ya que la longitud recibida se puede usar para determinar si la conversión se realizó correctamente.

Esta rutina no modifica la cadena de origen. Devuelve una cadena multibyte terminada en null si el bytes especificado BytesInUnicodeString incluía un terminador NULL y si el objeto MaxBytesInMultiByteString dado no provocó el truncamiento.

Al igual que RtlUnicodeToMultiByteSize, RtlUnicodeToMultiByteN solo admite caracteres Unicode precomponidos asignados a la página de códigos ANSI del sistema actual instalada en el arranque del sistema.

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

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Fltkernel.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Consulte también

RtlMultiByteToUnicodeN

RtlUnicodeToMultiByteSize

RtlUpcaseUnicodeToMultiByteN