Função IdnToUnicode (winnls.h)
Converte o formulário Punycode de um IDN (nome de domínio internacionalizado) ou outro rótulo internacionalizado para a sintaxe de codificação UTF-16 unicode normal.
Sintaxe
int IdnToUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpASCIICharStr,
[in] int cchASCIIChar,
[out, optional] LPWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar
);
Parâmetros
[in] dwFlags
Sinalizadores especificando opções de conversão. Para obter definições detalhadas, consulte o parâmetro dwFlags de IdnToAscii.
[in] lpASCIICharStr
Ponteiro para uma cadeia de caracteres que representa a codificação punycode de um IDN ou outro rótulo internacionalizado. Essa cadeia de caracteres deve consistir apenas em caracteres ASCII e pode incluir Unicode codificado em Punycode. A função decodifica valores punycode para seus valores UTF-16.
[in] cchASCIIChar
Contagem de caracteres na cadeia de caracteres de entrada indicada por lpASCIICharStr.
[out, optional] lpUnicodeCharStr
Ponteiro para um buffer que recebe uma codificação UTF-16 unicode normal equivalente ao valor punycode da cadeia de caracteres de entrada. Como alternativa, a função poderá recuperar NULL para esse parâmetro, se cchUnicodeChar definir como 0. Nesse caso, a função retorna o tamanho necessário para esse buffer.
[in] cchUnicodeChar
Tamanho, em caracteres, do buffer indicado por lpUnicodeCharStr. O aplicativo pode definir o tamanho como 0 para recuperar NULL em lpUnicodeCharStr e fazer com que a função retorne o tamanho do buffer necessário.
Retornar valor
Retorna o número de caracteres recuperados em lpUnicodeCharStr se tiver êxito. A cadeia de caracteres recuperada será terminada em nulo somente se a cadeia de caracteres de entrada for terminada em nulo.
Se a função for bem-sucedida e o valor de cchUnicodeChar for 0, a função retornará o tamanho necessário, em caracteres incluindo um caractere nulo de terminação se ele fizer parte do buffer de entrada.
A função retornará 0 se não for bem-sucedida. Para obter informações de erro estendidas, o aplicativo pode chamar GetLastError, que pode retornar um dos seguintes códigos de erro:
- ERROR_INSUFFICIENT_BUFFER. Um tamanho de buffer fornecido não era grande o suficiente ou foi definido incorretamente como NULL.
- ERROR_INVALID_FLAGS. Os valores fornecidos para sinalizadores não eram válidos.
- ERROR_INVALID_NAME. Um nome inválido foi fornecido à função . Observe que esse código de erro captura todos os erros de sintaxe.
- ERROR_INVALID_PARAMETER. Qualquer um dos valores de parâmetro era inválido.
- ERROR_NO_UNICODE_TRANSLATION. Unicode inválido foi encontrado em uma cadeia de caracteres.
Comentários
Consulte Comentários para IdnToAscii.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnls.h (inclua Windows.h) |
Biblioteca | Normaliz.lib |
DLL | Normaliz.dll |
Redistribuível | APIs de mitigação do IDN (Nome de Domínio Internacionalizado) da Microsoft noWindows XP com SP2 e posterior, ouWindows Server 2003 com SP1 |