易语言DnsQuery解析DNS源码
系统结构:DnsFlushResolverCache,DnsQuery_A1,DnsQuery_A,DnsQuery_W,DnsModifyRecordsInSet_A,DnsGetCacheDataTable,inet_addr,DnsRecordListFree,GetAddrInfo,LocalSize_DNS_RECORD,RtlMoveMemory_DNS_RECORD,RtlZeroMemory_DNS_RECOR,SetHandleCount_DNS_RECOR,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ DnsFlushResolverCache
| |
| |---[dll]------ DnsQuery_A1
| |
| |---[dll]------ DnsQuery_A
| |
| |---[dll]------ DnsQuery_W
| |
| |---[dll]------ DnsModifyRecordsInSet_A
| |
| |---[dll]------ DnsGetCacheDataTable
| |
| |---[dll]------ inet_addr
| |
| |---[dll]------ DnsRecordListFree
| |
| |---[dll]------ GetAddrInfo
| |
| |---[dll]------ LocalSize_DNS_RECORD
| |
| |---[dll]------ RtlMoveMemory_DNS_RECORD
| |
| |---[dll]------ RtlZeroMemory_DNS_RECOR
| |
| |---[dll]------ SetHandleCount_DNS_RECOR
调用的DLL命令:
.DLL命令 DnsFlushResolverCache, 逻辑型, "Dnsapi.dll", "DnsFlushResolverCache", , 清除DNS缓存
.DLL命令 DnsQuery_A1, 整数型, "Dnsapi.dll", "DnsQuery_A", 公开, DNS_STATUS WINAPI DnsQuery
.参数 lpstrName, 文本型, , 被查询的名称
.参数 wType, 整数型, , 如:DNS_TYPE_A(1) DNS_TYPE_MX(15) DNS_TYPE_AAAA(28) 等等很多.得查常量表
.参数 fOptions, 整数型, , 查询设置.N多DNS_QUERY_STANDARD(0)|DNS_QUERY_USE_TCP_ONLY等等.多项需要位或
.参数 pExtra, 整数型, , 保留参数 必须设置为NULL
.参数 ppQueryResultsSet, 整数型, 传址, 查询结果
.参数 pReserved, 整数型, , 保留参数 必须设置为NULL
.DLL命令 DnsQuery_A, 整数型, "Dnsapi.dll", "DnsQuery_A", 公开, DNS_STATUS WINAPI DnsQuery
.参数 lpstrName, 文本型, , 被查询的名称
.参数 wType, 短整数型, , 如:DNS_TYPE_A(1) DNS_TYPE_MX(15) DNS_TYPE_AAAA(28) 等等很多.得查常量表
.参数 fOptions, 整数型, , 查询设置.N多DNS_QUERY_STANDARD(0)|DNS_QUERY_USE_TCP_ONLY等等.多项需要位或
.参数 pExtra, 整数型, , 保留参数 必须设置为NULL
.参数 ppQueryResultsSet, DNS_RECORD, , 查询结果
.参数 pReserved, 整数型, , 保留参数 必须设置为NULL
.DLL命令 DnsQuery_W, 整数型, "Dnsapi.dll", "DnsQuery_W", 公开, DNS_STATUS WINAPI DnsQuery_W
.参数 pszName, 字节集, , IN PCWSTR pszName,
.参数 wType, 短整数型, , IN WORD wType,
.参数 Options, 整数型, , IN DWORD Options ,
.参数 aipServers, IP4_ARRAY, , ,
.参数 ppQueryResults, DNS_RECORD, 传址, ,
.参数 pReserved, 整数型, 传址, ,
.DLL命令 DnsModifyRecordsInSet_A, , "Dnsapi.dll", "DnsModifyRecordsInSet_A", 公开, DNS_STATUS WINAPI DnsModifyRecordsInSet
.参数 pAddRecords, DNS_RECORD, , PDNS_RECORD pAddRecords,
.参数 pDeleteRecords, DNS_RECORD, , PDNS_RECORD pDeleteRecords,
.参数 Options, 整数型, , DNS_UPDATE_SECURITY_USE_DEFAULT:0 DNS_UPDATE_SECURITY_OFF:16等等
.参数 hContext, 整数型, , HANDLE hContext, 可选
.参数 pServerList, 整数型, 传址, PIP4_ARRAY pServerList,
.参数 pReserved, 整数型, , PVOID pReserved,
.DLL命令 DnsGetCacheDataTable, , "Dnsapi.dll", "DnsGetCacheDataTable"
.参数 DNS_CACHE_ENTRY, DNS_CACHE_ENTRY, 传址
.DLL命令 inet_addr, 整数型, "ws2_32.dll", "inet_addr"
.参数 cp, 文本型
.DLL命令 DnsRecordListFree, , "Dnsapi.dll", "DnsRecordListFree", 公开, void WINAPI DnsRecordListFree
.参数 pRecordList, DNS_RECORD, 传址, __in_out PDNS_RECORD pRecordList,
.参数 FreeType, DNS_FREE_TYPE, , __in DNS_FREE_TYPE FreeType,
.DLL命令 GetAddrInfo, 整数型, "ws2_32.dll", "GetAddrInfo", 公开, int WSAAPI getaddrinfo
.参数 hostname, 文本型, , 一个主机名或者地址串(IPv4的点分十进制串或者IPv6的16进制串)
.参数 service, 文本型, , 服务名可以是十进制的端口号,也可以是已定义的服务名称,如ftp、http等
.参数 hints, addrinfo, , 可以是一个空指针,也可以是一个指向某个addrinfo结构体的指针
.参数 res, addrinfo, 传址, __out struct addrinfo res,
.DLL命令 LocalSize_DNS_RECORD, 整数型, "kernel32", "LocalSize", , 相当于sizeof() 取本地内存块大小
.参数 hMem, DNS_RECORD, 传址
.DLL命令 RtlMoveMemory_DNS_RECORD, , "kernel32", "RtlMoveMemory"
.参数 Destination, DNS_RECORD, 传址
.参数 Source, 整数型
.参数 Length, 整数型, , LocalSize_DNS_RECORD 64长度
.DLL命令 RtlZeroMemory_DNS_RECOR, , "kernel32.dll", "RtlZeroMemory", , ZeroMemory
.参数 目的对象, DNS_RECORD, 传址, Destination
.参数 Length, 整数型, , LocalSize_DNS_RECORD
.DLL命令 SetHandleCount_DNS_RECOR, 整数型, "Kernel32.dll", "SetHandleCount"
.参数 DNS_RECORD, DNS_RECORD
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。