Код:
var
AdapterInfo: PIP_ADAPTER_INFO;
Next: PIP_ADAPTER_INFO;
pOutBufLen: ULONG;
ipstats: MIB_IPSTATS;
tcpstats: MIB_TCPSTATS;
begin
pOutBufLen:=0;
if GetAdaptersInfo(nil, @pOutBufLen)=ERROR_BUFFER_OVERFLOW then
begin
AdapterInfo:=GetMemory(pOutBufLen);
try
if GetAdaptersInfo(AdapterInfo, @pOutBufLen)=ERROR_SUCCESS then
begin
Next:=AdapterInfo;
while Next<>nil do
begin
Memo1.Lines.Add('AdapterName: '+Next^.AdapterName);
Memo1.Lines.Add('Description: '+Next^.Description);
Memo1.Lines.Add('IpAddress: '+Next^.IpAddressList.IpAddress);
Memo1.Lines.Add('');
Next:=Next^.Next;
end;
end;
finally
FreeMemory(AdapterInfo);
end;
end else ShowMessage(SysErrorMessage(GetLastError));
end;
только что проверил, работает.