Compartir a través de


Función RtlUTF8ToUnicodeN

Convierte la cadena de origen especificada en una cadena Unicode, utilizando la página de códigos Formato de transformación Unicode de 8 bits (UTF-8).

Sintaxis

NTSTATUS WINAPI RtlUTF8ToUnicodeN(
  _Out_     PWSTR  UnicodeStringDestination,
  _In_      ULONG  UnicodeStringMaxByteCount,
  _Out_opt_ PULONG UnicodeStringActualByteCount,
  _In_      PCCH   UTF8StringSource,
  _In_      ULONG  UTF8StringByteCount
);

Parámetros

UnicodeStringDestination [out]

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

UnicodeStringMaxByteCount [in]

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

UnicodeStringActualByteCount [out, optional]

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. Si la cadena se trunca, el número devuelto cuenta el número truncado real.

UTF8StringSource [in]

Puntero a la cadena que se va a traducir.

UTF8StringByteCount [in]

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

Valor devuelto

RtlUTF8ToUnicodeN devuelve uno de los siguientes valores NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
La cadena se convirtió en Unicode.
STATUS_SOME_NOT_MAPPED
Se encontró un carácter de entrada no válido y se reemplazó. Este estado se considera un estado correcto.
STATUS_INVALID_PARAMETER
Ambos punteros a UnicodeStringDestination y UnicodeStringActualByteCount eran NULL.
STATUS_INVALID_PARAMETER_4
UTF8StringSource era NULL.
STATUS_BUFFER_TOO_SMALL
Se ha truncado la unicodeStringDestination.

 

Observaciones

Aunque UnicodeStringActualByteCount 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 salida se trunca y se encuentra un carácter de entrada no válido, la función devuelve STATUS_BUFFER_TOO_SMALL error.

Si UnicodeStringDestination se establece en NULL , la función devolverá el número necesario de bytes para hospedar la cadena traducida sin ningún truncamiento en UnicodeStringActualByteCount.

RtlUTF8ToUnicodeN no modifica la cadena de origen a menos que los punteros UnicodeStringDestination y UTF8StringSource sean equivalentes. La cadena Unicode devuelta no está terminada en null.

Los autores de llamadas de RtlUTF8ToUnicodeN deben ejecutarse en irQL < DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado
Wdm.h
Archivo DLL
Ntdll.dll

Consulte también

RtlUnicodeToUTF8N