WaitCommEvent abbrechen
-
Hallo,
Ich habe ein Problem, zu dem ich jetzt schon seit Stunden keine Lösung finde:
Ich habe ein programm dass auf den ComPort lauscht. Dazu habe ich den ComPort mit CreateFile geöffnet (ohne Overlapped - weil ich das mit overlapped nicht so ganz verstehe) und warte mit WaitCommEvent auf eingehende Nachrichten. Das klappt auch alles so gut.
ABER wenn ich das lauschen auf den ComPort beenden will, hängt der Thread einfach in WaitCommEvent fest, solange keine neuen Daten eintreffen. Gibt es irgendeine Methode, dass ich den Thread dazubringen kann, aus der Funktion wieder raus zu kommen?
Gruß
Baxitus
-
Ich glaube dieser Thread passt besser ins WinAPI-Forum.
Ich denke vom Namen her sollte sich CancelSynchronousIo gut anhören. Das musst du aber von einem anderen Thread ausführen.
-
Dann tut es mir leid, dass ich das falsche Forum gewählt habe
Auf CancelSynchronousIo bin ich auch schon gestoßen, aber das gibt es (wenn ich es nicht falsch verstanden habe) nicht auf Win XP... und ein neueres Windows steht mir hier nicht zur verfügung.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du könntest den Thread mit "TerminateThread" einfach "abschießen".
-
"How to cancel WaitCommEvent?": https://groups.google.com/forum/#!topic/microsoft.public.win32.programmer.kernel/WzlsiDrcal4
(wegen den Sonderzeichen im Link wird dieser nicht als URL hier im Forum erkannt)
-
baxitus schrieb:
Gibt es irgendeine Methode, dass ich den Thread dazubringen kann, aus der Funktion wieder raus zu kommen?
Ja.
CancelSynchronousIo
oderOVERLAPPED
IO.Und wenn du beides nicht magst, dann musst du halt aufgeben
-
Versuch es doch einfach mal mit CloseHandle() für den verwendeten ComPort.
-
Nein, versuch es bitte nicht mit
CloseHandle
.@CloseHandle
Wenn man nix sinnvolles beizutragen hat einfach mal die Fresse halten, hm?
-
hustbaer schrieb:
@CloseHandle
Wenn man nix sinnvolles beizutragen hat einfach mal die Fresse halten, hm?Verlange nicht von anderen, was Du selbst nicht leisten kannst!