DnsApi简单探索(4) DNS_QUERY_CANCEL struct 及其他
来源:互联网 发布:隐形眼镜 品牌 知乎 编辑:程序博客网 时间:2024/05/02 03:08
DNS_QUERY_CANCEL仅用于异步查询时取消, 且只能在回调开始后使用. 内容很少, 余下部分贴一点DNS_QUERY_REQUEST和DNS_QUERY_RESULT结构内成员的类型.
DNS_QUERY_CANCEL structure
DNS_QUERY_CANCEL可以被用于取消一个异步DNS请求.
语法
typedef struct_DNS_QUERY_CANCEL
{ CHAR Reserved[32];} DNS_QUERY_CANCEL, *PDNS_QUERY_CANCEL;
成员
Reserved
包含一个handle, 用于异步请求取消. 应用程序不能修改这个值.
注意
这个结构从一个已被调用的DnsQueryEx的pCancelHandle 参数返回.
DNS_RECORD structure
DNS_RECORD结构存储了一个DNS资源记录(RR)
语法
typedef struct_DnsRecord { DNS_RECORD *pNext; PWSTR pName; WORD wType; WORD wDataLength; union { DWORD DW; DNS_RECORD_FLAGS S; } Flags; DWORD dwTtl; DWORD dwReserved; union { DNS_A_DATA A; DNS_SOA_DATA SOA, Soa; DNS_PTR_DATA PTR, Ptr, NS, Ns, CNAME, Cname, DNAME, Dname, MB, Mb, MD, Md, MF, Mf, MG, Mg, MR, Mr; DNS_MINFO_DATA MINFO, Minfo, RP, Rp; DNS_MX_DATA MX, Mx, AFSDB, Afsdb, RT, Rt; DNS_TXT_DATA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25; DNS_NULL_DATA Null; DNS_WKS_DATA WKS, Wks; DNS_AAAA_DATA AAAA; DNS_KEY_DATA KEY, Key; DNS_SIG_DATA SIG, Sig; DNS_ATMA_DATA ATMA, Atma; DNS_NXT_DATA NXT, Nxt; DNS_SRV_DATA SRV, Srv; DNS_NAPTR_DATA NAPTR, Naptr; DNS_OPT_DATA OPT, Opt; DNS_DS_DATA DS, Ds; DNS_RRSIG_DATA RRSIG, Rrsig; DNS_NSEC_DATA NSEC, Nsec; DNS_DNSKEY_DATA DNSKEY, Dnskey; DNS_TKEY_DATA TKEY, Tkey; DNS_TSIG_DATA TSIG, Tsig; DNS_WINS_DATA WINS, Wins; DNS_WINSR_DATA WINSR, WinsR, NBSTAT, Nbstat; DNS_DHCID_DATA DHCID; } Data;} DNS_RECORD, *PDNS_RECORD;
成员
pNext
指向下一个DNS_RECORD结构的指针.
pName
指向表示记录中域名的字符串的指针. 这必须是符合函数调用格式的字符串. 例如ANSI, Unicode或者UTF8.
wType
表示RR类型DNS Record Type. wType决定了Data的格式. 例如, 如果wType值为DNS_TYPE_A, Data的数据类型为DNS_A_DATA.
wDataLength
Data的数据长度,单位byte.
对于fixed-length, 该值是对应数据类型的大小, 例如 sizeof(DNS_A_DATA).
对于non-fixed, 使用下列宏之一来确定数据长度:
#include <windows.h>#define DNS_NULL_RECORD_LENGTH(ByteCount) (sizeof(DWORD) + (ByteCount))#define DNS_WKS_RECORD_LENGTH(ByteCount) (sizeof(DNS_WKS_DATA) + (ByteCount-1))#define DNS_WINS_RECORD_LENGTH(IpCount) (sizeof(DNS_WINS_DATA) + ((IpCount-1) * sizeof(IP_ADDRESS)))#define DNS_TEXT_RECORD_LENGTH(StringCount) (sizeof(DWORD) + ((StringCount) * sizeof(PCHAR)))
Flags
Flags取值
说明
DW
包含一个DNS_Record_Flags的位图(bitmap).
S
以DNS_RECORD_FLAGS结构形式的一组标志.
dwTtl
DNS RR的生存期, 单位秒.
dwReserved
预留的, 未被使用.
Data
DNS RR数据类型由wType决定, 取值为是下列之一:
RR类型
RR数据类型
wType取值
说明
A
DNS_A_DATA
DNS_TYPE_A
SOA, Soa
DNS_SOA_DATA
DNS_TYPE_SOA
PTR, Ptr, NS, Ns, CNAME, Cname, DNAME, Dname, MB, Mb, MD, Md, MF, Mf, MG, Mg, MR, Mr
DNS_PTR_DATA
DNS_TYPE_PTR
MINFO, Minfo, RP, Rp
DNS_MINFO_DATA
DNS_TYPE_MINFO
MX, Mx, AFSDB, Afsdb, RT, Rt
DNS_MX_DATA
DNS_TYPE_MX
HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25
DNS_TXT_DATA
DNS_TYPE_TEXT
Null
DNS_NULL_DATA
DNS_TYPE_NULL
WKS, Wks
DNS_WKS_DATA
DNS_TYPE_WKS
AAAA
DNS_AAAA_DATA
DNS_TYPE_AAAA
KEY, Key
DNS_KEY_DATA
DNS_TYPE_KEY
SIG, Sig
DNS_SIG_DATA
DNS_TYPE_SIG
ATMA, Atma
DNS_ATMA_DATA
DNS_TYPE_ATMA
NXT, Nxt
DNS_NXT_DATA
DNS_TYPE_NXT
SRV, Srv
DNS_SRV_DATA
DNS_TYPE_SRV
NAPTR, Naptr
DNS_NAPTR_DATA
DNS_TYPE_NAPTR
OPT, Opt
DNS_OPT_DATA
DNS_TYPE_OPT
Windows 7 or later
DS, Ds
DNS_DS_DATA
DNS_TYPE_DS
Windows 7 or later
RRSIG, Rrsig
DNS_RRSIG_DATA
DNS_TYPE_RRSIG
Windows 7 or later
NSEC, Nsec
DNS_NSEC_DATA
DNS_TYPE_NSEC
Windows 7 or later
DNSKEY, Dnskey
DNS_DNSKEY_DATA
DNS_TYPE_DNSKEY
Windows 7 or later
TKEY, Tkey
DNS_TKEY_DATA
DNS_TYPE_TKEY
TSIG, Tsig
DNS_TSIG_DATA
DNS_TYPE_TSIG
WINS, Wins
DNS_WINS_DATA
DNS_TYPE_WINS
WINSR, WinsR, NBSTAT, Nbstat
DNS_WINSR_DATA
DNS_TYPE_WINSR
DHCID
DNS_DHCID_DATA
DNS_TYPE_DHCID
Windows 7 or later
注意
当建立一个DNS_RECORD列表作为为DNS API中发现的各种DNS更新例程的输入参数时, 在DNS_RECORD结构的所有标志应当被设置为零. (使用前初始化)
- DnsApi简单探索(4) DNS_QUERY_CANCEL struct 及其他
- DnsApi简单探索(2) DNS_QUERY_REQUEST struct
- DnsApi简单探索(3) DNS_QUERY_RESULT struct
- DnsApi简单探索(1) DnsQueryEx function
- DnsApi简单探索(5) DnsQuery function
- DnsApi简单探索(6) DnsQuery Demo
- 深入探索Java工作原理:JVM内存回收及其他
- 深入探索Java工作原理:JVM,内存回收及其他
- struct探索
- struct 探索
- 存储过程中 游标(CURSOR)的简单使用及其他
- 存储过程中 游标(CURSOR)的简单使用及其他
- button及其他容器圆角简单实现
- msyql常用大全4 -错误代码及其他
- struct深层探索
- struct用法深入探索
- struct用法深入探索
- struct用法深入探索
- try-catch-finally异常处理(一)
- SSH-Hibernate(二)—映射关系(下)
- CSDN2014博客之星评选(求投票支持)
- 2014年终总结
- Unity3D学习之(多表连接查询)
- DnsApi简单探索(4) DNS_QUERY_CANCEL struct 及其他
- 树的遍历
- 大学三年半的收支情况
- NSNull作用
- Mybatis XML 文档结构必须从头至尾包含在同一个实体内
- cocos2d-x如何检测碰撞
- HDU1977 Consecutive sum II【水题】
- 【Leetcode】Excel Sheet Column Title
- PLAYGIRLS ~紗倉まな~ 3D 界面汉化+注册表补丁