Hallo zusammen,
ich schreibe gerade ein Python-Skript für den IOW24DG.
Dabei gibt es ein Problem, wenn das Python-Skript beendet wird bevor der gültige Handle auf den Dongle geschlossen wurde.
Dann wird beim nächsten Skriptdurchlauf gar kein Dongle mehr gefunden, d.h. IowKitOpenDevice() liefert eine 0 zurück.
Wie kann ich nun die Ressource, die vermutlich noch irgendwo im System belegt ist, wieder freigeben?
Um IowKitCloseDevice() aufrufen zu können, brauche ich ja zwingend einen Handle, den ich nun nicht mehr bekomme.
Im Moment hilft bei mir nur ein Neustart des Rechners.
Gibt es eine andere Lösung um pauschal alle ungeschlossenen Ressourcen wieder freizugeben?
IOW24DG - Schliessen von nicht freigegebenen Ressourcen
Moderator: Guido Körber
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen
Hallo,
Die DLL, bzw. die API läuft als Task/Prozess weiter, solange kein IowKitCloseDevice() aufgerufen wird. Man könnte schauen ob der Prozess noch aktiv ist und diesen dann abschießen.
Leider bin ich in Python nicht sehr bewandert und weiß nicht ob es dort eine sauberere Lösung gibt.
Die DLL, bzw. die API läuft als Task/Prozess weiter, solange kein IowKitCloseDevice() aufgerufen wird. Man könnte schauen ob der Prozess noch aktiv ist und diesen dann abschießen.
Leider bin ich in Python nicht sehr bewandert und weiß nicht ob es dort eine sauberere Lösung gibt.
Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen
Wie heißt denn der Prozess im Windows Task Manager?
Ich konnte dort keinen Prozess finden, den ich mit der API in Verbindung bringen konnte.
Ich konnte dort keinen Prozess finden, den ich mit der API in Verbindung bringen konnte.
- Christoph Jung
- Posts: 670
- Joined: Sun Oct 08, 2006 3:43 pm
- Location: Germany / Berlin
- Contact:
Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen
Bei normalen .exe Anwendungen ist diese meist noch aktiv als Prozess im Taskmanager zu finden. Ich weiß nicht wie das bei Python ist, da man ja hier Skripte schreibt, die dann von der Python-Umgebung ausgeführt werden.
Evtl. einmal schauen ob Python noch läuft und das neustarten.
Evtl. einmal schauen ob Python noch läuft und das neustarten.