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