Compartilhar via


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