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 (DNS密钥类型) |
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 操作代码未知 (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 服务器不执行递归解析来解析查询)。 |
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:查询 AAAA 和 A 类型记录,并为每个返回结果。 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、DnsModifyRecordsInSet和 DnsReplaceRecordSet API 中禁用国际域名(IDN)编码支持。 所有 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 |
向所有多主 DNS 服务器发送 DNS 更新。 |
DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS |
0x00002000 |
不要更新禁用动态 DNS 更新的适配器。具有 SP2 或更高版本的 Windows 2000 Server。 支持此值。 |
DNS_UPDATE_REMOTE_SERVER |
0x00004000 |
除了本地 DNS 服务器之外,在远程服务器上注册 CNAME 记录。具有 SP2 或更高版本的 Windows 2000 Server。 支持此值。 |
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 |
DNS (EDNS) 版本的扩展机制错误 |
DNS_RCODE_BADSIG |
签名错误 |
DNS_RCODE_BADKEY |
无效密钥 |
DNS_RCODE_BADTIME |
时间戳错误 |
DNS 协议
恒定 |
值 |
意义 |
DNS_PROTOCOL_UNSPECIFIED(DNS协议未指定) |
0 |
|
DNS 协议 (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 |
|