ADDRINFO_DNS_SERVER 结构 (ws2def.h)
表示 Winsock API 中使用的自定义域名系统 (DNS) 服务器。
语法
typedef struct addrinfo_dns_server {
unsigned int ai_servertype;
unsigned __int64 ai_flags;
unsigned int ai_addrlen;
struct sockaddr *ai_addr;
union {
PWSTR ai_template;
};
} ADDRINFO_DNS_SERVER;
成员
ai_servertype
DNS 服务器的类型。 可以是以下值之一。
常数 | Value | 含义 |
---|---|---|
AI_DNS_SERVER_TYPE_UDP | 1 | 常规 DNS 服务器。 |
AI_DNS_SERVER_TYPE_DOH | 2 | DNS-over-HTTPS 服务器。 |
ai_flags
包含以下任何选项的位图。
常数 | Value | 含义 |
---|---|---|
AI_DNS_SERVER_UDP_FALLBACK | 0x1 | 此服务器还可用于非安全名称解析。 |
ai_addrlen
ai_addr指向的套接字地址结构的长度(以字节为单位)。
ai_addr
指向包含自定义服务器地址的套接字地址结构的指针。 仅支持 SOCKADDR_IN 和 SOCKADDR_IN6 结构。 sa_family成员必须设置为 AF_INET 或 AF_INET6。 结构的其余部分必须归零,但 IPv4 的 SOCKADDR_IN::sin_addr 成员或 IPv6 的 SOCKADDR_IN6::sin6_addr 除外。
ai_template
如果 ai_servertype 设置为 AI_DNS_SERVER_TYPE_DOH,则此成员必须指向一个 以 NULL 结尾的宽字符串,该字符串表示此服务器的 DNS-over-HTTPS 模板。
如果 ai_servertype 设置为 AI_DNS_SERVER_TYPE_UDP,则此字段必须为 NULL。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 内部版本 22000 |
最低受支持的服务器 | Windows 内部版本 22000 |
标头 | ws2def.h |