Função RtlUTF8ToUnicodeN
Converte a cadeia de caracteres de origem especificada em uma cadeia de caracteres Unicode, usando a página de código UTF-8 (Formato de Transformação Unicode) de 8 bits.
Sintaxe
NTSTATUS WINAPI RtlUTF8ToUnicodeN(
_Out_ PWSTR UnicodeStringDestination,
_In_ ULONG UnicodeStringMaxByteCount,
_Out_opt_ PULONG UnicodeStringActualByteCount,
_In_ PCCH UTF8StringSource,
_In_ ULONG UTF8StringByteCount
);
Parâmetros
-
UnicodeStringDestination [out]
-
Um ponteiro para um buffer alocado pelo chamador que recebe a cadeia de caracteres traduzida.
-
UnicodeStringMaxByteCount [in]
-
Número máximo de bytes a serem gravados em UnicodeStringDestination. Se esse valor fizer com que a cadeia de caracteres traduzida seja truncada, RtlUTF8ToUnicodeN retornará um erro status.
-
UnicodeStringActualByteCount [out, opcional]
-
Um ponteiro para uma variável alocada pelo chamador que recebe o comprimento, em bytes, da cadeia de caracteres traduzida. Esse parâmetro é opcional e pode ser NULL. Se a cadeia de caracteres estiver truncada, o número retornado contará a contagem real de cadeia de caracteres truncada.
-
UTF8StringSource [in]
-
Um ponteiro para a cadeia de caracteres a ser traduzida.
-
UTF8StringByteCount [in]
-
Tamanho, em bytes, da cadeia de caracteres em UTF8StringSource.
Valor retornado
RtlUTF8ToUnicodeN retorna um dos seguintes valores NTSTATUS:
Código de retorno | Descrição |
---|---|
|
A cadeia de caracteres foi convertida em Unicode. |
|
Um caractere de entrada inválido foi encontrado e substituído. Esse status é considerado um status de sucesso. |
|
Ambos os ponteiros para UnicodeStringDestination e UnicodeStringActualByteCount eram NULL. |
|
O UTF8StringSource era NULL. |
|
UnicodeStringDestination foi truncado. |
Comentários
Embora UnicodeStringActualByteCount seja opcional e possa ser NULL, os chamadores devem fornecer armazenamento para ele, pois o comprimento recebido pode ser usado para determinar se a conversão foi bem-sucedida.
Se a saída for truncada e um caractere de entrada inválido for encontrado, a função retornará STATUS_BUFFER_TOO_SMALL erro.
Se UnicodeStringDestination for definido como NULL , a função retornará o número necessário de bytes para hospedar a cadeia de caracteres traduzida sem nenhum truncamento em UnicodeStringActualByteCount.
RtlUTF8ToUnicodeN não modifica a cadeia de caracteres de origem, a menos que os ponteiros UnicodeStringDestination e UTF8StringSource sejam equivalentes. A cadeia de caracteres Unicode retornada não é terminada em nulo.
Os chamadores de RtlUTF8ToUnicodeN devem estar em execução no IRQL < DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho |
|
DLL |
|
Confira também