Funzione DnsValidateName_A (windns.h)
La funzione DnsValidateName convalida lo stato di un nome DNS specificato. Come molte funzioni DNS, il tipo di funzione DnsValidateName viene implementato in più moduli per facilitare la codifica di caratteri diversi. In base alla codifica dei caratteri coinvolta, usare una delle funzioni seguenti:
- DnsValidateName_A (_A per la codifica ANSI)
- DnsValidateName_W (_W per la codifica Unicode)
- DnsValidateName_UTF8 (_UTF8 per la codifica UTF-8)
Sintassi
DNS_STATUS DnsValidateName_A(
[in] PCSTR pszName,
[in] DNS_NAME_FORMAT Format
);
Parametri
[in] pszName
Puntatore a una stringa che rappresenta il nome DNS da esaminare.
[in] Format
Valore DNS_NAME_FORMAT che specifica il formato del nome da esaminare.
Valore restituito
La funzione DnsValidateName include i valori restituiti seguenti:
Commenti
Per verificare lo stato dell'host computer (singola etichetta), usare il tipo di funzione DnsValidateName con DnsNameHostnameLabel in Formato.
La funzione DnsValidateName funziona in una progressione quando si determina se esiste un errore con un nome DNS specificato e restituisce al primo errore. Pertanto, un nome DNS con più errori diversi può essere segnalato come avere il primo errore e potrebbe essere corretto e restituito, solo per trovare il secondo errore.
La funzione DnsValidateName cerca errori come indicato di seguito:
- Restituisce ERROR_INVALID_NAME se il nome DNS:
- È più lungo di 255 ottetti.
- Contiene un'etichetta più lunga di 63 ottetti.
- Contiene due o più punti consecutivi.
- Inizia con un punto (.).
- Contiene un punto (.) se il nome viene inviato con Formato impostato su DnsNameDomainLabel o DnsNameHostnameLabel.
- DnsValidateName restituisce quindi DNS_ERROR_NUMERIC_NAME se il nome DNS completo è costituito da solo caratteri numerici (0-9) o la prima etichetta del nome DNS è costituita da solo caratteri numerici (0-9), a meno che Format non sia impostato su DnsNameDomainLabel o DnsNameDomain.
- DnsValidateName restituisce quindi DNS_ERROR_NON_RFC_NAME se il nome DNS:
- Contiene almeno un carattere Unicode o esteso. Nota Windows 8 o versione successiva: DnsValidateName_W non restituisce un errore se la codifica IDN (International Domain Name) è abilitata.
- Contiene il carattere di sottolineatura (_), a meno che il carattere di sottolineatura non sia un primo carattere in un'etichetta, nel nome, inviato con Formato impostato su DnsNameSrvRecord.
- DnsValidateName restituisce quindi DNS_ERROR_INVALID_NAME_CHAR se il nome DNS:
- Contiene uno spazio.
- Contiene uno dei caratteri non validi seguenti: { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ` ( ) + / ,
- Contiene un asterisco (*), a meno che l'asterisco non sia la prima etichetta nel nome con etichetta multipla, inviata con Formato impostato su DnsNameWildcard.
Se DnsValidateName restituisce uno degli errori seguenti, pszName deve essere gestito come nome host non valido:
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | windns.h |
Libreria | Dnsapi.lib |
DLL | Dnsapi.dll |