DNS 상수

다음 상수는 호스트 바이트 순서로 DNS에 대해 정의됩니다.

DNS 레코드 형식

상수
DNS_TYPE_A 0x0001
DNS_TYPE_NS 0x0002
DNS_TYPE_MD 0x0003
DNS_TYPE_MF 0x0004
DNS_TYPE_CNAME 0x0005
DNS_TYPE_SOA 0x0006
DNS_TYPE_MB 0x0007
DNS_TYPE_MG 0x0008
DNS_TYPE_MR 0x0009
DNS_TYPE_NULL 0x000a
DNS_TYPE_WKS 0x000b
DNS_TYPE_PTR 0x000c
DNS_TYPE_HINFO 0x000d
DNS_TYPE_MINFO 0x000e
DNS_TYPE_MX 0x000f
DNS_TYPE_TEXT 0x0010
DNS_TYPE_RP 0x0011
DNS_TYPE_AFSDB 0x0012
DNS_TYPE_X25 0x0013
DNS_TYPE_ISDN 0x0014
DNS_TYPE_RT 0x0015
DNS_TYPE_NSAP 0x0016
DNS_TYPE_NSAPPTR 0x0017
DNS_TYPE_SIG 0x0018
DNS_TYPE_KEY 0x0019
DNS_TYPE_PX 0x001a
DNS_TYPE_GPOS 0x001b
DNS_TYPE_AAAA 0x001c
DNS_TYPE_LOC 0x001d
DNS_TYPE_NXT 0x001e
DNS_TYPE_EID 0x001f
DNS_TYPE_NIMLOC 0x0020
DNS_TYPE_SRV 0x0021
DNS_TYPE_ATMA 0x0022
DNS_TYPE_NAPTR 0x0023
DNS_TYPE_KX 0x0024
DNS_TYPE_CERT 0x0025
DNS_TYPE_A6 0x0026
DNS_TYPE_DNAME 0x0027
DNS_TYPE_SINK 0x0028
DNS_TYPE_OPT 0x0029
DNS_TYPE_DS 0x002B
DNS_TYPE_RRSIG 0x002E
DNS_TYPE_NSEC 0x002F
DNS_TYPE_DNSKEY 0x0030
DNS_TYPE_DHCID 0x0031
DNS_TYPE_UINFO 0x0064
DNS_TYPE_UID 0x0065
DNS_TYPE_GID 0x0066
DNS_TYPE_UNSPEC 0x0067
DNS_TYPE_ADDRS 0x00f8
DNS_TYPE_TKEY 0x00f9
DNS_TYPE_TSIG 0x00fa
DNS_TYPE_IXFR 0x00fb
DNS_TYPE_AXFR 0x00fc
DNS_TYPE_MAILB 0x00fd
DNS_TYPE_MAILA 0x00fe
DNS_TYPE_ALL 0x00ff
DNS_TYPE_ANY 0x00ff
DNS_TYPE_WINS 0xff01
DNS_TYPE_WINSR 0xff02
DNS_TYPE_NBSTAT DNS_TYPE_WINSR

DNS 클래스 형식

상수
DNS_CLASS_INTERNET 0x0001
DNS_CLASS_CSNET 0x0002
DNS_CLASS_CHAOS 0x0003
DNS_CLASS_HESIOD 0x0004
DNS_CLASS_NONE 0x00fe
DNS_CLASS_ALL 0x00ff
DNS_CLASS_ANY 0x00ff

DNS 쿼리 유형

상수
DNS_OPCODE_QUERY 0x0000
DNS_OPCODE_IQUERY 0x0001
DNS_OPCODE_SERVER_STATUS 0x0002
DNS_OPCODE_UNKNOWN 0x0003
DNS_OPCODE_NOTIFY 0x0004
DNS_OPCODE_UPDATE 0x0005

DNS 레코드 플래그

다음 플래그는 DNS 메시지 내의 RR(리소스 레코드) 섹션을 참조합니다.

상수 의미
DNSREC_QUESTION 0x00000000 RR은 질문 섹션에 있습니다.
DNSREC_ANSWER 0x00000001 RR은 응답 섹션에 있습니다.
DNSREC_AUTHORITY 0x00000002 RR은 기관 섹션에 있습니다.
DNSREC_ADDITIONAL 0x00000003 RR은 추가 섹션에 있습니다.

다음 플래그는 RFC 2136당 업데이트 DNS 메시지 내의 RR 섹션을 참조합니다.

상수 의미
DNSREC_ZONE 0x00000000 RR이 영역 섹션에 있습니다.
DNSREC_PREREQ 0x00000001 RR은 필수 구성 요소 섹션에 있습니다.
DNSREC_UPDATE 0x00000002 RR이 업데이트 섹션에 있습니다.

다음 플래그는 상호 배타적입니다.

상수 의미
DNSREC_DELETE 0x00000004 RR을 삭제합니다. DNSREC_UPDATE 함께 사용됨
DNSREC_NOEXIST 0x00000004 RR이 없습니다. DNSREC_PREREQ 함께 사용됨

DNS 쿼리 옵션

상수 의미
DNS_QUERY_STANDARD 0x00000000 표준 쿼리.
DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001 잘린 결과를 반환합니다. TCP에서 다시 시도하지 않습니다.
DNS_QUERY_USE_TCP_ONLY 0x00000002 쿼리에만 TCP를 사용합니다.
DNS_QUERY_NO_RECURSION 0x00000004 DNS 서버가 반복 쿼리를 수행하도록 지시합니다(특히 DNS 서버가 재귀 확인을 수행하지 않도록 지시하여 쿼리를 resolve).
DNS_QUERY_BYPASS_CACHE 0x00000008 조회에서 확인자 캐시를 무시합니다.
DNS_QUERY_NO_WIRE_QUERY 0x00000010 DNS가 로컬 캐시에서만 쿼리를 수행하도록 지시합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다. 비슷한 기능을 사용하려면 DNS_QUERY_CACHE_ONLY 사용합니다.
DNS_QUERY_NO_LOCAL_NAME 0x00000020 DNS에 로컬 이름을 무시하도록 지시합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다.
DNS_QUERY_NO_HOSTS_FILE 0x00000040 DNS 쿼리가 HOSTS 파일을 참조하지 못하도록 합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다.
DNS_QUERY_NO_NETBT 0x00000080 DNS 쿼리가 확인을 위해 NetBT를 사용하지 못하도록 합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다.
DNS_QUERY_WIRE_ONLY 0x00000100 로컬 정보를 무시하고 네트워크만 사용하여 쿼리를 수행하도록 DNS에 지시합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다.
DNS_QUERY_RETURN_MESSAGE 0x00000200 DNS가 전체 DNS 응답 메시지를 반환하도록 지시합니다. Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다.
DNS_QUERY_MULTICAST_ONLY 0x00000400 쿼리가 DNS를 사용하지 못하도록 하고 LLMNR(로컬 링크 멀티캐스트 이름 확인)만 사용합니다. Windows Vista 및 Windows Server 2008 이상: 이 값은 지원됩니다.
DNS_QUERY_NO_MULTICAST 0x00000800
DNS_QUERY_TREAT_AS_FQDN 0x00001000 DNS 응답이 이름 확인 프로세스에서 제출된 이름에 접미사를 연결하지 못하도록 합니다.
DNS_QUERY_ADDRCONFIG 0x00002000 Windows 7 전용: 인터페이스에서 IPv4 주소를 사용할 수 없는 경우 형식 쿼리 를 보내지 말고 IPv6 주소를 사용할 수 없는 경우 AAAA 형식 쿼리를 보내지 마세요.
DNS_QUERY_DUAL_ADDR 0x00004000 Windows 7 전용: AAAAA 형식 레코드를 모두 쿼리하고 각각에 대한 결과를 반환합니다. A 형식 레코드에 대한 결과는 AAAA 형식으로 매핑됩니다.
DNS_QUERY_MULTICAST_WAIT 0x00020000 전체 시간 제한이 로컬 링크에서 모든 응답을 수집할 때까지 기다립니다. 설정하지 않으면 기본 동작은 첫 번째 응답과 함께 를 반환하는 것입니다. Windows Vista 및 Windows Server 2008 이상: 이 값은 지원됩니다.
DNS_QUERY_MULTICAST_VERIFY 0x00040000 로컬 컴퓨터 호스트 이름을 사용하여 테스트를 지시하여 동일한 로컬 링크에서 이름 고유성을 확인합니다. 일반 LLMNR 보낸 사람 동작이 사용하도록 설정되지 않은 경우에도 모든 응답을 수집합니다. Windows Vista 및 Windows Server 2008 이상: 이 값은 지원됩니다.
DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000 설정되고 응답에 여러 레코드가 포함된 경우 레코드는 모든 레코드 중에서 최소값 TTL에 해당하는 TTL과 함께 저장됩니다. 이 옵션을 설정하면 반환된 레코드 집합의 "개별 레코드의 TTL을 변경하지 마세요"가 수정되지 않습니다.
DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000 DnsQuery, DnsQueryEx, DnsModifyRecordsInSetDnsReplaceRecordSet API에서 IDN(International Domain Name) 인코딩 지원을 사용하지 않도록 설정합니다. 모든 punycode 이름은 ASCII로 처리되며 유선에서 ASCII로 인코딩됩니다. ASCII가 아닌 모든 이름은 유선에서 UTF8로 인코딩됩니다. Windows 8 이상: 이 값은 지원됩니다.
DNS_QUERY_APPEND_MULTILABEL 0x00800000
DNS_QUERY_RESERVED 0xf0000000 예약되어 있습니다.

DNS 업데이트 옵션

상수 의미
DNS_UPDATE_SECURITY_USE_DEFAULT 0x00000000 보안 동적 DNS 업데이트에 대해 레지스트리에 지정된 기본 동작을 사용합니다.
DNS_UPDATE_SECURITY_OFF 0x00000010 보안 동적 업데이트를 시도하지 않습니다.
DNS_UPDATE_SECURITY_ON 0x00000020 안전하지 않은 동적 업데이트를 시도합니다. 거부되면 보안 동적 업데이트를 시도합니다.
DNS_UPDATE_SECURITY_ONLY 0x00000100 동적 업데이트만 보호하려고 시도합니다.
DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x00000200 향후 트랜잭션에서 사용할 보안 컨텍스트를 캐시합니다.
DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x00000400 로컬 컴퓨터 계정의 자격 증명을 사용합니다.
DNS_UPDATE_FORCE_SECURITY_NEGO 0x00000800 캐시된 보안 컨텍스트를 사용하지 않습니다.
DNS_UPDATE_TRY_ALL_MASTER_SERVERS 0x00001000 모든 다중 master DNS 서버에 DNS 업데이트를 보냅니다.
DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS 0x00002000 동적 DNS 업데이트가 사용하지 않도록 설정된 어댑터를 업데이트하지 마세요. Windows 2000 Server SP2 이상: 이 값은 지원됩니다.
DNS_UPDATE_REMOTE_SERVER 0x00004000 로컬 DNS 서버 외에도 원격 서버에 CNAME 레코드를 등록합니다. Windows 2000 Server SP2 이상: 이 값은 지원됩니다.
DNS_UPDATE_RESERVED 0xffff0000 다음에 사용하도록 예약됩니다.

DNS 응답 코드

오류 의미
DNS_RCODE_NOERROR 오류 없음
DNS_RCODE_FORMERR 형식 오류
DNS_RCODE_SERVFAIL 서버 오류
DNS_RCODE_NXDOMAIN 이름 오류
DNS_RCODE_NOTIMPL 구현되지 않음
DNS_RCODE_REFUSED 연결이 거부되었습니다.
DNS_RCODE_YXDOMAIN 도메인 이름이 없어야 합니다.
DNS_RCODE_YXRRSET RR(리소스 레코드) 집합이 없어야 합니다.
DNS_RCODE_NXRRSET RR 집합이 없습니다.
DNS_RCODE_NOTAUTH 영역에 대한 권한이 없음
DNS_RCODE_NOTZONE 영역에 없는 이름
DNS_RCODE_BADVERS EDNS(DNS용 잘못된 확장 메커니즘) 버전
DNS_RCODE_BADSIG 잘못된 서명
DNS_RCODE_BADKEY 잘못된 키
DNS_RCODE_BADTIME 잘못된 타임스탬프

DNS 프로토콜

상수 의미
DNS_PROTOCOL_UNSPECIFIED 0
DNS_PROTOCOL_UDP 1
DNS_PROTOCOL_TCP 2
DNS_PROTOCOL_DOH 3
DNS_PROTOCOL_DOT 4
DNS_PROTOCOL_NO_WIRE 5

기타 상수

상수 의미
DNS_QUERY_RAW_RESULTS_VERSION1 0x1
DNS_QUERY_RAW_REQUEST_VERSION1 0x1
DNS_QUERY_RAW_OPTION_BEST_EFFORT_PARSE 0x1