MFC 获取域名TXT记录内容

#include <WinDns.h>

void GetTxtRecord(const std::string& domain) {

DNS_RECORD* pRecord = nullptr;

DWORD err = DnsQuery_UTF8(domain.c_str(), DNS_TYPE_TEXT, DNS_QUERY_STANDARD, nullptr, &pRecord, nullptr);

if (err == ERROR_SUCCESS) {

DNS_RECORD* current = pRecord;

while (current != nullptr) {

if (current->wType == DNS_TYPE_TEXT) {

DNS_TXT_DATAW* txtData = (DNS_TXT_DATAW*)&current->Data.Txt;

for (ULONG i = 0; i < txtData->dwStringCount; i++) {

CStringA str = (LPCSTR)txtData->pStringArrayi;

TRACE(_T("%s\n"), txtData->pStringArrayi);

std::wcout << txtData->pStringArrayi << std::endl;

}

}

current = current->pNext;

}

DnsRecordListFree(pRecord, DnsFreeRecordList);

}

else {

std::cerr << "Error querying DNS: " << err << std::endl;

}

}

相关推荐
zmzb01032 小时前
C++课后习题训练记录Day157
开发语言·c++
从零开始的代码生活_5 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
大彼方..6 小时前
C++ STL Vector 深度剖析:从内存管理到性能优化
开发语言·c++
炸薯条!6 小时前
从零开始学C++ (内存管理)
java·jvm·c++
cpp_25018 小时前
P6625 [省选联考 2020 B 卷] 卡牌游戏
数据结构·c++·算法·前缀和·贪心·洛谷题解·省选
旖-旎11 小时前
《LeetCode 416 分割等和子集》
c++·算法·leetcode·动态规划·背包问题
Mortalbreeze11 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++
郝学胜-神的一滴12 小时前
中级OpenGL教程 020:巧用数组与循环实现多点点光源渲染,告别冗余代码重构方案
c++·unity·游戏引擎·godot·图形渲染·unreal
zmzb010312 小时前
C++课后习题训练记录Day160
开发语言·c++
沫璃染墨12 小时前
现代C++⊂C++11篇(一)列表初始化全解 & std::initializer_list
开发语言·c++