Função IdnToNameprepUnicode (winnls.h)
Converte um IDN (nome de domínio internacionalizado) ou outro rótulo internacionalizado no formulário NamePrep especificado pelo Grupo de Trabalho de Rede RFC 3491, mas não executa a conversão adicional para Punycode. Para obter mais informações e links para padrões de rascunho relacionados, consulte Manipulando IDNs (Nomes de Domínio Internacionalizados).
Sintaxe
int IdnToNameprepUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar,
[out, optional] LPWSTR lpNameprepCharStr,
[in] int cchNameprepChar
);
Parâmetros
[in] dwFlags
Sinalizadores especificando opções de conversão. Para obter definições detalhadas, consulte o parâmetro dwFlags de IdnToAscii.
[in] lpUnicodeCharStr
Ponteiro para uma cadeia de caracteres Unicode que representa um IDN ou outro rótulo internacionalizado.
[in] cchUnicodeChar
Contagem de caracteres Unicode na cadeia de caracteres Unicode de entrada indicada por lpUnicodeCharStr.
[out, optional] lpNameprepCharStr
Ponteiro para um buffer que recebe uma versão da cadeia de caracteres Unicode de entrada convertida por meio do processamento NamePrep. Como alternativa, a função poderá recuperar NULL para esse parâmetro, se cchNameprepChar estiver definido como 0. Nesse caso, a função retorna o tamanho necessário para esse buffer.
[in] cchNameprepChar
Tamanho, em caracteres, do buffer indicado por lpNameprepCharStr. O aplicativo pode definir o tamanho como 0 para recuperar NULL em lpNameprepCharStr e fazer com que a função retorne o tamanho do buffer necessário.
Valor retornado
Retorna o número de caracteres recuperados em lpNameprepCharStr se tiver êxito. A cadeia de caracteres recuperada será terminada em nulo somente se a cadeia de caracteres Unicode de entrada for terminada em nulo.
Se a função for bem-sucedida e o valor de cchNameprepChar 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.
Exemplos
NLS: Exemplo de conversão de IDN (Nome de Domínio Internacionalizado) demonstra o uso dessa função.
Requisitos
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 |