D
Hm, ne. Den Kommentaren nach zu urteilen ist der folgende der Code, der den Thread blockiert:
// Main wait function. This function will normally block the thread
// until one of nine events occur that require action.
Event = WaitForMultipleObjects(3, port->m_hEventArray, FALSE, INFINITE);
Du könntest zum Beispiel diese Zeile in eine Schleife stecken, die abbricht, wenn ein bestimmtes Event eingetreten ist oder eben die Abbruchvariable gesetzt wird. Dass das funktioniert musst du natürlich den letzten Parameter von INFINITE auf wenige ms setzen.