Toon posts:

[Delphi] IP Helper API

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zoek naar een manier om wat te doen met netwerkgegevens en wat simpele functies uit te voeren, zoals het releasen/renewen van een IP adres.

De methode die mij het beste lijkt is gebruik maken van de IP Helper API, deze wordt beschreven op MSDN, namelijk hier: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tcpip/ipover_3gvm.asp

De functie die ik dan zou willen gebruiken is IpReleaseAddress, waarover hier meer info staat: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tcpip/tcpip_40xf.asp

Nu heb ik voor Delphi, want daar moet het allemaal in gedaan worden, een vertaling van de C header files van de IP Helper API gevonden op de Delphi JEDI-site. Voor meer informatie daarover, zie: http://www.delphi-jedi.org/Jedi:APILIBRARY:66475

Op die site staat de link naar de IP Helper API voor Delphi, en in deze zipfile: ftp://delphi-jedi.org/api/IPHlpAPI.zip zul je keurig alle source en zelfs een demoprogramma vinden. Met dit programma kun je zelf alle functies al testen, zelfs het releasen/renewen van een ip-adres lijkt er mee te kunnen.

Maar dan doet zich een probleem voor, wanneer ik dit demoprogramma heb gecompileerd, en uitvoer krijg ik bij het releasen van mijn ip adres een EOSError-exception. Ik draai Windows XP Pro, dus de IP Helper API is gewoon aanwezig, dat blijkt ook uit het feit dat ik de statistieken gewoon op kan vragen.

Heeft iemand ervaring met deze methode, of weet iemand misschien zelfs een andere (betere?) methode om een ip-adres te releasen/renewen.

Als het echt niet anders kan moet ik maar een soort wrapper maken die via de shell ipconfig /release of winipcfg /release uitvoert zodat de gebruiker er niets van merkt (op het scherm dan).