DnsValidateName_W-Funktion (windns.h)
Die DnsValidateName-Funktion überprüft die status eines angegebenen DNS-Namens. Wie viele DNS-Funktionen wird auch der DnsValidateName-Funktionstyp in mehreren Formen implementiert, um eine unterschiedliche Zeichencodierung zu ermöglichen. Verwenden Sie basierend auf der betreffenden 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
DNS_STATUS DnsValidateName_W(
[in] PCWSTR pszName,
[in] DNS_NAME_FORMAT Format
);
Parameter
[in] pszName
Ein Zeiger auf eine Zeichenfolge, die den zu untersuchenden DNS-Namen darstellt.
[in] Format
Ein DNS_NAME_FORMAT Wert, der das Format des zu untersuchenden Namens angibt.
Rückgabewert
Die DnsValidateName-Funktion weist die folgenden möglichen Rückgabewerte auf:
Hinweise
Um die status des Computerhosts (einzelne Bezeichnung) zu überprüfen, verwenden Sie den Funktionstyp DnsValidateName mit DnsNameHostnameLabel im Format.
Die DnsValidateName-Funktion arbeitet in einem Fortschritt, wenn ermittelt wird, ob ein Fehler mit einem angegebenen DNS-Namen vorhanden ist, und gibt zurück, wenn der erste Fehler gefunden wird. Daher kann ein DNS-Name, der mehrere, unterschiedliche Fehler aufweist, als der erste Fehler gemeldet und korrigiert und erneut übermittelt werden, nur dann, 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 Oktette.
- Enthält eine Bezeichnung, die länger als 63 Oktette ist.
- Enthält mindestens zwei aufeinanderfolgende Punkte.
- Beginnt mit einem Punkt (.).
- Enthält einen Punkt (.), wenn der Name übermittelt wird, wobei Format 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 die erste Bezeichnung des DNS-Namens nur aus numerischen Zeichen (0-9) besteht, es sei denn , Format ist auf DnsNameDomainLabel oder DnsNameDomain festgelegt.
- Dann 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 unterstriche (_), es sei denn, der Unterstrich ist ein erstes Zeichen in einer Bezeichnung, im Namen, der mit Format auf DnsNameSrvRecord festgelegt ist.
- 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, der mit format auf DnsNameWildcard festgelegt 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
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | windns.h |
Bibliothek | Dnsapi.lib |
DLL | Dnsapi.dll |