1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <winsock2.h>
4 #include <iphlpapi.h>
5 
6 int main( int argc, char **argv ) {
7   ULONG OutBufLen = 0;
8   PFIXED_INFO pFixedInfo;
9   PIP_ADDR_STRING Addr;
10 
11   GetNetworkParams(NULL, &OutBufLen);
12   pFixedInfo = malloc(OutBufLen);
13   if (!pFixedInfo) {
14     printf( "Failed to alloc %d bytes.\n", (int)OutBufLen );
15     return 1;
16   }
17 
18   printf( "%d Bytes allocated\n", (int)OutBufLen );
19 
20   GetNetworkParams(pFixedInfo,&OutBufLen);
21 
22   for( Addr = &pFixedInfo->DnsServerList;
23        Addr;
24        Addr = Addr->Next ) {
25     printf( "%c%s\n",
26 	    Addr == pFixedInfo->CurrentDnsServer ? '*' : ' ',
27 	    Addr->IpAddress.String );
28   }
29 
30   free( pFixedInfo );
31   return 0;
32 }
33