共用方式為


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 類別類型

恆定 價值
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:查詢 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」。
DNS_QUERY_DISABLE_IDN_ENCODING(禁用國際化域名編碼查詢) 0x00200000 停用 DnsQueryDnsQueryExDnsModifyRecordsInSetDnsReplaceRecordSet API 中的國際域名 (IDN) 編碼支援。 所有 punycode 名稱都會被視為 ASCII,而且會在傳輸過程中以 ASCII 編碼。 所有非 ASCII 名稱在傳輸過程中都會以 UTF-8 編碼。 Windows 8 或更新版本。.. 支援此值。
DNS_QUERY_APPEND_MULTILABEL 0x00800000
DNS_QUERY_RESERVED 0xf0000000 保留。

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