> For the complete documentation index, see [llms.txt](https://malwaresourcecode.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://malwaresourcecode.com/home/networking/dnsgetdomainnameipv4addressasstring.md).

# DnsGetDomainNameIPv4AddressAsString

```
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;
}
```
