Función RtlMultiByteToUnicodeN (ntifs.h)
La rutina de RtlMultiByteToUnicodeN convierte la cadena de origen especificada en una cadena Unicode mediante la página de códigos ANSI del sistema actual (ACP). 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. búfer de UnicodeString no debe superponerse con búfer de MultiByteString.
[in] MaxBytesInUnicodeString
Número máximo de bytes que se van a escribir en UnicodeString. Si este valor hace que la cadena traducida se trunquen, 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.
Observaciones
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 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 el unicodeString y punteros de MultiByteString sean equivalentes. La cadena Unicode devuelta no está terminada en null.
Al igual que RtlMultiByteToUnicodeSize, RtlMultiByteToUnicodeN solo admite caracteres Unicode precomposificados que se asignan 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, consulte rutinas de Run-Time Library (RTL).
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | ntifs.h (incluya Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario) |
irQL | < DISPATCH_LEVEL |