다음을 통해 공유


DnsValidateName_W 함수(windns.h)

DnsValidateName 함수는 지정된 DNS 이름의 상태 유효성을 검사합니다. 많은 DNS 함수와 마찬가지로 DnsValidateName 함수 형식은 다양한 문자 인코딩을 용이하게 하기 위해 여러 형식으로 구현됩니다. 관련된 문자 인코딩에 따라 다음 함수 중 하나를 사용합니다.

  • ANSI 인코딩에 대한 DnsValidateName_A(_A)
  • DnsValidateName_W (유니코드 인코딩에 대한 _W)
  • DnsValidateName_UTF8 (UTF-8 인코딩의 경우 _UTF8)

구문

DNS_STATUS DnsValidateName_W(
  [in] PCWSTR          pszName,
  [in] DNS_NAME_FORMAT Format
);

매개 변수

[in] pszName

검사할 DNS 이름을 나타내는 문자열에 대한 포인터입니다.

[in] Format

검사할 이름의 형식을 지정하는 DNS_NAME_FORMAT 값입니다.

반환 값

DnsValidateName 함수에는 다음과 같은 가능한 반환 값이 있습니다.

설명

컴퓨터 호스트의 상태 확인하려면 DnsValidateName 함수 형식과 DnsNameHostnameLabel형식을 사용합니다.

DnsValidateName 함수는 지정된 DNS 이름으로 오류가 있는지 여부를 결정할 때 진행 중 작동하며 첫 번째 오류를 찾으면 를 반환합니다. 따라서 여러 오류가 있는 DNS 이름은 첫 번째 오류가 있는 것으로 보고될 수 있으며, 두 번째 오류를 찾기 위해 수정하고 다시 제출할 수 있습니다.

DnsValidateName 함수는 다음과 같이 오류를 검색합니다.

  1. DNS 이름인 경우 ERROR_INVALID_NAME 반환합니다.
    • 255 8진수보다 깁니다.
    • 638진수보다 긴 레이블을 포함합니다.
    • 두 개 이상의 연속된 점을 포함합니다.
    • 점(.)으로 시작합니다.
    • 이름이 DnsNameDomainLabel 또는 DnsNameHostnameLabel로 설정된 형식 으로 제출된 경우 점(.)을 포함합니다.
  2. 다음으로, DnsValidateName은 전체 DNS 이름이 숫자 문자(0-9)로만 구성되거나 DNS 이름의 첫 번째 레이블이 DnsNameDomainLabel 또는 DnsNameDomain으로 설정되지 않은 한 숫자 문자(0-9)로만 구성된 경우 DNS_ERROR_NUMERIC_NAME 반환합니다.
  3. 그런 다음 DNS 이름인 경우 DnsValidateName 은 DNS_ERROR_NON_RFC_NAME 반환합니다.
    • 확장 문자 또는 유니코드 문자를 하나 이상 포함합니다. 참고 Windows 8 이상: IDN(International Domain Name) 인코딩을 사용하는 경우 DnsValidateName_W 오류를 반환하지 않습니다.
    • 밑줄이 DnsNameSrvRecord로 설정된 형식 으로 제출된 레이블의 첫 번째 문자가 아닌 한 밑줄(_)을 포함합니다.
  4. 다음으로 DnsValidateName 은 DNS 이름인 경우 DNS_ERROR_INVALID_NAME_CHAR 반환합니다.
    • 공백을 포함합니다.
    • 다음 잘못된 문자를 포함합니다. { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ` ( ) + / ,
    • 별표가 DnsNameWildcard로 설정된 형식으로 제출된 다중 레이블 이름의 첫 번째 레이블이 아닌 한 별표(*)를 포함합니다.
참고DnsValidateNameDNS_ERROR_NON_RFC_NAME 반환하는 경우 모든 DNS 서버가 이름을 허용하지 않는다는 경고로 오류를 처리해야 합니다. 이 오류가 수신되면 DNS 서버는 적절히 구성된 경우 제출된 이름을 수락하지만(기본 구성은 DNS_ERROR_NON_RFC_NAME 반환될 때 제출된 이름을 허용함) 다른 DNS 서버 소프트웨어는 수락하지 않을 수 있습니다. Windows DNS 서버는 NON_RFC_NAMES 처리합니다.

DnsValidateName에서 다음 오류 중 하나라도 반환하는 경우 pszName을 잘못된 호스트 이름으로 처리해야 합니다.

DNS_ERROR_NUMERIC_NAME
DNS_ERROR_INVALID_NAME_CHAR
ERROR_INVALID_NAME
 

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 windns.h
라이브러리 Dnsapi.lib
DLL Dnsapi.dll

추가 정보

DNS_NAME_FORMAT

DNS_RECORD

DnsNameCompare

DnsQuery