Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Hinzufügen von statischen IP-Routen (https://www.delphipraxis.net/166101-hinzufuegen-von-statischen-ip-routen.html)

Guntram 30. Jan 2012 13:32

Hinzufügen von statischen IP-Routen
 
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;

Luckie 30. Jan 2012 13:38

AW: Hinzufügen von statischen IP-Routen
 
Und wird result und LResult zugewiesen?

Guntram 30. Jan 2012 13:58

AW: Hinzufügen von statischen IP-Routen
 
Zitat:

Zitat von Luckie (Beitrag 1148284)
Und wird result und LResult zugewiesen?

Hoppla, kleiner Kopierfehler. Hab es eben bereinigt.

Luckie 30. Jan 2012 14:14

AW: Hinzufügen von statischen IP-Routen
 
Dir ist schon klar, dass result immer noch nichts zugewiesen wird? Und da es nicht initialisiert ist, steht da irgendwas drin.

Guntram 30. Jan 2012 14:41

AW: Hinzufügen von statischen IP-Routen
 
Zitat:

Zitat von Luckie (Beitrag 1148324)
Dir ist schon klar, dass result immer noch nichts zugewiesen wird? Und da es nicht initialisiert ist, steht da irgendwas drin.

Oh, das ist ja mehr als peinlich. Beim schnellen schreiben der RouteTest Prozedur für diesen Thread ist ausgerechnet der relevante Funktionsaufruf unter den Tisch gefallen. Quellcode wurde korrigiert, in meinem Programm ist der Aufruf natürlich enthalten.

Luckie 30. Jan 2012 14:47

AW: Hinzufügen von statischen IP-Routen
 
Doku schon gelesen: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

DeddyH 30. Jan 2012 14:48

AW: Hinzufügen von statischen IP-Routen
 
Die hat er oben sogar verlinkt.

Luckie 30. Jan 2012 14:54

AW: Hinzufügen von statischen IP-Routen
 
Na ja, das heißt ja nicht, dass sie auch komplett gelesen wurde. ;)

Klaus01 30. Jan 2012 15:07

AW: Hinzufügen von statischen IP-Routen
 
.. da ipRoute ein Pointer auf einen Speicherbereich ist, sollte
da nicht irgendwo auch Speicher angefordert werden?

Oder liege ich total falsch?

Grüße
Klaus

DeddyH 30. Jan 2012 15:19

AW: Hinzufügen von statischen IP-Routen
 
Bei den Metrics-Feldern habe ich gerade gelesen:
Zitat:

If this metric is not used, its value should be set to -1
Im Beispiel sind sie aber auf 0 gesetzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz