Hallo!
Ich habe folgendes Problem: wenn ich einen IST anmelde:
Das Programm läuft einwandfrei, meine Interrupts werden von der ISR an meinen IST weitergegeben - alles wie erwartet.
Wenn ich jedoch das Programm abbreche (Debug Modus beenden od. mit dem Remote Process Viewer Task beenden) OHNE daß mein Programm die Chance hat den IST wieder freizugeben (IOCTL_DIO_RELEASE_SYSINTR), dann wird beim nächsten Programmstart mein IST nicht mehr von der ISR gefeuert, obwohl ich einen neuen dwSysIntr bekomme.
Ich habe dann vor jedem Programmstart den alten dwSysIntr wieder freigegeben, da bei mir für dwSysIntr immer 28 zurückgeliefert wird. Dies funktioniert einwandfrei, auch wenn der IST noch nicht angemeldet wurde.
Jetzt meine Fragen:
- gibt es eine bessere Methode um vor dem Anmelden eines IST festzustellen, ob mit seiner Interrupt ID bereits ein IST verbunden ist?
- kann man vorhersagen welche dwSysIntr ein (IOCTL_DIO_REQUEST_SYSINTR) zurückliefert od. ist dies zufällig?
Vielen Dank!