下列常數是按照主機位元組順序為 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類型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 (DNS 類型為 WINS) |
0xff01 |
| DNS_TYPE_WINSR |
0xff02 |
| DNS_TYPE_NBSTAT |
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 |
0x0002 |
| DNS_CLASS_CHAOS |
0x0003 |
| DNS_CLASS_HESIOD |
0x0004 |
| DNS 類別:無 |
0x00fe |
| DNS_CLASS_ALL |
0x00ff |
| DNS_CLASS_ANY |
0x00ff |
DNS 查詢類型
| 常數 |
價值 |
| DNS_OPCODE_QUERY |
0x0000 |
| DNS 操作碼 IQUERY |
0x0001 |
| DNS_OPCODE_伺服器狀態 |
0x0002 |
| DNS_OPCODE_未知 |
0x0003 |
| DNS_OPCODE_NOTIFY |
0x0004 |
| DNS_操作碼_更新 |
0x0005 |
DNS 記錄標誌
下列旗標是指 DNS 訊息內資源記錄的 (RR) 區段:
| 常數 |
價值 |
意義 |
| DNSREC_QUESTION |
0x00000000 |
RR 位於問題區段 |
| DNSREC_ANSWER |
0x00000001 |
RR 位於答案區段中 |
| DNSREC_AUTHORITY |
0x00000002 |
RR 位於授權區段中 |
| DNSREC_ADDITIONAL |
0x00000003 |
RR 位於附加區段 |
下列旗標是指更新 DNS 訊息中 RR 區段中的某一部分,根據 RFC 2136:
| 常數 |
價值 |
意義 |
| 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(接受截斷回應的DNS查詢) |
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查詢無本地名稱 |
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_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 位址,請勿傳送 AAAA 類型查詢,如果 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」。 |
| DNS_QUERY_DISABLE_IDN_ENCODING(禁用國際化域名編碼查詢) |
0x00200000 |
停用 DnsQuery、DnsQueryEx、DnsModifyRecordsInSet和 DnsReplaceRecordSet API 中的國際域名 (IDN) 編碼支援。 所有 punycode 名稱都會被視為 ASCII,而且會在傳輸過程中以 ASCII 編碼。 所有非 ASCII 名稱在傳輸過程中都會以 UTF-8 編碼。
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_QUERY_PARSE_ALL_RECORDS,才能剖析 DNS_TYPE_SVCB 和 DNS_TYPE_HTTPS,或日後定義的任何新記錄類型。 |
DNS 更新選項
| 常數 |
價值 |
意義 |
| DNS_UPDATE_SECURITY_USE_DEFAULT |
0x00000000 |
使用登錄中指定的預設行為來保護動態 DNS 更新。 |
| DNS_UPDATE_SECURITY_OFF (取消DNS更新安全性) |
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強制安全協議談判 |
0x00000800 |
不使用緩存的安全上下文 |
| DNS_UPDATE_TRY_ALL_MASTER_SERVERS |
0x00001000 |
將 DNS 更新傳送至所有多宿主 DNS 伺服器。 |
| DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS |
0x00002000 |
請勿更新停用動態 DNS 更新的配接器。Windows 2000 Server sp2 或更新版本。 支援此值。 |
| 遠端伺服器的DNS更新 |
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 |
DNS(EDNS)版本的錯誤擴展機制 |
| DNS_RCODE_BADSIG |
簽章不正確 |
| DNS_RCODE_BADKEY(DNS 錯誤碼:密鑰無效) |
壞的鍵 |
| DNS_RCODE_BADTIME |
時間戳錯誤 |
DNS 通訊協定
| 常數 |
價值 |
意義 |
| DNS_PROTOCOL_UNSPECIFIED |
0 |
|
| DNS_PROTOCOL_UDP |
1 |
|
| DNS 協定 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 |
|