检索DNScaching中的内容

Windows中,是否有一个API来检索DNScaching的内容。 我的一个学院问我这个问题,但到目前为止,我已经在MSDN上search和searchnetworking,但我无法find任何有关这方面的信息。 他目前的解决scheme是parsingipconfig / displaydns的输出,但我相信有更好的方法来做到这一点。 ipconfig如何读取caching中的内容呢?

使用DNS_QUERY_NO_WIRE_QUERY查询选项调用DnsQuery函数,可以查找缓存中的特定条目。 这可能就足够了,具体取决于你想要做什么。 似乎没有任何记载的方式来枚举条目。

看着ipconfig.exe它似乎使用了几个未公开的函数,特别是DnsGetCacheDataTable。 一个谷歌搜索这个函数名称产生这个代码似乎工作,除了一行需要纠正, 将typedef更改为:

typedef int(WINAPI *DNS_GET_CACHE_DATA_TABLE)(PDNSCACHEENTRY);