Compartir a través de


Función IdnToNameprepUnicode (winnls.h)

Convierte un nombre de dominio internacionalizado (IDN) u otra etiqueta internacionalizada en el formulario NamePrep especificado por Network Working Group RFC 3491, pero no realiza la conversión adicional a Punycode. Para obtener más información y vínculos a estándares de borrador relacionados, consulte Control de nombres de dominio internacionalizados (IDN).

Sintaxis

int IdnToNameprepUnicode(
  [in]            DWORD   dwFlags,
  [in]            LPCWSTR lpUnicodeCharStr,
  [in]            int     cchUnicodeChar,
  [out, optional] LPWSTR  lpNameprepCharStr,
  [in]            int     cchNameprepChar
);

Parámetros

[in] dwFlags

Marcas que especifican opciones de conversión. Para obtener definiciones detalladas, consulte el parámetro dwFlags de IdnToAscii.

[in] lpUnicodeCharStr

Puntero a una cadena Unicode que representa un IDN u otra etiqueta internacionalizada.

[in] cchUnicodeChar

Recuento de caracteres Unicode en la cadena Unicode de entrada indicada por lpUnicodeCharStr.

[out, optional] lpNameprepCharStr

Puntero a un búfer que recibe una versión de la cadena Unicode de entrada convertida a través del procesamiento NamePrep. Como alternativa, la función puede recuperar NULL para este parámetro, si cchNameprepChar está establecido en 0. En este caso, la función devuelve el tamaño necesario para este búfer.

[in] cchNameprepChar

Tamaño, en caracteres, del búfer indicado por lpNameprepCharStr. La aplicación puede establecer el tamaño en 0 para recuperar NULL en lpNameprepCharStr y hacer que la función devuelva el tamaño de búfer necesario.

Valor devuelto

Devuelve el número de caracteres recuperados en lpNameprepCharStr si se ejecuta correctamente. La cadena recuperada solo termina en null si la cadena Unicode de entrada está terminada en null.

Si la función se ejecuta correctamente y el valor de cchNameprepChar es 0, la función devuelve el tamaño necesario, en caracteres, incluido un carácter nulo de terminación si formaba parte del búfer de entrada.

La función devuelve 0 si no se realiza correctamente. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:

  • ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
  • ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
  • ERROR_INVALID_NAME. Se proporcionó un nombre no válido a la función . Tenga en cuenta que este código de error detecta todos los errores de sintaxis.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
  • ERROR_NO_UNICODE_TRANSLATION. Se encontró unicode no válido en una cadena.

Comentarios

Vea Comentarios para IdnToAscii.

Ejemplos

NLS: Ejemplo de conversión de nombre de dominio internacionalizado (IDN) muestra el uso de esta función.

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winnls.h (incluya Windows.h)
Library Normaliz.lib
Archivo DLL Normaliz.dll
Redistribuible API de mitigación de nombres de dominio internacionalizados (IDN) de Microsoft enWindows XP con SP2 y versiones posteriores, oWindows Server 2003 con SP1

Consulte también

Control de nombres de dominio internacionalizados (IDN)

IdnToAscii

IdnToUnicode

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales