There's one problem in serial communication when operlap is used and there is only one thread: In ReadFileEx there is a call to NtResetEvent which returns garbage if there are no threads. This causes the ReadFileEx to return immediately. I haven't tracked down the reason for the garbage result. But omitting this call in a single threaded app using serial communication made the application I used to proceed much further. Dominik -- Dominik Strasser | Phone: +49 89 636-43691 SIEMENS AG | Fax: +49 89 636-42284 CT SE 4 | E-Mail:Dominik.Strasser@mchp.siemens.de Otto-Hahn-Ring 6 | D-81739 Muenchen | Room: 53-263