在 DNSAPI 中找不到 DNS 函数

DNS functions not found in DNSAPI

我在开发应用程序时遇到问题,即通过 mdns 浏览本地网络中的设备。在 windows 7 下,我使用了 apple 的 bonjour api,一切都很棒。将 win7 更新到 win10 后,bonjour 仍然可以找到设备,但无法解析与它们的连接。我找到了 Windows 10 微软用 WINAPI 制作的内部解决方案,我发现:https://docs.microsoft.com/en-us/windows/win32/api/windns/nf-windns-dnsservicebrowse

完整的 DNS 功能,如 'DnsServiceBrowse' 等。但我无法将它们纳入 "windns.h" header 中,就像在文档中指定的那样。即使在 dnsapi.dll 中,我也找不到这些函数的任何符号。我在 visual studio 2017 下使用 SDK 10.0.17763.0。我的 windows 10 版本是 1903。我错过了什么吗?

如果使用 visual studio,您是否确定您的项目实际使用的是您认为正在使用的 SDK 版本?默认项目设置使用找到的最早的 SDK。

该设置位于项目属性 window 的常规页面下(项目 -> 属性,常规 -> Windows SDK 版本)。

最晚位于Windows SDK 10.0.18362.0

问题已解决,bonjour版本不行只需要重新安装bonjour就可以了,in build windows api的解决方法是使用SDK 10.0.18362.0 或更高版本。但是 visual 2017 安装程序没有列表中的 SDK,您必须自己下载它,指定的 SDK 自 VS 2019 起可用(来自安装程序资源) 感谢 Drake Wu 的帮助!