fonction DnsValidateName_A (windns.h)
La fonction DnsValidateName valide l’état d’un nom DNS spécifié. Comme de nombreuses fonctions DNS, le type de fonction DnsValidateName est implémenté dans plusieurs formulaires pour faciliter l’encodage de caractères différent. En fonction de l’encodage de caractères impliqué, utilisez l’une des fonctions suivantes :
- DnsValidateName_A (_A pour l’encodage ANSI)
- DnsValidateName_W (_W pour l’encodage Unicode)
- DnsValidateName_UTF8 (_UTF8 pour l’encodage UTF-8)
Syntaxe
DNS_STATUS DnsValidateName_A(
[in] PCSTR pszName,
[in] DNS_NAME_FORMAT Format
);
Paramètres
[in] pszName
Pointeur vers une chaîne qui représente le nom DNS à examiner.
[in] Format
Valeur DNS_NAME_FORMAT qui spécifie le format du nom à examiner.
Valeur de retour
La fonction DnsValidateName a les valeurs de retour possibles suivantes :
Remarques
Pour vérifier l’état de l’hôte d’ordinateur (étiquette unique), utilisez le type de fonction DnsValidateName
La fonction DnsValidateName fonctionne dans une progression lorsque vous déterminez si une erreur existe avec un nom DNS donné et retourne à la recherche de sa première erreur. Par conséquent, un nom DNS qui comporte plusieurs erreurs différentes peut être signalé comme ayant la première erreur et peut être corrigé et resubmise, uniquement pour trouver la deuxième erreur.
La fonction DnsValidateName recherche des erreurs comme suit :
- Retourne ERROR_INVALID_NAME si le nom DNS :
- Est supérieur à 255 octets.
- Contient une étiquette de plus de 63 octets.
- Contient deux points consécutifs ou plus.
- Commence par un point (.).
- Contient un point (.) si le nom est envoyé avec Format défini sur DnsNameDomainLabel ou DnsNameHostnameLabel.
- Ensuite, DnsValidateName retourne DNS_ERROR_NUMERIC_NAME si le nom DNS complet se compose uniquement de caractères numériques (0-9) ou de la première étiquette du nom DNS se compose uniquement de caractères numériques (0-9), sauf si Format est défini sur DnsNameDomainLabel ou DnsNameDomain.
- Ensuite, DnsValidateName retourne DNS_ERROR_NON_RFC_NAME si le nom DNS :
- Contient au moins un caractère étendu ou Unicode.Remarque Windows 8 ou version ultérieure : DnsValidateName_W ne retourne pas d’erreur si l’encodage IDN (International Domain Name) est activé.
- Contient un trait de soulignement (_), sauf si le trait de soulignement est un premier caractère d’une étiquette, dans le nom, soumis avec Format défini sur DnsNameSrvRecord.
- Ensuite, DnsValidateName retourne DNS_ERROR_INVALID_NAME_CHAR si le nom DNS :
- Contient un espace.
- Contient l’un des caractères non valides suivants : { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ' ( ) + / ,
- Contient un astérisque (*), sauf si l’astérisque est la première étiquette du nom multiétique, envoyée avec Format définie sur DnsNameWildcard.
Si DnsValidateName retourne l’une des erreurs suivantes, pszName doit être gérée comme un nom d’hôte non valide :
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | windns.h |
bibliothèque | Dnsapi.lib |
DLL | Dnsapi.dll |