다음 상수는 호스트 바이트 순서로 DNS에 대해 정의됩니다.
DNS 레코드 형식
DNS 쿼리/레코드 형식입니다.
| 상수 | 값 |
|---|---|
| DNS_TYPE_A | 0x0001 |
| DNS_TYPE_NS (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 (도메인 이름 시스템 유형 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_타입_키 | 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 (DNS 유형 KX) | 0x0024 |
| DNS_유형_인증서 | 0x0025 |
| DNS 유형 A6 (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 유형 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 (NBSTAT 유형의 DNS) | DNS_TYPE_WINSR |
| DNS_TYPE_TLSA. RFC 6698을 참조하세요. | 0x0034 (52) |
| DNS_TYPE_SVCB. draft-ietf-dnsop-svcb-https를 참조하세요. DNS_TYPE_SVCB 설정되면( DNS_QUERY_REQUEST3::QueryType) DnsQueryEx 의 응답은 DNS_SVCB_DATA 형식입니다. | 0x0040 (64) |
| DNS_TYPE_HTTPS. draft-ietf-dnsop-svcb-https를 참조하세요. DNS_TYPE_HTTPS 설정되면( DNS_QUERY_REQUEST3::QueryType) DnsQueryEx 의 응답은 DNS_SVCB_DATA 형식입니다. | 0x0041 (65) |
DNS 클래스 형식
| 상수 | 값 |
|---|---|
| DNS_CLASS_INTERNET (인터넷 클래스) | 0x0001 |
| DNS_CLASS_CSNET (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 (DNS 쿼리 코드 IQUERY) | 0x0001 |
| DNS 운영 코드: 서버 상태 | 0x0002 |
| DNS_OPCODE_UNKNOWN | 0x0003 |
| DNS_OPCODE_NOTIFY | 0x0004 |
| DNS_연산코드_업데이트 | 0x0005 |
DNS 레코드 플래그
다음 플래그는 DNS 메시지 내의 RR(리소스 레코드) 섹션을 참조합니다.
| 상수 | 값 | 의미 |
|---|---|---|
| DNSREC_질문 | 0x00000000 | RR은 질문 섹션에 있습니다. |
| DNSREC_응답 | 0x00000001 | RR은 응답 섹션에 있습니다. |
| DNSREC_AUTHORITY | 0x00000002 | RR은 권한 섹션에 있습니다. |
| DNSREC_ADDITIONAL | 0x00000003 | RR은 추가 섹션에 있습니다. |
다음 플래그는 RFC 2136업데이트 DNS 메시지 내의 RR 섹션을 참조합니다.
| 상수 | 값 | 의미 |
|---|---|---|
| DNSREC_ZONE | 0x00000000 | RR은 영역 섹션에 있습니다. |
| DNSREC_PREREQ | 0x00000001 | RR은 전제 조건 섹션에 있습니다. |
| DNS 레코드 업데이트 | 0x00000002 | RR은 업데이트 섹션에 있습니다. |
다음 플래그는 상호 배타적입니다.
| 상수 | 값 | 의미 |
|---|---|---|
| DNSREC_DELETE | 0x00000004 | RR을 삭제합니다. DNSREC_UPDATE와 함께 사용됨 |
| DNSREC_NOEXIST (DNS 기록 없음) | 0x00000004 | RR이 없습니다. DNSREC_PREREQ와 함께 사용됨 |
DNS 쿼리 옵션
| 상수 | 값 | 의미 |
|---|---|---|
| DNS_QUERY_STANDARD | 0x00000000 | 표준 쿼리입니다. |
| DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE | 0x00000001 | 잘라낸 결과를 반환합니다. TCP에서 다시 시도하지 않습니다. |
| DNS_QUERY_USE_TCP_ONLY (TCP만 사용하여 DNS 쿼리 수행) | 0x00000002 | 쿼리에만 TCP를 사용합니다. |
| DNS_QUERY_NO_RECURSION | 0x00000004 | DNS 서버가 반복 쿼리를 수행하도록 지시합니다(특히 쿼리를 확인하기 위해 재귀 확인을 수행하지 않도록 DNS 서버를 지시함). |
| DNS 쿼리 캐시 우회 | 0x00000008 | 조회에서 확인자 캐시를 무시합니다. |
| DNS_QUERY_NO_WIRE_QUERY | 0x00000010 | DNS가 로컬 캐시에서만 쿼리를 수행하도록 지시합니다.Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다. 유사한 기능을 사용하려면 DNS_QUERY_CACHE_ONLY사용합니다. |
| DNS_쿼리_NO_로컬_이름 | 0x00000020 | DNS에 로컬 이름을 무시하도록 지시합니다.Windows 2000 Server 및 Windows 2000 Professional: 이 값은 지원되지 않습니다. |
| DNS 조회_호스트 파일 없음 | 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_쿼리_반환_메시지 | 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 (FQDN으로 취급) | 0x00001000 | DNS 응답이 이름 확인 프로세스에서 제출된 이름에 접미사를 연결하지 못하도록 합니다. |
| DNS_QUERY_ADDRCONFIG | 0x00002000 | Windows 7 전용: IPv4 주소를 인터페이스에서 사용할 수 없는 경우 형식 쿼리를 보내지 마세요. IPv6 주소를 사용할 수 없는 경우 AAAA 형식 쿼리를 보내지 마세요. |
| DNS_QUERY_DUAL_ADDR | 0x00004000 | Windows 7에만 해당: AAAA 및 A 형식 레코드를 쿼리하고 각각에 대한 결과를 반환합니다. A 형식 레코드에 대한 결과는 AAAA 형식으로 매핑됩니다. |
| DNS_QUERY_MULTICAST_WAIT (DNS 쿼리 멀티캐스트 대기) | 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, DnsModifyRecordsInSet, 및 DnsReplaceRecordSet API에서 국제 도메인 이름(IDN) 인코딩 지원을 비활성화합니다. 모든 punycode 이름은 ASCII로 처리되며 유선에서 ASCII로 인코딩됩니다. ASCII가 아닌 모든 이름은 유선에서 UTF8로 인코딩됩니다. Windows 8 이상.: 이 값이 지원됩니다. |
| DNS_QUERY_APPEND_MULTILABEL | 0x00800000 | |
| DNS_QUERY_RESERVED | 0xf0000000 | 예약됨. |
| DNS_QUERY_PARSE_ALL_RECORDS | 0x0400000000000000 | DNS_QUERY_PARSE_ALL_RECORDS 설정되면( DNS_QUERY_REQUEST3::QueryOptions에서) DnsQueryEx 는 구문 분석할 수 없는 모든 반환 레코드를 차단합니다. 구문 분석된 레코드만 반환됩니다(구문 분석할 수 없는 알 수 없는 레코드는 반환되지 않음). DNS_QUERY_PARSE_ALL_RECORDS 설정되지 않은 경우 모든 것을 반환하기 위해 최선의 노력을 기울입니다. 따라서 레코드를 구문 분석할 수 없는 경우 플랫 버퍼로 반환됩니다. 반환 레코드가 플랫 형식인지 구문 분석된 형식인지 확인하려면 DnsIsFlatRecord를 호출할 수 있습니다. 현재 구문 분석하지 않는 이후 레코드 형식에 대한 구문 분석을 추가할 때 유용합니다. DNS_QUERY_PARSE_ALL_RECORDS 설정되지 않으면 DNS_TYPE_A, DNS_TYPE_NS, DNS_TYPE_MD, DNS_TYPE_MF, DNS_TYPE_CNAME, DNS_TYPE_SOA, DNS_TYPE_MB, DNS_TYPE_MG, DNS_TYPE_MR, DNS_TYPE_WKS, DNS_TYPE_PTR, DNS_TYPE_HINFO, DNS_TYPE_MINFO, DNS_TYPE_MX 등의 레코드가 구문 분석됩니다. DNS_TYPE_TEXT, DNS_TYPE_RP, DNS_TYPE_AFSDB, DNS_TYPE_X25, DNS_TYPE_ISDN, DNS_TYPE_RT, DNS_TYPE_SIG, DNS_TYPE_KEY, DNS_TYPE_AAAA, DNS_TYPE_SRV, DNS_TYPE_ATMA, DNS_TYPE_NAPTR, DNS_TYPE_DNAME, DNS_TYPE_OPT, DNS_TYPE_DS, DNS_TYPE_RRSIG, DNS_TYPE_NSEC, DNS_TYPE_DNSKEY, DNS_TYPE_DHCID DNS_TYPE_NSEC3, DNS_TYPE_NSEC3PARAM, DNS_TYPE_TLSA, DNS_TYPE_TKEY, DNS_TYPE_TSIG, DNS_TYPE_WINS, DNS_TYPE_WINSR. 다른 모든 레코드 형식은 플랫 형식으로 반환되며(플랫 읽기 호환되는 한) 필요한 경우 구문 분석하는 것은 호출자의 책임입니다. 다른 레코드 형식을 구문 분석된 형식(사용 가능한 경우)으로 되돌리려면 DNS_QUERY_PARSE_ALL_RECORDS 설정해야 합니다. 이전 버전과의 호환성을 위해 DNS_TYPE_SVCB 및 DNS_TYPE_HTTPS 구문 분석하거나 나중에 정의된 새 레코드 형식을 구문 분석하기 위해 DNS_QUERY_PARSE_ALL_RECORDS 설정해야 합니다. |
DNS 업데이트 옵션
| 상수 | 값 | 의미 |
|---|---|---|
| DNS_UPDATE_SECURITY_USE_DEFAULT | 0x00000000 | 레지스트리에 지정된 기본 동작을 보안 동적 DNS 업데이트에 사용합니다. |
| DNS 업데이트 보안 해제 | 0x00000010 | 보안 동적 업데이트를 시도하지 않습니다. |
| DNS_UPDATE_SECURITY_ON | 0x00000020 | 안전하지 않은 동적 업데이트를 시도합니다. 거부되면 보안 동적 업데이트를 시도합니다. |
| DNS_UPDATE_SECURITY_ONLY (DNS 업데이트 보안 전용) | 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 | 모든 다중 마스터 DNS 서버에 DNS 업데이트를 보냅니다. |
| DNS_업데이트_업데이트_없음_어댑터_건너뛰기 | 0x00002000 | 동적 DNS 업데이트가 사용하지 않도록 설정된 어댑터는 업데이트하지 마세요.: SP2 이상이 설치된 Windows 2000 Server에서는 지원됩니다. 이 값이 지원됩니다. |
| DNS_UPDATE_REMOTE_SERVER | 0x00004000 | 로컬 DNS 서버 외에도 원격 서버에 CNAME 레코드를 등록합니다.SP2 이상의 Windows 2000 Server: 이 값이 지원됩니다. |
| DNS 업데이트 예약됨 | 0xffff0000 | 향후 사용을 위해 예약됨. |
DNS 응답 코드
| 오류 | 의미 |
|---|---|
| DNS_RCODE_NOERROR | 오류 없음 |
| DNS_RCODE_FORMERR (형식 오류) | 형식 오류 |
| DNS_RCODE_SERVFAIL (DNS 서버 실패) | 서버 오류 |
| 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 (DNS 버전 오류) | 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_프로토콜_점 | 4 | |
| DNS_프로토콜_노_와이어 | 5 |
기타 상수
| 상수 | 값 | 의미 |
|---|---|---|
| DNS_QUERY_RAW_RESULTS_VERSION1 | 0x1 | |
| DNS_QUERY_RAW_REQUEST_VERSION1 | 0x1 | |
| DNS_QUERY_RAW_OPTION_BEST_EFFORT_PARSE | 0x1 |