trexxet
GetHostByName() - возвращает целый набор данных о компьютере. Из него нас интересует только одно поле:
h_addr_list - список IP-адресов присвоеных компьютеру. Это специфический для винды тип списка массивов байт - двойной указатель, где отдельные значения отделены друг от друга символом NULL (NIL), а заканчивается список двойным NULL, поэтому и разыменовывается он так интересно:
PInAddr(P.h_addr_list^)^
т.е. сначала берётся значение из указателя на список и приводится к типу PInAddr, а потом ещё раз берётся значение из указателя на PInAddr.