Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#40

Re: UPnP Router Manager

  Alt 28. Jun 2006, 17:28
Hm, am besten wäre es du könntest ganz auf Hooks verzichten. Falls nicht bietet sich die sogenannte "Side by Side" Technik der DLLs an. Einfach ausgedrückt, du ersetzt die WinSock DLL durch eine eigene die im Grunde nur alle Funktionsaufrufe an die originale DLL weiterleitet. Das ist dann wie ein dynamischer Hook, aber eben "sauber".

Die Überprüfung ob ein COM Objekt allozierbar ist/war erfolgt am besten per try except Block und der Auswertung des HResults.

Die Iteration innerhalb eines Threads ist eine gute Idee. Du solltest aber ohne Synchronisation auskommen können. Dh. dein Thread wird gestartet und sammelt alle Infos in seinen lokalen Feldern. Das OnTerminate Event wird nun benutzt um nach Fertigstellung des Threads diese lokalen Information in den Mainthread deiner Anwendung zu übernehmen. Synchronisation ist immer eine Schwachstelle die zu undurchschaubaren Fehler führt und zusätzlich noch das gesammte System ausbremst. Stells dir einfach so vor das auf der Autobahn Autos fahren. Ein Porsche mit 360 und ein LKW mit 80. Während des Überholvorganges versuchst du nun dich mit dem Porschefahrer zu unterhalten. Das geht nur wenn einer von beiden seine Geschwindigkeit ändert, ergo wartet. Logisch wird der Porsche abbremsen müssen, auf 80km/h und das führt dazu das die Überholspur nun grundsätzlich auf 80 blockiert wird.

Gruß Hagen
  Mit Zitat antworten Zitat