*!* typedef struct _IP_ADAPTER_ADDRESSES { *!* union { *!* ULONGLONG Alignment; 0:8 *!* struct { *!* ULONG Length; *!* DWORD IfIndex; *!* }; *!* }; *!* struct _IP_ADAPTER_ADDRESSES* Next; *!* PCHAR AdapterName; *!* PIP_ADAPTER_UNICAST_ADDRESS FirstUnicastAddress; *!* PIP_ADAPTER_ANYCAST_ADDRESS FirstAnycastAddress; *!* PIP_ADAPTER_MULTICAST_ADDRESS FirstMulticastAddress; *!* PIP_ADAPTER_DNS_SERVER_ADDRESS FirstDnsServerAddress; *!* PWCHAR DnsSuffix; *!* PWCHAR Description; *!* PWCHAR FriendlyName; *!* BYTE PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH]; *!* DWORD PhysicalAddressLength; *!* DWORD Flags; *!* DWORD Mtu; *!* DWORD IfType; *!* IF_OPER_STATUS OperStatus; *!* DWORD Ipv6IfIndex; *!* DWORD ZoneIndices[16]; *!* PIP_ADAPTER_PREFIX FirstPrefix; *!* } IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;From what I can work out bytes 8-11 ,12-15,16-19 & 20-23 point to IP Address Structures, am I right? And how to I read those structures?