Einzelnen Beitrag anzeigen

Guntram

Registriert seit: 30. Jan 2012
5 Beiträge
 
#1

Hinzufügen von statischen IP-Routen

  Alt 30. Jan 2012, 14:32
Hallo zusammen,
ich bin gerade dabei ein Programm zu schreiben, in dem ich unter Anderem eine Lösung zum setzen statischer IP-Routen realisieren muss. Bisher habe ich einfach einen externen Aufruf des "ROUTE ADD" Konsolenbefehls benutzt, möchte nun aber auf die Funktionalität der WinAPI umsteigen. Die passende Anweisung hatte ich auch gleich gefunden, zusammen mit einer fertigen Implementierung in Delphi, allerdings schaffe ich es einfach nicht eine Route zu setzen. Ich habe inzwischen so ziemlich jede Wertekombination der benötigten Parameter durchgespielt, erhalte als Ergebnis der Funktion jedoch immer nur Fehler 87 ("The parameter is incorrect"). Hoffe jemand von euch kann mir beim parametrieren des MIB_IPFORWARDROW Records helfen.

Vielen Dank im Voraus!

Delphi-Quellcode:
procedure RouteTest;
var ipRoute: MIB_IPFORWARDROW;
var result: DWORD;
begin
  ipRoute.dwForwardDest := inet_addr('193.100.133.5');
  ipRoute.dwForwardMask := inet_addr('255.255.255.255');
  ipRoute.dwForwardPolicy := 0;
  ipRoute.dwForwardNextHop := inet_addr('198.19.0.11');
  ipRoute.dwForwardNextHopAS := 0;
  ipRoute.dwForwardIfIndex := 1;
  ipRoute.dwForwardType := 3;
  ipRoute.dwForwardProto := 3;
  ipRoute.dwForwardAge := 86400000;
  ipRoute.dwForwardMetric1 := 10;
  ipRoute.dwForwardMetric2 := 0;
  ipRoute.dwForwardMetric3 := 0;
  ipRoute.dwForwardMetric4 := 0;
  ipRoute.dwForwardMetric5 := 0;

  result := CreateIpForwardEntry(ipRoute);

  if result <> 0 then
  begin
    ShowMessage(SysErrorMessage(result));
  end;
end;

Geändert von Guntram (30. Jan 2012 um 15:37 Uhr) Grund: Quellcode angepasst
  Mit Zitat antworten Zitat