I got Delphi code, someone might find it useful:
 
procedure TMainFORM.GetAdapterList(List: TStringList);
var
 BufferNT: array[0..8192-1] of WideChar;
 Buffer: array[0..8192-1] of Char absolute BufferNT[0];
 BufferSize: Cardinal;
 I: Integer;
begin
 List.Delimiter := #0;
 if Win32Platform = VER_PLATFORM_WIN32_NT then begin
  BufferSize := SizeOf(BufferNT);
  if PacketGetAdapterNames(@BufferNT,@BufferSize) = False then begin
   raise Exception.Create('Failed to retrieve adapter names');
  end;
  List.DelimitedText := BufferNT;
 end else begin
  BufferSize := SizeOf(Buffer);
  if PacketGetAdapterNames(@Buffer,@BufferSize) = False then begin
   raise Exception.Create('Failed to retrieve adapter names');
  end;
  List.DelimitedText := Buffer;
 end;
 for I:=0 to List.Count-1 do begin
  if List.Strings[I] = '' then List.Delete(I);
 end;
end;
 
 

Reply via email to