Compartilhar via


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
STATUS_SUCCESS
A cadeia de caracteres foi convertida em Unicode.
STATUS_SOME_NOT_MAPPED
Um caractere de entrada inválido foi encontrado e substituído. Esse status é considerado um status de sucesso.
STATUS_INVALID_PARAMETER
Ambos os ponteiros para UnicodeStringDestination e UnicodeStringActualByteCount eram NULL.
STATUS_INVALID_PARAMETER_4
O UTF8StringSource era NULL.
STATUS_BUFFER_TOO_SMALL
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
Wdm.h
DLL
Ntdll.dll

Confira também

RtlUnicodeToUTF8N