hmm ... das kann nun natürlich mehrere gründe haben ...
Vielleicht läuft ein programm, das bereits auf Com4 zugreift, oder der
Com-Port ist nicht installiert (siehe im gerätemanager). Es kann alles mögliche sein ... vielleicht mag er auch einfach den namen "Com4" nicht ... du könntest es daher mal mit "\\.\COM4\" probieren. Oder lass einfach mal GENERIC_WRITE weg ... einfach nen bissl rumtesten ...
Interessant könnte vielleicht auch noch GetLastError sein ... im Falle eines schon geöffneten
Com ports krieg ich da nämlich 5 als fehlercode zurück ... was auch immer das bedeutet ...
ciao, Philipp