Files
vxunderground-VX-API/VX-API/DnsGetDomainNameIPv4AddressAsString.cpp
vxunderground 5ad9483048 2.0.364
2.0.364
2022-11-05 09:45:41 -05:00

33 lines
1013 B
C++

#include "Win32Helper.h"
DWORD DnsGetDomainNameIPv4AddressAsStringW(_In_ PWCHAR DomainName, _Inout_ PWCHAR IPv4IPAddress)
{
DNS_STATUS Status = ERROR_SUCCESS;
PDNS_RECORD DnsRecord = NULL;
Status = DnsQuery_W(DomainName, DNS_TYPE_A, DNS_QUERY_BYPASS_CACHE, NULL, &DnsRecord, NULL);
if (DnsRecord && DnsRecord->Data.A.IpAddress != 0)
ConvertIPv4IpAddressUnsignedLongToStringW(DnsRecord->Data.A.IpAddress, IPv4IPAddress);
if (DnsRecord)
DnsRecordListFree(DnsRecord, DnsFreeRecordListDeep);
return Status;
}
DWORD DnsGetDomainNameIPv4AddressAsStringA(_In_ PCHAR DomainName, _Inout_ PCHAR IPv4IPAddress)
{
DNS_STATUS Status = ERROR_SUCCESS;
PDNS_RECORD DnsRecord = NULL;
Status = DnsQuery_A(DomainName, DNS_TYPE_A, DNS_QUERY_BYPASS_CACHE, NULL, &DnsRecord, NULL);
if (DnsRecord && DnsRecord->Data.A.IpAddress != 0)
ConvertIPv4IpAddressUnsignedLongToStringA(DnsRecord->Data.A.IpAddress, IPv4IPAddress);
if (DnsRecord)
DnsRecordListFree(DnsRecord, DnsFreeRecordListDeep);
return Status;
}