uses winsock function IPAddrToName(IPAddr : String): String; 
var 
SockAddrIn: TSockAddrIn; 
HostEnt: PHostEnt; 
WSAData: TWSAData; 
begin 
WSAStartup($101, WSAData); 
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); 
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); 
if HostEnt<>nil then result:=StrPas(Hostent^.h_name) else result:=''; 
以上代码中的TSOCKADDRIN,phostent,twsadata是啥意思如何用请大家帮忙解释一下