Função DnsValidateName_UTF8 (windns.h)
A função DnsValidateName valida o status de um nome DNS especificado. Como muitas funções DNS, o tipo de função DnsValidateName é implementado em várias formas para facilitar a codificação de caracteres diferente. Com base na codificação de caracteres envolvida, use uma das seguintes funções:
- DnsValidateName_A (_A para codificação ANSI)
- DnsValidateName_W (_W para codificação Unicode)
- DnsValidateName_UTF8 (_UTF8 para codificação UTF-8)
Sintaxe
DNS_STATUS DnsValidateName_UTF8(
[in] PCSTR pszName,
[in] DNS_NAME_FORMAT Format
);
Parâmetros
[in] pszName
Um ponteiro para uma cadeia de caracteres que representa o nome DNS a ser examinado.
[in] Format
Um valor DNS_NAME_FORMAT que especifica o formato do nome a ser examinado.
Retornar valor
A função DnsValidateName tem os seguintes valores retornados possíveis:
Comentários
Para verificar a status do Host do Computador (rótulo único), use o tipo de função DnsValidateName com DnsNameHostnameLabel em Format.
A função DnsValidateName funciona em uma progressão ao determinar se existe um erro com um determinado nome DNS e retorna ao encontrar seu primeiro erro. Portanto, um nome DNS que tem vários erros diferentes pode ser relatado como tendo o primeiro erro e pode ser corrigido e reenviado, somente então para localizar o segundo erro.
A função DnsValidateName pesquisa erros da seguinte maneira:
- Retorna ERROR_INVALID_NAME se o nome DNS:
- Tem mais de 255 octetos.
- Contém um rótulo com mais de 63 octetos.
- Contém dois ou mais pontos consecutivos.
- Começa com um ponto (.).
- Contém um ponto (.) se o nome for enviado com Format definido como DnsNameDomainLabel ou DnsNameHostnameLabel.
- Em seguida, DnsValidateName retornará DNS_ERROR_NUMERIC_NAME se o nome DNS completo consistir apenas em caracteres numéricos (0-9) ou o primeiro rótulo do nome DNS consistir apenas em caracteres numéricos (0-9), a menos que Format esteja definido como DnsNameDomainLabel ou DnsNameDomain.
- Em seguida, DnsValidateName retornará DNS_ERROR_NON_RFC_NAME se o nome DNS:
- Contém pelo menos um caractere estendido ou Unicode. Observação Windows 8 ou posterior: DnsValidateName_W não retornará um erro se a codificação de IDN (Nome de Domínio Internacional) estiver habilitada.
- Contém sublinhado (_), a menos que o sublinhado seja um primeiro caractere em um rótulo, no nome, enviado com Formato definido como DnsNameSrvRecord.
- Em seguida, DnsValidateName retornará DNS_ERROR_INVALID_NAME_CHAR se o nome DNS:
- Contém um espaço.
- Contém qualquer um dos seguintes caracteres inválidos: { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ` ( ) + / ,
- Contém um asterisco (*), a menos que o asterisco seja o primeiro rótulo no nome multi-rotulado, enviado com Format definido como DnsNameWildcard.
Se DnsValidateName retornar qualquer um dos seguintes erros, pszName deverá ser tratado como um nome de host inválido:
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | windns.h |
Biblioteca | Dnsapi.lib |
DLL | Dnsapi.dll |