Почему в место данных в Windows XP выдает 
Код | procedure TForm1.Button1Click(Sender: TObject); var Adapters, Adapter: PIP_ADAPTER_INFO; Size, Size2: ULONG; IpAddrString: PIP_ADDR_STRING; GatewayString: PIP_ADDR_STRING; DnsServerString: PIP_ADDR_STRING; pPerAdapterInfo: PIP_PER_ADAPTER_INFO; i: integer; begin Size := 0; if GetAdaptersInfo(nil, Size) <> ERROR_BUFFER_OVERFLOW then Exit; Adapters := AllocMem(Size); try if GetAdaptersInfo(Adapters, Size) = 0 then begin Adapter := Adapters; while Adapter <> nil do begin Memo1.Lines.Add(pChar(@Adapter^.AdapterName) + '---' + pChar(@Adapter^.Description));
Memo1.Lines.Add(' ' + 'Elenco Indirizzi IP:'); IpAddrString := @Adapter^.IpAddressList; while IpAddrString <> nil do begin Memo1.Lines.Add(' ' + ' ' + (IpAddrString^.IpAddress.S) + '---' + (IpAddrString^.IpMask.S)); IpAddrString := IpAddrString^.Next; end;
Memo1.Lines.Add(' ' + 'Elenco Gateways:'); GatewayString := @Adapter^.GatewayList; while GatewayString <> nil do begin Memo1.Lines.Add(' ' + ' ' + (GatewayString^.IpAddress.S)); GatewayString := GatewayString^.Next; end;
Size2 := 0; if GetPerAdapterInfo(Adapter^.Index, nil, Size2) <> ERROR_BUFFER_OVERFLOW then Exit; pPerAdapterInfo := AllocMem(Size2); GetPerAdapterInfo(Adapter^.Index, pPerAdapterInfo, Size2);
Memo1.Lines.Add(' ' + 'Elenco Server DNS:'); DnsServerString := @pPerAdapterInfo^.DnsServerList; while DnsServerString <> nil do begin Memo1.Lines.Add(' ' + ' ' + (DnsServerString^.IpAddress.S)); DnsServerString := DnsServerString^.Next; end;
Adapter := Adapter^.Next; end; end; finally FreeMem(Adapters); FreeMem(pPerAdapterInfo); end;
|
|