热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

DnsApi简单探索(2)DNS

前文提到DnsQueryEx()请求是需要用到三个参数,其中DNS_QUERY_REQUEST便是第一个参数,用来这是请求信息,例如要请求的DNS服务器,要请求的域名等等.DNS_QUERY_REQUESTstructureDNS_QUERY_REQUEST结构包含了DnsQueryEx()进行DNS请求所用到的参数语

前文提到DnsQueryEx()请求是需要用到三个参数, 其中DNS_QUERY_REQUEST便是第一个参数, 用来这是请求信息, 例如要请求的DNS服务器, 要请求的域名等等. DNS_QUERY_REQUEST structure DNS_QUERY_REQUEST 结构包含了 DnsQueryEx() 进行 DNS 请求所用到的参数 语

前文提到DnsQueryEx()请求是需要用到三个参数, 其中DNS_QUERY_REQUEST便是第一个参数, 用来这是请求信息, 例如要请求的DNS服务器, 要请求的域名等等.


DNS_QUERY_REQUEST structure

DNS_QUERY_REQUEST 结构包含了DnsQueryEx() 进行DNS请求所用到的参数

语法

typedef struct _DNS_QUERY_REQUEST {
       ULONG                         Version;
       PCWSTR                        QueryName;
       WORD                          QueryType;
       ULONG64                       QueryOptions;
       PDNS_ADDR_ARRAY               pDnsServerList;
       ULONG                         InterfaceIndex;
       PDNS_QUERY_COMPLETION_ROUTINE pQueryCompletionCallback;
       PVOID                         pQueryContext;
} DNS_QUERY_REQUEST, *PDNS_QUERY_REQUEST;


成员

Version

结构版本号必须是下列之一:

DNS_QUERY_REQUEST_VERSION1 (1)

QueryName

一个指向要查询的DNS名的字符串的指针,

注意: 如果QueryName为空, 则使用本地DNS进行查询.

QueryType

表示资源记录(RR)DNS_Record_Type是否被请求的标志.

QueryType决定了DNS_QUERY_RESULT返回的pQueryRecord数的据格式.

例如, 如果wTypeDNS_TYPE_A, pQueryRecords的数据格式为DNS_A_DATA.

QueryOptions

包含了DNS_Query_Options的位图(bitmap).

DNS_Query_Options选项可以组合, 并且所有选项覆盖DNS_QUERY_STANDARD

pDnsServerList

一个指向DNS_ADDR_ARRAY的指针, 包含了一个DNS_Servers列表.

InterfaceIndex

接口索引. 如果InterfaceIndex值为0, 则所有接口都将被考虑.

pQueryCompletionCallback

指向DNS_QUERY_COMPLETION_ROUTINE回调函数的指针, DNS_QUERY_COMPLETION_ROUTINE用于返回异步查询结果.

注意: 如果该值为NULL,DnsQueryEx同步机制.

pQueryContext

指向用户自定义数据的指针.


注意

某些定义, 如QueryType, 请参见微软官方.


推荐阅读
author-avatar
何卫先生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有