Función DnsValidateName_UTF8 (windns.h)
La función DnsValidateName valida el estado de un nombre DNS especificado. Al igual que muchas funciones DNS, el tipo de función DnsValidateName se implementa en varios formularios para facilitar la codificación de caracteres diferente. En función de la codificación de caracteres implicada, use una de las siguientes funciones:
- DnsValidateName_A (_A para la codificación ANSI)
- DnsValidateName_W (_W para la codificación Unicode)
- DnsValidateName_UTF8 (_UTF8 para la codificación UTF-8)
Sintaxis
DNS_STATUS DnsValidateName_UTF8(
[in] PCSTR pszName,
[in] DNS_NAME_FORMAT Format
);
Parámetros
[in] pszName
Puntero a una cadena que representa el nombre DNS que se va a examinar.
[in] Format
Valor DNS_NAME_FORMAT que especifica el formato del nombre que se va a examinar.
Valor devuelto
La función DnsValidateName tiene los siguientes valores devueltos posibles:
Comentarios
Para comprobar el estado del host de equipo (etiqueta única), use el tipo de función DnsValidateName con DnsNameHostnameLabel en Formato.
La función DnsValidateName funciona en una progresión al determinar si existe un error con un nombre DNS determinado y vuelve al encontrar su primer error. Por lo tanto, un nombre DNS que tiene varios errores diferentes se puede notificar como que tiene el primer error, y se podría corregir y volver a enviar, solo entonces para encontrar el segundo error.
La función DnsValidateName busca errores de la siguiente manera:
- Devuelve ERROR_INVALID_NAME si el nombre DNS:
- Es mayor que 255 octetos.
- Contiene una etiqueta de más de 63 octetos.
- Contiene dos o más puntos consecutivos.
- Comienza con un punto (.).
- Contiene un punto (.) si el nombre se envía con Format establecido en DnsNameDomainLabel o DnsNameHostnameLabel.
- A continuación, DnsValidateName devuelve DNS_ERROR_NUMERIC_NAME si el nombre DNS completo consta de solo caracteres numéricos (0-9) o la primera etiqueta del nombre DNS consta de solo caracteres numéricos (0-9), a menos que Format esté establecido en DnsNameDomainLabel o DnsNameDomain.
- A continuación, DnsValidateName devuelve DNS_ERROR_NON_RFC_NAME si el nombre DNS:
- Contiene al menos un carácter Extendido o Unicode. Nota Windows 8 o posterior: DnsValidateName_W no devuelve un error si la codificación de nombre de dominio internacional (IDN) está habilitada.
- Contiene el carácter de subrayado (_), a menos que el carácter de subrayado sea un primer carácter de una etiqueta, en el nombre, enviado con Format establecido en DnsNameSrvRecord.
- A continuación, DnsValidateName devuelve DNS_ERROR_INVALID_NAME_CHAR si el nombre DNS:
- Contiene un espacio.
- Contiene cualquiera de los siguientes caracteres no válidos: { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ` ( ) + / ,
- Contiene un asterisco (*), a menos que el asterisco sea la primera etiqueta del nombre con varias etiquetas, enviada con formato establecido en DnsNameWildcard.
Si DnsValidateName devuelve cualquiera de los siguientes errores, pszName debe controlarse como un nombre de host no válido:
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | windns.h |
Library | Dnsapi.lib |
Archivo DLL | Dnsapi.dll |