IOW24DG - Schliessen von nicht freigegebenen Ressourcen

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
DietmarS
Posts: 2
Joined: Fri Dec 08, 2017 4:14 pm

IOW24DG - Schliessen von nicht freigegebenen Ressourcen

Post by DietmarS »

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?
User avatar
Christoph Jung
Posts: 670
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen

Post by Christoph Jung »

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.
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter
DietmarS
Posts: 2
Joined: Fri Dec 08, 2017 4:14 pm

Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen

Post by DietmarS »

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.
User avatar
Christoph Jung
Posts: 670
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: IOW24DG - Schliessen von nicht freigegebenen Ressourcen

Post by Christoph Jung »

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.
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter
Post Reply