1 #include <windows.h> 2 #include <stdio.h> 3 #include <winerror.h> 4 #include <windns.h> 5 #include <assert.h> 6 7 int main( int argc, char **argv ) { 8 PDNS_RECORD QueryReply, AddrResponse; 9 DWORD Addr; 10 11 assert (DnsQuery ("www.reactos.com", DNS_TYPE_A, DNS_QUERY_STANDARD, 12 NULL, &QueryReply, NULL) == ERROR_SUCCESS); 13 AddrResponse = QueryReply; 14 while( AddrResponse ) { 15 if( AddrResponse->wType == DNS_TYPE_A ) { 16 Addr = ntohl( AddrResponse->Data.A.IpAddress ); 17 printf( "www.reactos.com == %d.%d.%d.%d\n", 18 (int)(Addr >> 24) & 0xff, 19 (int)(Addr >> 16) & 0xff, 20 (int)(Addr >> 8) & 0xff, 21 (int)Addr & 0xff ); 22 } 23 AddrResponse = AddrResponse->pNext; 24 } 25 DnsRecordListFree( QueryReply, DnsFreeRecordList ); 26 27 return 0; 28 } 29