das Eventding wirst Du umbauen müssen, denn Du willst ja auf mehrere Events reagieren und nicht nur auf eines, oder? Momentan kannst Du ja entweder auf RI oder auf ankommende Zeichen triggern, und wenn ich Dich richtig verstanden habe, willst Du ja beides. Da müsste der Flagwert also $101 sein. Desweiteren solltest Du bei den ganzen
API-Aufrufen IMMER den Rückgabewert checken. Wenn der (bei BOOL APIs) nicht TRUE ist, dann mit GetLastError mehr Infos holen. So lässt sich der Fehler einkreisen. Zu allerletzt noch eine Idee... Es gibt Hardware die den RI gar nicht angeschlossen hat. Ist zwar ne schlechte Idee, aber schon zu meinen Mailboxzeiten gab es z.B. auch Modems die nur ein RING schickten statt den Pin zu ziehen. Teilweise wars auch nach Gusto konfigurierbar.
Jedenfalls lässt Deine Konstruktion da offen ob schon der Aufruf von GetCommModemStatus fehlschlug oder nur die Bits alle null waren.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet.
" (Henning Richter)