Función RtlMultiByteToUnicodeN (ntifs.h)
La rutina RtlMultiByteToUnicodeN convierte la cadena de origen especificada en una cadena Unicode mediante la página de códigos ANSI (ACP) del sistema actual. La cadena de origen no es necesariamente de un juego de caracteres multibyte.
Sintaxis
NTSYSAPI NTSTATUS RtlMultiByteToUnicodeN(
[out] PWCH UnicodeString,
[in] ULONG MaxBytesInUnicodeString,
[out, optional] PULONG BytesInUnicodeString,
[in] const CHAR *MultiByteString,
[in] ULONG BytesInMultiByteString
);
Parámetros
[out] UnicodeString
Puntero a un búfer asignado por el autor de la llamada que recibe la cadena traducida. El búfer UnicodeString no debe superponerse con el búfer MultiByteString.
[in] MaxBytesInUnicodeString
Número máximo de bytes que se escribirán en UnicodeString. Si este valor hace que la cadena traducida se trunque, RtlMultiByteToUnicodeN 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] MultiByteString
Puntero a la cadena que se va a traducir.
[in] BytesInMultiByteString
Tamaño, en bytes, de la cadena en MultiByteString.
Valor devuelto
RtlMultiByteToUnicodeN devuelve STATUS_SUCCESS.
Comentarios
RtlMultiByteToUnicodeN solo admite caracteres Unicode precomponidos asignados a la página de códigos ANSI del sistema actual instalada en el arranque del sistema.
Aunque BytesInUnicodeString 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.
Si la página de códigos del sistema actual define un juego de caracteres de un solo byte, todos los caracteres ANSI del intervalo 0x00 a 0x7f simplemente se extienden sin cero en la cadena Unicode correspondiente para acelerar la operación de conversión. El valor ANSI 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 de un solo byte actual define este carácter como el signo Yen.
RtlMultiByteToUnicodeN no modifica la cadena de origen a menos que los punteros UnicodeString y MultiByteString sean equivalentes. La cadena Unicode devuelta no está terminada en null.
Al igual que RtlMultiByteToUnicodeSize, RtlMultiByteToUnicodeN 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 Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario) |
IRQL | < DISPATCH_LEVEL |