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;