Pepe schrieb:
> Da erscheint mir - wenn ich es
> richtig verstanden habe - Overlapped I/O nicht das Richtige.
Genauso funktioniert das aber unter Windows. Normale Win32-C-Programme
kennen erstmal keine "Callbacks", "Events" oder "Messages". Stattdessen
brauchst du in der main()-Funktion eine main-Schleife, die das Win32-API
wiederholt nach eingetretenen Ereignissen abfragt; das geht über die
WaitForMultipleObjects-Funktion. Diese kehrt zurück, sobald etwas
passiert ist. Dies gilt z.B. für GUI-Ereignisse (Mausklicks, Fenster
geschlossen), kann aber auch für I/O genutzt werden, indem man eben
Overlapped I/O nutzt, sodass die Funktion auch zurückkehrt, wenn z.B.
per USB Daten ausgetauscht wurden. Frameworks wie MFC kapseln das und
rufen dir nach der Rückkehr direkt eine Funktion ("Callback") auf, was
die Sache vereinfacht, aber das Grundprinzip nicht verändert.
Wie behandelt deine Anwendung denn bisher asynchrone
Ereignisse/Callbacks? Höchstwahrscheinlich sowieso (indirekt) über
WaitForMultipleObjects. Das ganze ist aber wie gesagt stark vom bis
jetzt nicht genannten Treiber abhängig.