DnsValidateName-Makro (windns.h)
Die funktion DnsValidateName überprüft den Status eines angegebenen DNS-Namens. Wie viele DNS-Funktionen wird der DnsValidateName Funktionstyp in mehreren Formen implementiert, um die unterschiedliche Zeichencodierung zu vereinfachen. Verwenden Sie basierend auf der verwendeten Zeichencodierung eine der folgenden Funktionen:
- DnsValidateName_A (_A für die ANSI-Codierung)
- DnsValidateName_W (_W für unicode-Codierung)
- DnsValidateName_UTF8 (_UTF8 für UTF-8-Codierung)
Syntax
void DnsValidateName(
p,
f
);
Parameter
p
TBD
f
TBD
Rückgabewert
Nichts
Bemerkungen
Um den Status des Computerhosts (einzelne Bezeichnung) zu überprüfen, verwenden Sie den DnsValidateName Funktionstyp mit DnsNameHostnameLabel- in Format.
Die DnsValidateName Funktion funktioniert in einer Entwicklung, wenn ermittelt wird, ob ein Fehler mit einem bestimmten DNS-Namen vorhanden ist, und gibt nach dem Ermitteln des ersten Fehlers zurück. Daher kann ein DNS-Name, der mehrere, unterschiedliche Fehler hat, als den ersten Fehler gemeldet werden, und kann korrigiert und erneut übermittelt werden, nur um den zweiten Fehler zu finden.
Die DnsValidateName-Funktion sucht wie folgt nach Fehlern:
- Gibt ERROR_INVALID_NAME zurück, wenn der DNS-Name:
- Ist länger als 255 Oktetten.
- Enthält eine Beschriftung, die länger als 63 Oktetten ist.
- Enthält mindestens zwei aufeinander folgende Punkte.
- Beginnt mit einem Punkt (.).
- Enthält einen Punkt (.), wenn der Name mit Format übermittelt wird, auf DnsNameDomainLabel oder DnsNameHostnameLabel festgelegt ist.
- Als Nächstes gibt DnsValidateNameDNS_ERROR_NUMERIC_NAME zurück, wenn der vollständige DNS-Name nur aus numerischen Zeichen (0-9) oder der ersten Bezeichnung des DNS-Namens besteht aus nur numerischen Zeichen (0-9), es sei denn, Format ist auf DnsNameDomainLabel oder DnsNameDomain festgelegt.
- Anschließend gibt DnsValidateName DNS_ERROR_NON_RFC_NAME zurück, wenn der DNS-Name:
- Enthält mindestens ein erweitertes oder Unicode-Zeichen.Hinweis Windows 8 oder höher: DnsValidateName_W gibt keinen Fehler zurück, wenn die IDN-Codierung (International Domain Name) aktiviert ist.
- Enthält Unterstrich (_), es sei denn, der Unterstrich ist ein erstes Zeichen in einer Bezeichnung, im Namen, übermittelt mit Format auf DnsNameSrvRecord festgelegt.
- Als Nächstes gibt DnsValidateNameDNS_ERROR_INVALID_NAME_CHAR zurück, wenn der DNS-Name:
- Enthält ein Leerzeichen.
- Enthält eines der folgenden ungültigen Zeichen: { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ' ( ) + / ,
- Enthält ein Sternchen (*), es sei denn, das Sternchen ist die erste Bezeichnung im mehrbeschrifteten Namen, die mit Format übermittelt auf DnsNameWildcardfestgelegt ist.
Wenn DnsValidateName einen der folgenden Fehler zurückgibt, sollte pszName- als ungültiger Hostname behandelt werden:
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | windns.h |
Library | Dnsapi.lib |
DLL- | Dnsapi.dll |