DnsQueryEx()三个参数之一, 该结构包含Dns查询的返回结果, DNS_QUERY_REQUEST和DNS_QUERY_RESULT两个是主要参数, 基本查询只知道这俩参数就足够了.
DNS_QUERY_RESULT结构包含DNS查询结果
typedef struct_DNS_QUERY_RESULT {
ULONG Version;
DNS_STATUS QueryStatus;
ULONG64 QueryOptions;
PDNS_RECORDS pQueryRecords;
PVOID reserved;
} DNS_QUERY_RESULT, *PDNS_QUERY_RESULT;
结构版本必须是下列之一:
DNS_QUERY_REQUEST_VERSION1 (1)
DnsQueryEx()的返回状态.
如果异步请求完成, 并且这个值通过DnsQueryEx()直接返回, 那么QueryStatus的值将包含DNS_REQUEST_PENDING.
如果同步请求完成, 或者这个值通过DNS_QUERY_COMPLETION_ROUTINE回调返回, 那么QueryStatus的值将包含ERROR_SUCCESS或者其他错误编号, 错误编号在Winerror.h中定义.
包含一个DNS Query Options的位图(bitmap), 选项可以组合, 并且所有选项覆盖DNS_QUERY_STANDARD
指向DNS_RECORD的指针.
如果异步请求完成, 并且这个值通过DnsQueryEx()直接返回, 那么pQueryRecords 的值为NULL.
如果同步请求完成, 或者这个值通过DNS_QUERY_COMPLETION_ROUTINE回调返回, 那么pQueryRecords 的值将包含一个资源记录 (RR) 列表. 这些次元记录构成响应.
注意: 应用程序必须调用DnsRecordListFree释放返回的RR.
预留值, 为NULL.