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 サーバーに指示します)。
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 アドレスがインターフェイスで使用できない場合は A 型クエリを送信せず、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、DnsQueryExDnsModifyRecordsInSet、および 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 更新が無効になっているアダプターは更新しないでください。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 Connection 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 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