Función IdnToUnicode (winnls.h)
Convierte la forma punycode de un nombre de dominio internacionalizado (IDN) u otra etiqueta internacionalizada en la sintaxis de codificación UTF-16 normal de Unicode .
Sintaxis
int IdnToUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpASCIICharStr,
[in] int cchASCIIChar,
[out, optional] LPWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar
);
Parámetros
[in] dwFlags
Marcas que especifican opciones de conversión. Para obtener definiciones detalladas, consulte el parámetro dwFlags de IdnToAscii.
[in] lpASCIICharStr
Puntero a una cadena que representa la codificación punycode de un IDN u otra etiqueta internacionalizada. Esta cadena solo debe constar de caracteres ASCII y puede incluir Unicode con codificación Punycode. La función descodifica los valores de Punycode en sus valores UTF-16.
[in] cchASCIIChar
Recuento de caracteres en la cadena de entrada indicada por lpASCIICharStr.
[out, optional] lpUnicodeCharStr
Puntero a un búfer que recibe una codificación Unicode UTF-16 normal equivalente al valor Punycode de la cadena de entrada. Como alternativa, la función puede recuperar NULL para este parámetro, si cchUnicodeChar se establece en 0. En este caso, la función devuelve el tamaño necesario para este búfer.
[in] cchUnicodeChar
Tamaño, en caracteres, del búfer indicado por lpUnicodeCharStr. La aplicación puede establecer el tamaño en 0 para recuperar NULL en lpUnicodeCharStr y hacer que la función devuelva el tamaño de búfer necesario.
Valor devuelto
Devuelve el número de caracteres recuperados en lpUnicodeCharStr si se ejecuta correctamente. La cadena recuperada solo termina en null si la cadena de entrada termina en null.
Si la función se ejecuta correctamente y el valor de cchUnicodeChar 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.
Requisitos
Requisito | Value |
---|---|
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 (incluye 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)