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)