Macro DnsValidateName (windns.h)
La fonction DnsValidateName valide la status d’un nom DNS spécifié. Comme de nombreuses fonctions DNS, le type de fonction DnsValidateName est implémenté sous plusieurs formes pour faciliter l’encodage de caractères différents. 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
void DnsValidateName(
p,
f
);
Paramètres
p
TBD
f
TBD
Valeur de retour
None
Remarques
Pour vérifier la status de l’hôte de l’ordinateur (étiquette unique), utilisez le type de fonction DnsValidateName avec DnsNameHostnameLabel au format.
La fonction DnsValidateName fonctionne dans une progression lors de la détermination de l’existence d’une erreur avec un nom DNS donné, et retourne une fois sa première erreur trouvé. 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 soumis à nouveau, puis pour trouver la deuxième erreur.
La fonction DnsValidateName recherche les erreurs comme suit :
- Retourne ERROR_INVALID_NAME si le nom DNS :
- Est plus long que 255 octets.
- Contient une étiquette de plus de 63 octets.
- Contient au moins deux points consécutifs.
- Commence par un point (.).
- Contient un point (.) si le nom est envoyé avec Format défini sur DnsNameDomainLabel ou DnsNameHostnameLabel.
- Ensuite, DnsValidateName renvoie DNS_ERROR_NUMERIC_NAME si le nom DNS complet se compose uniquement de caractères numériques (0-9) ou si 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 de nom de domaine international (IDN) est activé.
- Contient un trait de soulignement (_), sauf si le trait de soulignement est un premier caractère dans une étiquette, dans le nom, envoyé 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étiqueté, envoyée avec format défini sur DnsNameWildcard.
Si DnsValidateName renvoie l’une des erreurs suivantes, pszName doit être géré comme un nom d’hôte non valide :
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | windns.h |
Bibliothèque | Dnsapi.lib |
DLL | Dnsapi.dll |