DnsQuery_A函数 (windns.h)
DnsQuery 函数类型是 DNS 命名空间的通用查询接口,并向应用程序开发人员提供 DNS 查询解析接口。 与许多 DNS 函数一样,DnsQuery 函数类型以多种形式实现,以促进不同的字符编码。 根据涉及的字符编码,使用以下函数之一:
- DnsQuery_A(用于 ANSI 编码)
- DnsQuery_W(用于 Unicode 编码)
- DnsQuery_UTF8 (对于 UTF-8 编码)
语法
DNS_STATUS DnsQuery_A(
[in] PCSTR pszName,
[in] WORD wType,
[in] DWORD Options,
[in, out, optional] PVOID pExtra,
[out, optional] PDNS_RECORD *ppQueryResults,
[out, optional] PVOID *pReserved
);
参数
[in] pszName
指向表示要查询的 DNS 名称的字符串的指针。
[in] wType
一个表示查询的 DNS 记录类型
[in] Options
一个值,该值包含要在 DNS 查询中使用的 DNS 查询选项 位图。 选项可以组合,所有选项都替代 DNS_QUERY_STANDARD。
[in, out, optional] pExtra
此参数保留以供将来使用,必须设置为 NULL。
[out, optional] ppQueryResults
自选。 指向指向构成响应的 R 列表的指针的指针。 有关详细信息,请参阅“备注”部分。
[out, optional] pReserved
此参数保留以供将来使用,必须设置为 NULL。
返回值
返回成功完成后的成功确认。 否则,返回 Winerror.h 中定义的相应 DNS 特定错误代码。
言论
调用 DnsQuery 函数的应用程序使用完全限定的 DNS 名称和资源记录 (RR) 类型生成查询,并根据所需的服务类型设置查询选项。 设置 DNS_QUERY_STANDARD 选项时,DNS 先使用解析程序缓存,先使用 UDP 进行查询,然后在响应被截断时使用 TCP 重试,并请求服务器代表客户端执行递归解析以解析查询。
应用程序必须使用 DnsRecordListFree 函数释放返回的 RR 集。
如果将 lpstrName 参数设置为 NULL,则 DnsQuery 函数将失败,并出现错误 INVALID_PARAMETER。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | windns.h |
库 | Dnsapi.lib |
DLL | Dnsapi.dll |