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 |
---|---|
|
La cadena se convirtió en Unicode. |
|
Se encontró un carácter de entrada no válido y se reemplazó. Este estado se considera un estado correcto. |
|
Ambos punteros a UnicodeStringDestination y UnicodeStringActualByteCount eran NULL. |
|
UTF8StringSource era NULL. |
|
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 |
|
Archivo DLL |
|
Consulte también