Función RtlUnicodeToUTF8N
Convierte la cadena Unicode especificada en una nueva cadena de caracteres mediante la página de códigos Formato de transformación Unicode de 8 bits (UTF-8).
Sintaxis
NTSTATUS WINAPI RtlUnicodeToUTF8N(
_Out_ PCHAR UTF8StringDestination,
_In_ ULONG UTF8StringMaxByteCount,
_Out_opt_ PULONG UTF8StringActualByteCount,
_In_ PCWSTR UnicodeStringSource,
_In_ ULONG UnicodeStringByteCount
);
Parámetros
-
UTF8StringDestination [out]
-
Puntero a un búfer asignado por el autor de la llamada para recibir la cadena traducida.
-
UTF8StringMaxByteCount [in]
-
Número máximo de bytes que se van a escribir en UTF8StringDestination. Si este valor hace que la cadena traducida se trunque, RtlUnicodeToUTF8N devuelve un estado de error.
-
UTF8StringActualByteCount [out, opcional]
-
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.
-
UnicodeStringSource [in]
-
Puntero a la cadena de origen Unicode que se va a traducir.
-
*UnicodeStringByteCount * [in]
-
Especifica el número de bytes de la cadena de origen Unicode a la que apunta el parámetro UnicodeStringSource .
Valor devuelto
RtlUnicodeToUTF8N devuelve uno de los siguientes valores NTSTATUS:
Código devuelto | Descripción |
---|---|
|
La cadena Unicode se convirtió en UTF-8. |
|
Se encontró un carácter de entrada no válido y se reemplazó. Este estado se considera un estado correcto. |
|
Ambos punteros a UTF8StringDestination y UTF8StringActualByteCount eran NULL. |
|
UnicodeStringSource era NULL. |
|
Se trunca la UTF8StringDestination. |
Comentarios
Aunque UTF8StringActualByteCount 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 UTF-8 terminada en null si el objeto UnicodeStringSource determinado incluía un terminador NULL y si el UTF8StringMaxByteCount dado no provocó el truncamiento.
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 UTF8StringDestination se establece en NULL , la función devolverá el número necesario de bytes para hospedar la cadena traducida sin truncamiento en UTF8StringActualByteCount.
Los autores de llamadas de RtlUnicodeToUTF8N 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