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

Confira também

Tratamento de IDNs (nomes de domínio internacionalizados)

IdnToAscii

IdnToUnicode

Suporte à linguagem nacional

Funções de suporte à linguagem nacional